Over the last several years, Agile software development has gained in
popularity, thanks to its promises of speeding software projects with a
iterative approach designed to encourage rapid, high-quality
development.
Even though Agile won converts due to being a more self-organizing,
less hierarchical alternative to traditional models like "waterfall"
development, the methodology today can be highly formalized. It often
involves formal approaches to precisely how development teams should
organize, meet and work to which dedicated software development teams
adhere.
That's one reason that even while Agile is growing, there is also a
trend away from following its strict, formalized methodology. New data
from Forrester Research -- in a
follow-up to its first-quarter 2009 study on
development practices -- points to an era where developers are
leveraging only some elements of Agile as opposed to strictly following
all of its formalized dictates.
During a live Webcast sponsored by HP, Forrester Senior Analyst Dave
West noted that a late 2009 study conducted by his firm put Agile in the
top spot for development methodologies currently in use. Forrester found
that 35 percent of the surveyed based of 1,300 developers were using
Agile development. What was surprising to West is what came in second
place.
"This is the worrying stat -- when we asked the 1,300 IT
professionals what is the methodology that most closely reflects what
they are now using, the majority said Agile," West said. "But underneath
that, 31 percent said they don't follow a software methodology at all."
As in turns out, West determined that software development teams
don't see Agile as an ethos but rather as a creed.
"Though Agile is very popular, we're seeing that what developers want
is Agile++." West said. "There isn't just one Agile: 'Agile' is really
the ability to respond to change in the most effective way, considering
the restraints of the environment in which you're working in."
What West stressed is that developers are focused on "agile"
development approaches -- not necessarily "Agile," per se, with all the
strict adherence to accepted methodologies that it entails.
Emphasis on efficiency
In West's view, what agility means is more frequent delivery of
software milestones and builds. That in turn requires more robust build
and deployment processes and more frequent testing, as well as more
flexible deployment environments.
"Quality and deployment processes really need to be on steroids,"
West said. "We're talking about really efficient build and test
processes."
West's views on agile development practices being adopted in lieu of
strict adherence to Agile is one shared by Timothy Perry, CTO for
retirement and protection at Genworth Financial. During the Webcast,
Perry noted that his company's IT leadership is interested only in
better software that is delivered more quickly.
"From a leadership standpoint, it's about being able to deliver on
time and on budget and as fast as possible," Perry said. "A lot of the
concepts from Agile appear to be helping us and that's what we're trying
to introduce to our teams."
West added that he doesn't expect that a strict adoption of Agile
methodologies will ever completely dominate the development landscape.
He does expect that, over time, increasing amounts of development
process will become more Agile-like.
"What we're finding is that organizations are adopting the practices
of 'agility' to improve the way they engineer software," West said.