A fundamental principle of Lean is smooth, continuous flow. Turbulence is caused any time that the flow of work is interrupted by something in its path. When interruptions cause the flow of work to stop and wait, work queues form.
Here are six lean methods that are guaranteed to accelerate your projects, make your development system more efficient and create a much happier work environment. Read the article until the end and find out the easiest and least expensive way to reduce queues in your system!
When you overload a product development system (or any system), queues form and things suddenly start taking longer. The most common response is an attempt to increase capacity (e.g., hire more people). But this is expensive, takes time, and doesn’t last because the new resources will end up being overloaded again soon anyway.
Reduce the Workload
The most common cause of an overloaded system is trying to complete too many projects at the same time. (“They’re all important!”) It's counterintuitive, but the more work that you take out of the product development system, the more work gets done. Cut the number of projects underway, and you will experience an exponential increase in your ability to deliver. And don’t worry about the projects that you delayed. They will actually get done sooner when all of the resources are 100% focused on them than they would have if you split the resources 50/50 across two projects. And of course, the first project will get done a lot sooner!
Another way to reduce the workload is to drop requirements. Marketing and Product Management often resist this, but if you’ve developed your Project Economic Model (PEM) you can easily do a tradeoff analysis of the total profit impact from dropping a feature compared to being to market earlier.
Increase Resource Availability
You can see in the image above that work starts taking exponentially longer when the loading is over 70%. This graph is from queueing theory and we experience it in real life in traffic at rush hour, or security checks at the airport. But it’s sometimes easier to understand the concept from a different perspective—Resource Availability.
In the graph below, the curve represents a task that has 12 hours of work in it. The Duration (Y-Axis) is determined by the Availability of the resource shown on the X-Axis. Note that every time Availability is reduced by 50% (usually due to multitasking), the Duration doubles. And when the Availability is at 2 hrs per day, a small one-hour change in Availability doubles the duration again!
Managers often don’t realize it, but it’s common for resources to have just a couple of hours of availability per project—and no one has eight hours. It’s best to plan for about six total hours per day for team members. So divide six by the number of projects they are working on and don’t be surprised when the durations are longer than you would like.
Build Flexibility into the System
In order to keep projects moving forward, there needs to be enough flexibility in the system to account for unexpected changes. A great example we can learn from manufacturing is having Flexible Resources. By actively developing team members’ breadth of skills and knowledge, they can step in and help when a critical resource becomes overloaded and creates a queue in the process.
Reduce Bad Variability
Variability is required for innovation to occur. However, there is variability that has a negative impact on delivery speeds such as risk, and other inefficiencies such as unstandardized processes or failing to reuse work whenever possible. Take a critical look at your system and see where you can reduce bad variability to create a more efficient system.
Reduce Batch Sizes
Do you wait until all of your design documents are completed before you hand them off for review? If so, you are working with large batch sizes that create both incoming and outgoing queues. Reducing batch sizes not only reduces queue time but it also increases the rate at which we learn and get feedback. How small should the batches be? Some manufacturing scenarios have reduced the batch size to one, or single-piece flow. But the real answer is a function of the holding cost vs transaction cost.
Now that you have some tips on increasing flow, what do you notice about your product development system? What would you change, if anything, about your current processes?
Here’s the bonus for reading until the end. Do you know the most effective way to reduce queues in your system? Reduce batch sizes. Not only is it free, but you can start doing it right now. (Hint: Try it in many areas such as requirements release, design reviews, documentation development, testing, etc.)
As with a lot of our content, much of this blog post is based on information Don Reinertsen wrote about in his books on Lean Product Development. The most thorough is The Principles of Product Development Flow, but our favorite book for teams that are new to the concepts is Managing the Design Factory.
Do you know the number one reason behind project delays. It's not what you think. Watch this short video to find out what is.