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