The Agile phenomenon is 10 years old this week. To celebrate its birthday, many Agile luminaries -- including five signatories of the Agile Manifesto -- gathered to celebrate, reflect upon software development, and muse about the future of Agile.
The theme of the event was "solved, solvable and unsolvable problems," said Dr. Alistair Cockburn, one of the manifesto signatories and a well-known author and consultant.
The challenge for participants of the event was to address the following questions:
- What problems in software or product development have we solved?
- What problems are fundamentally unsolvable?
- What problems can we sensibly address -- problems that people can mitigate either with money, effort or innovation?
Problems Agile Software Development Can and Can't Solve
"One of the big problems that Agile has solved has been to make software developers as agile, if not more agile than the business people they work with," said Cockburn. "Before Agile, developers tended to be slower in completing projects than the business people -- but now, they've caught up and in some cases are faster than their business colleagues."
Another problem solved was delivering complex projects with millions of lines of code.
"When I started Rally back in 2002, I saw a factor of four increase in value from the delivery of Agile methods brought to a small team, and I bet that we could bring this same power to large corporations," said Ryan Martens, Rally's founder and CTO. "Ten years later, we have proven that Agile and lean methods can scale to coordinate very large programs."
Under the "solvable" banner, Martens and others pointed to Agile's ability to solve strategic challenges beyond development ones.
"Rally is helping our enterprise customers dramatically improve their time to market by scaling Agile methods outside of development," said Martens. "Over the last year, we've collaborated with our largest customers to define a new product for keeping development aligned with their portfolio decisions," he said.
Rally's new product, code-named "Project Stratus," evolved from collaborating with 10 Rally customers who are extending Agile practices throughout their planning levels to respond faster to changing business priorities.
Project Stratus focuses on the project management office (PMO) level by:
- keeping development aligned with strategic business priorities;
- visualizing and managing projects and large features across the entire value stream;
- analyzing the roadmap to optimize delivery of value while minimizing risk; and
- strengthening feedback loops between the PMO and development teams.
A clear unsolvable is people and organizations that abuse or misuse Agile, expecting it to achieve goals it wasn't intended to achieve.
"This will never change," said Cockburn. "Some people will always misuse and misunderstand Agile."
Problems Agile Software Development Can Sensibly Address
"I think we need to start having more of a systems thinking perspective to scaling Agile development," said Michael DePaoli, Agile Coach and Product Consultant at Atlanta-based VersionOne, a provider of Agile management tools.
"The issues in this area are usually not related to process and tools of the Agile space itself but rather human, organizational and change dynamics in the application of Agile," said DePaoli.
He added that the Agile community needs to involve people who think beyond the current application of the basic tenets of the Agile Manifesto and want to apply them to the challenge of Agile at scale -- or, Agile in the real world.
"For instance, perhaps people could apply a change framework such as the one presented in the Heath Brothers's book Switch to the problem of scaling Agile," said DePaoli.
Another Prosperous Decade Ahead for Agile Software Development?
The future looks very bright for Agile, the experts agreed.
"Agile will become part of sales and marketing, research, and other disciplines within the corporation," said Cockburn.
Martens noted that Agile could solve the rift between development and operations teams as it has the processes and tools to address the wastefulness of most software.
Citing a Standish survey that "only 20 percent of all delivered software features are often or always used," Martens said Agile can help companies do more with less by conceptually cutting 80 percent of their efforts and still delivering high-value essentials.
"If you do not completely elaborate, build, test or document these features, you save once," said Martens. "But you also save again on future maintenance costs, training users, bug fixing, and the regressing these features would have required. This is clearly the biggest lever for cutting software development costs if you use Agile."