Big companies love the waterfall approach to software development. Why? It’s simple really. Most big companies thrive on the command and control approach to management. (Yes, it’s rooted in military history.) It works something like this:
- Define the goal.
- Prepare a plan to achieve the goal.
- Assemble the troops.
- Yell “charge” and schedule weekly status meetings.
To people conditioned to operate this way, agile approaches are terrifying. Why?
- The goal is flexible not fixed.
- The plan is loosely defined not cast in stone.
- The ‘troops’ cross organizational boundaries making command and control complex.
- The team is in charge and status meetings are replaced by team meetings.
So how do you get such an organization to try agile? Start by asking a few critical questions?
- How successful has the organization been in meeting project goals? Be sure they can offer hard data and not just general perceptions.
- How detailed are the plans they create? If the plans are high level only, they may actually be using an aspect of agile whereby they refine the plan as they go.
- How do they deal with cross-organizational issues now? It’s likely to be a thorny problem already. Agile techniques may make the management problem simpler by creating greater accountability.
- How do project teams make decisions? It is likely that the teams already make many of their own decisions. Agile techniques will help expose those decisions sooner and more often.
Identify the real issues and tackle them one by one. You don’t have to implement agile software development in one iteration or even during one project. You just need to get started.