In the last post I tried to point out how the analytical approach of any standard (and specifically PMBOK’s) will create problems for those actually having to implement those standards.
Change management in PMBOK is a particularly large problem in this respect. Scope Control (PMBOK’s process for change management in scope) comes at 19 different activities. This will leave the most experienced project manager grasping for air when it comes to implementing these activities (they are not implemented in a vaccum obviously, but that does not make it easier…)
Contrast that with the approach that Scrum uses: Re-plan every sprint based on the improved knowledge you have of the product and the market.
Now, that’s simple! Simple, but not easy.
For Scrum’s change management to work properly the people in charge need to understand the stakeholders needs, the market needs and the current state of development. None of these is easy to achieve, but — and this is the point — they are easy to explain.
In Scrum, every Sprint will have a small number of ceremonies:
- The Sprint planning: where the previous sprint’s result as well as the changes in environment (stakeholders, market, etc.) are input for the planning process
- The Daily meeting: where the progress is reviewed and plans quickly adjusted to meet the Sprint goals
- The Sprint review + demonstration: where the status of development is analyzed as well as the reasons for possible problems
- The Retrospective: where we analyze what went well/wrong and take actions based on that to improve for the next Sprint, i.e. change our process.
That’s it. That’s how Scrum addresses change in scope: by being prepared for it at the very core of the process. Every sprint change is reviewed and handled. Plans are adjusted.
Interestingly this has an important (yet often forgotten side-effect). Because the stakeholders know that their needs will be taken into account in the next Sprint at the latest, they don’t feel the need to disturb the teams during the Sprint. This allows the team to focus on the ongoing work and meet their Sprint goals while at the same time not avoiding change, rather embracing it!
Implementing a process based on PMBOK will not take this aspect into account. It is my experience that in practice, a PMBOK based approach will lead to a separate change management process (often through Change Management Boards), which will regularly but at unpredictable intervals submit changes to the teams. Teams, then need to react “immediately” to those changes: reviewing, commenting and sometimes even accepting them. Anyone familiar with Queuing Theory recognizes this problem immediately: adding more work to a team will make them late and reduce predictability because of the added variability inherent in the “change” related tasks.
This is why PMBOK fails when it separates processes like change management into their own “process” within a larger process which is a software development process.
I should however emphasize: there is value in PMBOK. Read it if you can, but you should not follow PMBOK when defining your processes. Rather you should look at Scrum, Kanban or other processes for inspiration on how to run your software development processes. This is because PMBOK is useful, but not enough!
Photo credit: Will Lion @ Flickr