Agile Offshore Development (...continued)
I have been trying to soak up a bit more on Agile Software Processes and challenges in an offshoring context. One of the reasons for this is an intellectual curiosity, and of course a professional need to be prepared to address the issues when discussions come up during interactions with client teams.
This said, my views on Agile Offshore development haven’t changed much since my last blog on this a few weeks ago Among all these differences my point of view is clear: I'm sitting on the fence!
I continue to seek out opinions on the topic, especially from practitioners at Infosys and outside. A few viewpoints include the following (and interestingly, most quote Martin Fowler’s original essay on the topic)
Mishkin Berteig, in his blog "Agile Advice" says “For offshore teams, high-speed access to the same work environment as the "onshore" team is critical (for software, this means code base, development environment, test environment, db environment, tools, etc.).” However, he has a strong viewpoint on early stage adoption of Agile projects, stating "If you are early on in adopting agile methods, I strongly recommend that you don't use your offshore resources. If the organization insists on paying for them, then let them sit idle. Yes, that's right: IDLE. Your on-shore team will probably be more productive without them."
David Churchville, in his blog "Are Functional Specs Redundant?" takes a more practical view on adopting Agile Processes in early stages by focusing on Functional Specifications and requirements ….stating “Similarly, if you're using an offshore development team, it's going to be even more important to write down the specifications in detail if you hope to get close to what you want.”
An interesting blog is the “5 stumbling blocks for new corporate agile projects” from Alex Pukinskis where he is clear about the ground reality, stating “Offshoring and outsourcing are, for better or for worse, realities for many organizations. An Agile approach can help significantly with offshore / outsourced projects, but be warned” Pukinskis’ view perhaps echoes my outlook of Agile Development initiatives.
For clients that have already embarked on projects leveraging Agile Software Processes, we -- Managers and Consultants -- need to be in a position to advice them on best-practices and “gotchas” of working with offshore teams, leveraging the right tools – for communication, code management and process management – and more importantly ensuring a buy-in from teams.
Agile Software Development requires teams to be working closely on the software life-cycle, given the short lead times behind gathering requirements, developing and testing the code. This also requires teams to work more closely in ensuring the right handoff of requirements-to-design, design-to-code, code-to-test and test-to-production. The processes and tools of communication that are being leveraged successfully by offshore-onsite development teams can extend to agile development paradigm too. This said, can should be read with a ‘Capital C’ since tools alone will not help in successful offshore execution of an agile projects.



Comments
Hmmmm... this seems a bit dubious given the history of Infosys as well as Tata et al. Agile is meant for speed... and in the light of the lovely billing issues cloud hanging over the major Indian outsourcing firms, a casual slide away from a speed driven agile plan back to a more traditional T&M model, is better for them financially. So I beg to differ with Infosys being able to be objective about this. It's a little too convenient.
Posted by: Nick Danger | February 25, 2009 12:43 AM
Hi Nick
Thanks for your comment.
I wish I were able to comment on the issue of “cloud hanging over the major Indian outsourcing firms” .. I guess each of us has a right to our perspectives.
While I agree that agile literally means speed, in the context of IT application development paradigms, Agile development I am sure you have reviewed technology guru Martin Fowler`s viewpoint on this topic (Using an Agile Software Process with Offshore Development http://martinfowler.com/articles/agileOffshore.html) And in this context, Agile Software Process is a general innovation in the industry and can be leveraged with offshoring.
Though I cannot comment on a vendor being objective about a software paradigm or process, it is generally a decision driven by clients; right?
Posted by: Mohan Babu K | March 12, 2009 1:32 PM