Thursday, August 7, 2008

Agile and offshore teams

I had an interesting conversation a couple of days ago regarding Agile methodologies, Scrum in particular, and how it can be applied on my current large software development project. I am managing a team of 17 developers, architects, qa, web and database folks on this project in 3 different locations, including 7 developers in India. The person who suggested the use of Scrum based methodology for our next project phase is a very senior developer/architect on my team. I personally like the approach but I don't think it will work for this particular project. Scrum or agile in general assumes certain level of experience and responsibility on a part of developer. It also assumes that people work in smaller teams and normally in a single location. There is no reporting hierarchy as such within an Agile team.

It is common knowledge that when dealing with large outsourcing provider, the client normally gets junior developers (1 to 3 years of experience) to do the actual work. Lack of experience and inability to make important decisions makes it difficult to go agile all the way. In addition, there is at least 2 layers of offshore managers/coordinators/micro managers who watch over the offshore developers. Agile will not work with such structure.

The way I look at it, agile is like having a swat team of highly experienced professionals who can work well together to deliver frequent quality results. Anyone with over 5 years of experience at an offshore company will move to a more managerial position unless they become independent consultants. From what I've seen with large offshore firms, it is impossible to put a team of developers together where each developer has at least 5 years of hands-on experience.

My conclusion is I won't attempt full agile approach when dealing with offshore teams. I will and do use partial agile approach on most of my projects though. I wrote about this in one of my previous posts.

Labels: ,