- An organization is already using Agile processes and now wants to leverage the cost/time efficiencies of an offshore team. Agile consultants and skilled staff are expensive (and often hard to find). Leveraging the huge pool of offshore talent – in India and throughout the world – should be possible.
- An organization is using or has been told it must use offshore resources, yet it is frustrated by the waterfall-like hand-offs common to most offshore firms’ processes. Offshore teams just aren’t meeting users’ needs. It takes too long to pull the requirements package together, send it to the offshore team and then get back a big chunk of capability that is either too late or does not deliver what is really necessary. Agile processes are known to address these issues for co-located teams; can Agile processes improve what is delivered by an offshore team?
- An organization has no experience with offshore development or Agile processes and it has met a consulting firm who claims to do both successfully. For those looking to hire an outside firm, is this a silver bullet?
From my own experience
1. First Scenario: The key for success is to build trust. Bringing resources onsite and making them work with the customer (face-to-face) earlier in the project is the key. Also a little bit of time overlap and the offshore team participating in the design discussions will also help. And as the author says, Technology is the key thing. Using IM or any collobaration tools effectively will make the team jell very well and start feeling as a single unit.
2. Second Scenario: Its all the mind game. People are so much used to the waterfall model and may not agree to the benefits of agile principles immediately. I have tried convincing people of using the agile practices and seen projects failing because of not using it. Its all about bringing the culture (having scrum everyday, communicate status everyday, test first development, discuss issues with everyone and share the knowledge). This is what i realized, when i started implementing this. Sharing the knowledge makes lot of difference. Having a repository and adding the tips/tricks or most frequently faced issues will definitely reduce the time. More important thing is Support from the Management. It may not happen right at the first time, but its not impossible.
3. Third Scenario: No Doubt about having the expertise built. People normally misunderstand the concept of Agile and try to implement it. With my personal experience, i have discussed with many people about agile and iterative development and everyone seem to have a different opinion about it. A Proper training will really help improve the process.
It is not something, which is highly impossible. Having proper training and educating the resources and building it in the corporate culture can make things happen.
Obviously what we are going to get out of Agile is "Improved Productivity and Quality output".