Anecdotally, author and consultant Jim Shore has seen the adoption of agile software development move from the...
innovators and early adopters to the mainstream, and from underground renegade developers to their managers.
"It's a lot easier sell today," said Shore, an early agilist. "There is quite an amount of teams just focused on getting work done."
Indeed the potential benefits of agile methodologies are what prompted Christophe Louvion, CTO of Gorilla Nation, to transition his developers to Scrum just a few short months after he arrived on the job.
"After two weeks my observations showed everyone was only fulfilling about 10% of commitments. They were not aware of this because they were not making official commitments; they just kept working hard. But when we measured, nothing was done, everything was in progress," he said.
Louvion, who has done a lot of agile development at previous jobs, said once developers saw the data, they were receptive to changing methodologies.
"In just two months we've doubled productivity as defined by complete stories, and we're pleasing product owners," he said.
These kinds of results may be why a recent Forrester Research survey found that agile adoption increased 53% year-over-year between 2006 and 2007, about two and a half times faster than between 2005 and 2006.
"At this point everyone wants to know about Agile," said Forrester senior analyst Carey Schwaber. "If it's not their lead question, it's a subservient question. It has tipped into the mainstream, and people know they need to take a look at it."
According to Scott Ambler, practice leader for agile development at IBM and author of several books on software processes, including Agile, "Agile takes a lot of pressure away. When you work closely with stakeholders and deliver working software, you can see if something you've built meets real needs. You can control the budget. We're seeing higher levels of productivity, quality and stakeholder satisfaction. These are all good things."
Larger companies taking the lead
While Agile has its roots in small, co-located teams, Forrester found that larger enterprises are more likely to adopt it. According to the survey, Global 2000 companies (20,000-plus employees) have the highest adoption rate at 34%, vs. companies with 1,000 to 4,999 employees at 21% and companies with 5,000 to 19,999 employees at 28%. Among industries, Forrester said the financial services industry continues to lead in enterprise adoption of agile processes.
Schwaber said the finding that larger companies are more likely to use agile methods than smaller ones may be surprising on the face of it.
"But let's remember, small projects happen in big companies. The bigger the company, the more small projects and the more business units they have. The bigger the company, the more opportunity to use Agile," she said. "Also, they're more likely to have multiple methodologies. They probably have two or three, at least. The question is, do we allow another in the door, not do we stop using the old one?"
While agile development is still more common for small projects, Schwaber said, it is being used successfully for larger projects as well.
"It's not the simplest way to apply Agile," she said. "You need a master in Agile, not Agile 101."
Ambler said Agile does scale, and internal experience at IBM and with IBM customers is proving it. According to IBM, there are approximately 1,000 developers in its internal Agile@IBM community. Approximately 67% of IBM's 500 product teams are adopting one or more agile practices, and more than 40% of IBM's product teams (around 200) are actively moving to employ a full agile methodology.
IBM also uses an agile development process to incorporate user feedback and quickly evolve new generations of Lotus Symphony (Beta 2 took less than two months) rather than taking years to put out major releases. In addition, IBM Rational Asset Manager, IBM Rational Application Developer, IBM's Jazz technology environment and other IBM Rational software delivery technologies are also being developed using Agile.
"Internally we've developed with Agile teams of over 200 people, and the teams are always distributed, so you can apply Agile to complex stuff," Ambler said.
Ambler said adopting agile methodologies for large distributed teams does require some adaptation, such as more modeling upfront, which he acknowledges "goes against the Agile rhetoric." More coordination is also required for larger projects, he said, such as between the project management, architecture and stakeholder teams.
"This becomes more apparent with Agile at scale. But for developers, Agile at scale stays the same -- they're still working with stakeholders, they still do continuous integration and test-driven development," Ambler said. "For the individual developer, it doesn't change all that much. The extra coordination effort gets more complex, but the same thing is true with traditional [methods]."
Agile adoption slowing?
Ambler does believe that Agile adoption has hit a plateau, based on data he's seen.
"We got through all the low-hanging fruit," he said. "Now we're getting into tougher organizations. Lots of organizations have set up a culture where it's completely opposite Agile, and it will be completely against their religion."
In contrast, Schwaber said Forrester data does not show any slowdown. In fact, the data shows that just one-fourth of enterprises currently use agile processes today, so there is room to grow, she said. She also suggested that use of agile processes may be happening more ad hoc.
"I think it's underreported in our surveys vs. the reality," she said.
Schwaber said often an executive or decision maker may not be aware that agile development is being used, or that the company may not have officially sanctioned it.
While there are more executives on board with agile development than in the past, "it's still not as common as Agile adopted at the ground level," she said.
Schwaber added, "A lot of application development groups are very client-oriented and want to meet business needs as best they can. If people feel like it's a way to get software out the door faster and better, they will use it -- whether they're allowed to do so or not."
Also, proven successes can make for persuasive arguments, Ambler suggested.
"We're seeing higher success rates with Agile, higher quality, better ROI -- that can only happen for so long until even die-hard traditionalists question what's going on," he said.