I recently had a conversation with a friend about some new changes his IT department is considering. I was shocked to discover they were adopting even more bureaucratic procedures — even though it’s a strategy that clearly isn’t working. I asked why they weren’t thinking about agile approaches, and
he told me his senior management considered “”agile”” to be a swear word.
The problem is management didn’t really understand agile software development. They had chosen to listen to some of their subordinates who had a questionable grasp on the subject, and who were clearly threatened by agility. One of the major benefits agile computing offers is to make it very difficult for bureaucrats and others who provide little or no added value to fit in, unlike with complex traditional approaches, which are documentation- and process-heavy. Many traditional IT professionals are justifiably threatened by agility because they see little room for themselves or they realize they need to dramatically improve their skills.
In this case, the people threatened by agility were politically savvy enough to misinform senior management, who unfortunately didn’t think to talk to someone who understood both sides of the story. I’ve worked on traditional software processes such as the object-oriented software process and the enterprise unified process, and I’ve worked on agile processes such as agile modelling and agile data.
Senior management at the company in question had been told many untruths about agility. They were told agilists don’t model or document, yet the fact is agilists do analysis and design on a daily basis and focus on high-value documentation. They were also told agilists produce low-quality systems, yet the complete opposite is actually the case. They were told agility is just ad-hoc hacking with a new name, yet one only has to visit www.agilealliance.org to see this isn’t true. Do you really think that leading minds within the industry such as Martin Fowler, Bob Martin, Alistair Cockburn, Barry Boehm and Jim Highsmith would advocate ad-hoc hacking?
Agility is about working together effectively, breaking down barriers to communication and focusing on value-added activities that lead to successful development. It’s about working side by side, not handing off documents. It’s about managers actively managing projects instead of writing status reports that gloss over what’s really happening. It’s about developers and stakeholders working together to develop realistic plans, not creating complex Microsoft Project schedules that few people actually read.
To be fair it can be difficult to imagine how agile techniques could possibly work, particularly in traditional organizations that already struggle with software development. The misinformation regarding agility doesn’t help either.
Scott Ambler is an independent consultant specializing in object-oriented development. His latest book is The Elements of UML Style. www.ambysoft.com