When I talk to groups who have been using Agile methods for a while, most of them report that the development groups started with Agile.
Now that Agile is becoming better known, senior managers are latching onto Agile as a solution to slow delivery, missed deadlines, and poor quality.
So they decide to implement Agile methods organization-wide.
Here’s one popular process to implement Agile methods for the entire organization.
Have a senior manager announce that the organization will “go agile” on __________ (fill in the blank with an arbitrary date). Announce that 20+ teams will go live in less than 3 months.
Make the announcement at a big meeting where most of the people are asleep, because in the past 10 years nothing significant has been said at one of these meetings.
Appoint a team of the “right” people to work out the details. Make sure to staff the team with “subject matter experts” like HR people and configuration management experts. But go light on the people who will be doing the work.
When the developers ask to be involved, tell them they aren’t the “right” people.
Implement by command and control (“They’ll use _______ if we tell them to.” Fill in the blank with Scrum, XP, TDD…)
Blame the developers (for “resisting change”) and Agile methods when it all falls apart.
Oh, you wanted a way that worked?
Sigh.
Changing the organization to Agile methods means that managers have to change, too. And letting go of the old top-down, command and control model of change is the place to start.