Strike the Balance on Agile Projects
There is a key issue you need to manage and balance on agile projects. This is the tension between top down management, where requirements are handed down, and bottom up, where scrum teams determine the details of what they will work on.
Why Waterfall Does Not Work
In traditional waterfall method projects, the requirements are fully developed in advance of beginning software development work. The reason the agile approach has grown as the practice of the waterfall method has declined is that determined all of the requirements in advance has proven to be problematic at best. Here are several reasons why:
- Determining all requirements in advance is nearly impossible.
- Requirements change as knowledge and experience increases.
- The pace of change tends to be faster than the pace of building software using the waterfall method.
- It's better to deliver value a little at a time than to deliver a single big drop after a lengthy development period.
- Many decisions are best made by the development team than by someone who is not directly involved with the development process.
In short, while it makes some sense to plan out everything in a top-down manner in advance before development, there also are many problems with this approach, as experience has shown. As a result, there is a lot of merit in a bottom-up approach, which addresses many of those problems.
Tension between Top-Down and Bottom-Up
The challenge with top-down and bottom-up approaches is striking a balance. There is no magic to how much to favor one of the other. But here are some factors that influence how to strike that all important balance:
- Consider the culture within the organization.
- Acknowledge traditional ways of managing projects within the organization.
- Consider the problems that are likely to occur for bottom-up agile teams.
- Determine what level of requirement might be necessary in order to take proper aim at the target end state.
- Determine how you can satisfy all stakeholders - users, process owners, those paying for the project, designers, ....
Striking the Balance
Using an agile approach to project management requires a real effort at balancing long-term versus short-term considerations. It requires balancing the benefits of on both ends of the scale - top-down versus bottom-up. Striking that balance entails determining an appropriate level of target capabilities so that there is something to target and measure progress against. It also entails empowering scrum teams that are building the software to be able to make decisions about the things that they are most equipped to make because they are closest tot he action.