The “Change Prevention Process” Anti-Pattern
Many software development teams follow a requirements change management process whose main goal is to prevent what is known as “feature creep” or “scope creep”. The goal is to prevent new requirements being added to the project, or existing requirements expanded upon. This effectively is a change prevention process, not a change management process, which results in your business stakeholders getting what they specified but not what they actually need.
There are two reasons, often co-related, why IT organizations choose to work like this:
- Cultural. Many organizations still follow a (near) serial development lifecycle where changes to the requirements are considered to be a bad thing which is best avoided. Typically, they take a big requirements up front (BRUF) approach where a detailed requirements specification is written, reviewed, and accepted early in the initiative. This requirements specification is baselined and then changes to it are “managed”. To be fair, the serial approach is often so inflexible that a changed requirement can be incredibly expensive to deal with properly, so preventing change in these situations makes sense.
- Business constraints. It is also common to see business management insist on fixed price and/or fixed schedule , often in an attempt to minimize their risk. Unfortunately, they don’t understand the impact of this decision and they are in fact increasing risk instead of decreasing it. IT management realizes that any change to the requirements will affect the both the schedule and cost so they are desperate to avoid any such changes.
The impact of this approach falls into two categories:
- Wastage. As I show in the BRUF article the primary problem is that significant wastage, on the order of 2/3, occurs on software development initiatives as a direct result of an inflexible approach to requirements change management. This occurs for several reasons. First, because stakeholders have learned that change will be prevented once the requirements specification is accepted, they are motivated to “make up” potential requirements during the requirements gathering phase in the hopes that they correctly guess what they’re going to need. Second, requirements do in fact change over time, either due to changes in the business environment of because of a changed understanding of the domain.
- Poor business support. Similarly, when change is prevented the direct implication is that the business doesn’t get the software that it actually needs, but instead it merely gets the software that it specified at the beginning of the effort (when the least information was available to them to make decisions). Not only is money being wasted on implementing features which aren’t required, it’s not being spent on features which are required but unfortunately were missed during the requirements specification effort.
Take an agile approach to change management where you embrace change instead of trying to prevent it. With this approach you treat requirements as a prioritized stack: each development iteration/cycle (typically 2-4 weeks in length) you pull the number of requirements off the top of the stack that you can implement during that period. The rest of the stack is allowed to vary, with requirements being added, removed, or reworked as necessary.
Business risk is minimized because they can fund the team for as long as they like. Want to invest $1 million on the initiative and do so in ten months? Then organize it into 10, 4-week iterations where you spend $100,000 each iteration (ok, it’s not quite that easy, but you get the idea). The risk is that you might not get everything that you want, but at least you’ll get the most important features implemented for your investment. Furthermore, you can always choose to spend more or less money as appropriate. The risk to the IT department is also minimized: the business is now in control over what gets built, for how much, and for how long.
The primary drawback to this approach is that it requires stakeholders to be actively involved with the team. To be fair, regardless of your approach to development if your stakeholders aren’t actively involved then your effort is in serious jeopardy, but with this approach you’re unable to hide this problem for long.
This book, Choose Your WoW! A Disciplined Agile Approach to Optimizing Your Way of Working (WoW) – Second Edition, is an indispensable guide for agile coaches and practitioners. It overviews key aspects of the Disciplined Agile® (DA™) tool kit. Hundreds of organizations around the world have already benefited from DA, which is the only comprehensive tool kit available for guidance on building high-performance agile teams and optimizing your WoW. As a hybrid of the leading agile, lean, and traditional approaches, DA provides hundreds of strategies to help you make better decisions within your agile teams, balancing self-organization with the realities and constraints of your unique enterprise context.