Companies that switch their development teams to use agile methodologies do not regret their decision, a Forrester Research report claims.
Analyst Liz Barnett said two-thirds of Forrester's customers are using some type of agile process. Although some companies may be inadvertent users of agile methods, they still enjoy the advantages of improving overall efficiency and quality, faster delivery of business value, and higher morale among developers.
"Companies adopting agile processes are happy," says Barnett. "We've seen quite a number of successes and, quite frankly, have yet to meet an agile failure."
The Forrester paper, Adopting Agile Development Processes, suggests how companies can begin adopting agile methodologies. Agile methodologies attempt to solve software quality and delivery problems by concentrating on the development process rather than a prescriptive definition of the finished product.
Barnett said the three most common agile methodologies are XP, DSDM and RUP (extreme programming, the dynamic systems development method, and rational unified process). XP is the best-known agile process, she added, noting that "it suffers from its name in that some companies see it as too extreme for their environments".
XP is actually a highly-disciplined, pragmatic process, Barnett said and, although few companies adopt XP in its entirety - many balk at core XP principles such as pair programming - a large number take XP concepts and add them to other development techniques.
The most recent version of DSDM includes guidelines for using DSDM with XP, Barnett said. Although it is widely used in Europe, adoption in the US has been slower.
"Until there is a stronger consulting base to introduce and support large customers, DSDM's growth in North America will be limited," she said, although she added that DSDM has blazed a trail for agile processes.
"DSDM's core development activities focus on short iterations -two to six weeks], increased customer involvement, and increased developer collaboration … companies using DSDM typically find it to be well accepted by developers and business staff. DSDM really led the way for increased customer involvement in IT projects, and teams can benefit from leveraging DSDM best practices on any type of project."
RUP is a framework of techniques and approaches that use agile themes such as short incremental iterations, increased team collaboration, and an emphasis on early testing.
"The RUP is especially suited to companies looking for a broad framework to address a variety of project types including agile development, " Barnett said, adding that agile proponents believe that no one process is best for all projects, so it is unlikely that a unified agile process will appear. However, she did expect that the agile community will attempt to use a standardised vocabulary.
Barnett rejected a "common misconception" that agile projects do not need project managers, suggesting Scrum as the best example of a management process for agile development.
Just as some companies inadvertently use agile processes, others misunderstand agile principles, Barnett said. Warning signs that an agile project is being deployed incorrectly include surprise from managers that teams are not proceeding according to plan, complain that the process is failing when a project does not succeed, or request sign-off from the customer or management.
Those traditional development concerns do not follow agile thinking, which suggest that development plans will always change, that people rather than plans determine a project's success or failure, and that requirements cannot be reliably specified at the start of a project.
At that point, development teams should either return to more traditional development processes, "conceding that their culture may not be ready for this type of change", or adjust to make use of agile principles, Barnett said. Successful adoption of agile techniques requires a "behavioural change" in the organisation.
Matthew Cooney writes for Computerworld New Zealand Online