Companies that switch their development teams to use agile methodologies don't regret the decision, according to a recent Forrester Research Inc. report.
Analyst Liz Barnett says 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, she says.
"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 says 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 says, 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 says, 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 says. Although it's widely used in Europe, she says adoption in the U.S. 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."
However, DSDM has blazed a trail for agile processes, she says.
"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 actually a framework of techniques and approaches that use agile themes such as short incremental iterations, increased team collaboration, and an emphasis on early testing, she says.
"The RUP is especially suited to companies looking for a broad framework to address a variety of project types including agile development." Agile proponents believe that no one process is best for all projects, so it's unlikely that a unified agile process will appear, Barnett says. However, she does expect that the agile community will attempt to use a standardized vocabulary.
Barnett rejects a "common misconception" that agile projects don't need project managers. She suggests 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 says. Warning signs that an agile project is being incorrectly deployed include surprise from managers that teams are not proceeding according to plan, complain that the process is failing when a project doesn't succeed, or request sign-off from the customer or management.
Those traditional development concerns don't 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 can't 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 says. Successful adoption of agile techniques requires a "behavioral change" in the organization.
Agile methodologies aren't rigid and tend to be applied differently by individual projects, Barnett says. That makes it difficult to analyze the success of agile projects -- and some companies would rather not publicize their successes -- but customer feedback is impressive, she says.
Barnett expects a standard set of metrics to measure value delivered by agile processes to appear by the end of this year, and sufficient useful data to be available in mid-2005. That will make it easier for companies to make the decision to move to agile processes, she says, but agile processes are already "ready for prime time".
She outlines the first steps for companies wanting to implement agile processes: make a short-list of mandatory changes, starting with implementing short development iterations of 30 days or less; fit agile processes into the existing development framework; extend current project management practices to include agile requirements; tie agile development metrics to existing business metrics; empower agile teams to take ownership of their development plan and delivery; and to bring in outside mentors.
Barnett's paper concludes with an "alternative view", saying her report makes an assumption that support for agile processes from vendors and consultants will improve, and that quantitative metrics will appear that will drive adoption of agile principles. Without these, she says, the growth of agile processes will stall.