Someone asked this recently on LinkedIn:
What are some good ways in which to most quickly transition from a waterfall environment to an agile environment in such a way that (most) everyone gets on board with the transition?
My response went something like this.
By far the most common reason why development teams don’t get “on board” with Agile, in my experience, is that management isn’t on board either.
If you’re expecting your teams to pick up the slack for poor planning and unrealistic schedules, then no. Your Agile initiative will fail miserably.
If you think you can dictate the progress of a project in detail, down to the task level, you’re not doing Agile. You’re pushing artifacts around. Your Agile initiative will fail miserably, and your developers will find somewhere to work where they’re not insulted.
If you want Agile so you can avoid engaging in the hard work of analyzing your business and extracting real requirements, then you’re definitely headed in the wrong direction. Your Agile initiative will fail miserably, your developers will find somewhere to work where they’re not insulted, and the part of your project that actually got done won’t be useful at all.
Engaging in Agile means management has to work harder at two-way communication. And that means they have to listen to unpleasant truths and accept that they’ll often only get part of what they want.
The hardest thing for management people
The hardest thing for management people to do is giving up their need for detailed control. You simply can’t dictate every task and get the best possible work out of your team. Those are contradictory.
One extra pernicious way that management screws up Agile, and Scrum in particular: they dictate task and story assignments from outside of the Sprint Planning Meeting. The entire point of having a meeting to plan a sprint is to allow for conversation and pushback. If I’m a team member and you’re telling me that Story Card X has to be in the current sprint commitment because your boss who isn’t in the room says so? Then we’re not actually planning the sprint in this meeting, are we?
Learn to communicate priorities, convey values, and explain what you’re passing as requirements; then listen to feedback and adapt. That’s the only way Agile can possibly work.