Lean project management applies the core principles of Lean Thinking to reinforce the effectiveness of project management by emphasising iterative discovery and problem solving, value delivery and eliminating wasteful tasks, resulting in improved quality, reduced total elapsed project time and reduced project costs. – Steven C. Bell and Michael A. Orzen
In my previous posts I talked about applying Lean Thinking to software development to be mindful of the traditional and non-traditional pitfalls where you can waste time, so you can prepare for this and devise ways to counter this. In this post I’ll take a similar approach, but from a different angle, that of the project manager. I’ll start by looking at the traditional approach and then see how Lean Thinking can further enhance your project management skills.
In traditional project management the foundation lies within the triple constraints model, a triangle of time, scope and cost that has a very delicate balancing point in the middle that represents quality. Another way of looking at it is using the triangle of fast (time), good (scope) and cheap (cost). This has often been referred to as the "pick any two" triangle:
- Fast and cheap won’t be good
- Fast and good won’t be cheap
- Cheap and good won’t be fast
This triangle also means that we cannot affect one single aspects without influencing the other 2 and of course also the resulting quality. This is not necessarily a bad thing. Imagine you have a project on a certain budget, a clearly defined scope, but an impossible deadline. I’m sure you can image that this will result in a lousy quality, because it will be filled with quick and dirty solutions and hasn’t been tested properly. If you get more time, than usually your budget will go up too (people are still getting paid by the hour usually), but this will make sure a proper solution can be built and tested, increasing overall quality of the end result. So, in this case, we have a positive influence on the other 2 aspects of the triangle. Unfortunately, this is more of an exception than a general rule.
The goal of project management is to attain and retain the sweet spot in the middle. To accomplish that, we adopted agile development a long time ago. But implementations of agile, such as Scrum for example, are sometimes not agile enough to get to that sweet spot. This is partly because of the fact that Scrum iterations typically last for a couple of weeks and in a very fast moving environment, you need to be able to shift priorities quicker, but still have the advantages of the Scrum based approach.
In that case, we should start looking at Lean’s PDCA cycles. PDCA stands for Plan-Do-Check-Act, an iteration cycle used for continuous improvement, with a very short cycle time. (You could view it as a scrum approach to a scrum cycle if you wish) These small cycles become an integral part of the Scrum iteration cycle and allow you to verify results with the client (both internal and external) before the Scrum iteration has completed. That leaves you with the opportunity to potentially change the cycle halfway through the iteration. On the other hand, it could also open the window for changing priorities and ultimately reacting instantly on changing requirement from the customer, which is the true Lean approach.
I don’t say this approach to project management is effective or even desirable in all situations. However, in a very rapidly moving environment, with very demanding customers, the Scrum approach sometimes doesn’t seem to be Lean enough.