tiero - Fotolia
When the Agile Manifesto emerged in 2001, it mattered. I would argue that it changed software development forever. I'm not saying it solved the daunting challenge of developing good software. We're still working on that.
The Agile Manifesto took a troubled, backroom operation and proclaimed to the business and tech world that the accepted approach to developing software did not work. The process was broken. It took too long. It cost too much. Too often, it delivered products that didn't do what they were supposed to do.
But what about today? Does the Agile Manifesto matter anymore? Or are the ideas it put forth out of date? I recently mulled over those questions with Derwyn Harris, a co-founder of Jama Software, which sells software for managing the development process. "I love the Agile Manifesto," he told me. "So much innovation and change occurred as a result of the principles [it put forth]." But, he said, it is out of sync with the realities software development pros face today. "We need to rethink it," he said.
Here are some ways in which the Agile Manifesto is outdated -- and some ways in which it remains more relevant than ever.
Software development is much more complex today
When the Agile Manifesto authors took pen to paper in 2001, software development was already a complicated undertaking; but not by the standards of 2015. Mobile apps weren't a factor and social media as we know it today didn't exist. "Nothing lived in the cloud and 'dropbox' was something you did by accident if you were clumsy," said Harris.
The volume of software being developed today dramatically outpaces that of 2001 and the Agile Manifesto doesn't address that reality, he said. "There is a notion in the Manifesto that we're trying to move away from planning, away from negotiation," he said, referring one of its four core values, Responding to change, over following a plan.
Derwyn HarrisCo-founder, Jama Software
"But the need for planning [software projects] in today's world is real and you cannot ignore that," Harris said. "The business is saying 'I want a budget for the next year, a roadmap for our customers.'"
In the same vein, some of the Manifesto's 12 principles seem out of sync with the large scope of many software projects today. "The most efficient and effective method of conveying information to and within a development team is face-to-face conversation," one principle reads. But the face-to-face approach doesn't really fly when development managers are asked to oversee large projects with multiple, geographically distributed teams, Harris said. "They panic and they wonder how they are going to scale it."
Here's my take: When it comes to managing projects -- going with the flow instead of following a plan -- the Agile Manifesto is outdated. The ideas it puts forth on this topic sound naïve in the current context of software development.
The customers are more vocal today
The Agile Manifesto has much to say about the customer, and what it says remains relevant today. "Customer collaboration over contract negotiation" is one of the core values. And "our highest priority is to satisfy the customer" is first among its 12 principles.
What the Manifesto's authors could not have predicted was just how vocal customers are today. Posting on social media and other websites, they generate a steady stream of comments, complaints and the occasional rant about a company's products and policies. "And all that noise is associated with your [software] product," Harris said.
The challenge, then, is to tap into the noise in a meaningful way, analyzing feedback to build software that better satisfies the customer. That task is daunting, but "social media offers opportunities for customer collaboration" that simply weren't there when the Agile Manifesto emerged, Harris noted. "That is what we should focus on."
Here's my take: the Agile Manifesto nailed importance of customer collaboration. And that's as relevant today as it was in 2001.
The role of the business stakeholder
Here's another principle the Agile Manifesto has right: "Business people and developers must work together daily throughout the project." That's been harder to accomplish than the Manifesto authors -- or any of us, for that matter -- anticipated. But they were dead-on about the importance of the business stakeholder role. I don't think anyone would dispute that successful engagement of business stakeholders is crucial to software development success. But that doesn't mean it's going to be easy, Harris said. "You are taking on chaos. There's more dialog, more meetings, more communication. The goal is build the right product, and that's never easy."
The Agile Manifesto has a lot of things right in terms of helping software teams build the right product. It set us on a course that we're still charting. Successful software development is a work in progress, and if nothing else, the Manifesto steered us in the right direction. It still matters.
What do you think? Does the Agile Manifesto still matter? Let me know.
Adopt an Agile mind-set to cash in on timeless Agile benefits
Context-driven testing (CDT) may provide an Agile alternative
Take a look at Agile ALM
Gain insights from some Agile Manifesto signatories
Explore some reasons for Agile backlash
Jama Software may be easier to use than you think
Dig Deeper on Agile Software Development (Agile, Scrum, Extreme)