For the last four years we have operated a lab in Bangalore India to support our software development projects in North America and Europe. Traditional approaches to offshore development are based on plan-driven methodologies, but we are very firmly in the agile camp. Here I discuss our experiences and lessons learned in doing offshore agile development. So far we've discovered that we can make it work, although the benefits are still open to debate.
Traditionally, software development projects started out with an idea and then tried to identify all the requirements needed to make that idea "complete" for the intended users. This long process was expensive (and sometimes ended in a “no-go” decision only after a great deal of money was spent) and did not place enough emphasis on value returned for the investment made. Agile has a tool that can help organizations re-focus on return on investment: value-driven user stories. Value-driven user stories are created specifically to link features with their users and the value the features have for their users. They can be created from a list of high-level features or a list of values and users centered on a general idea.
The authors identify their perceived limitations in agile processes based on an analysis of published accounts. This is mostly an analytical study, based on the authors' experiences on a few XP projects.
An interesting reflection on the Agile phenomena trying to identify the multiple aspects of the agile culture and to separate the hype from the important concepts. It recommends to look at the agile practices with a more cooler head and always consider the context where they are applied.
In modern software development there are two trends that allow people to get more for less: agile development and offshore outsourcing. Agile processes are traditionally implemented in one site, where customers and developers can meet face-to-face and communicate easily. Offshore development projects, on the other hand, are traditionally implemented as fixed-bid consulting agreements, executed either using waterfall processes or at best in iterative way. However, it is possible to use agile software development process when working with offshore teams. Our successful projects have employed a mix of agile techniques and organizational models.
This compilation of three brief articles by IBM Rational thought leaders describes how the IBM Rational Unified Process, or RUP, is not only "agile" in its own right, but also encompasses much of the guidance teams need to scale agile techniques successfully.