Agile Software Development

606-agile.jpg

In a March 2012 article from Computerworld, the author asks, “Is your outsourcer agile enough?” She makes the case that it is rare for an outsourcer to be successful in delivering agile development. We believe that outsourcing agile development can not only be successful but in some cases more beneficial to a company.

Many companies feel that it is more helpful and effective when all developers are in the office because it is easy to connect, ask questions and adapt. In the short term, this is a great approach. However, if the bulk of work is done this way, there is limited written documentation and communication retained. If a developer is not present in the room during the exchange, he will not be privy to the information that was shared. Even having employees in separate rooms can help move communication from a verbal format to written.

Why is this important?

Written documentation or requirements are important in planning the next stage of activities. Often, a team of developers are brought into a project after the project begins. If a majority of work was not documented and is only passed on verbally, all of the transmission of knowledge about the project must again be passed on verbally. Inevitably pieces will get lost in transmission, much like the children’s game “Telephone.” As information passes down each consecutive link, it can get distorted, misinterpreted or omitted.

Written documentation provides a road map of the project. A team working together in the same room may not develop this because they don’t need it – they have each other. If new team members are brought into the circle on a regular basis, and written communication is missing, the existing team members must recycle all of the information to the new team member. The Computerworld article states, “Companies that do outsource agile development will inevitably face tough tradeoffs: They’ll likely have to give up some agile principles, as well as some of the cost savings typically associated with outsourcing.” However, as can be seen in our example, depending on in-house verbal communication, project management can be a big loss of time.

While there may be some challenges that exist with an offshore agile developer, the long term project benefits can end up saving a lot of time and headaches during the project life cycle.