Agile Tips
Unlocking Agile Wisdom: Insights from Decades of Experience. Scott Bain is a 44+ year veteran of systems development.
Agile Tips
#81-Lean Principle: Optimize The Whole
This week I'm covering the seventh principle of lean, which is to optimize the whole.
Lean Principle: Optimize The Whole
In 1981, Louis Malle made a very unusual film called “My Dinner With Andre”. It was unusual in that it mostly consisted of a conversation that took place over a single dinner. During this conversation, the character Andre told his friend about a time when his mother was very close to passing away. He went to see her in the hospital, and she was in very poor condition, clearly not much longer for this world.
But out in the hall he was confronted by a doctor who seemed very happy after having examined her, saying “boy, don't we have a lot of reason to feel great?” He was a specialist who had very successfully treated a problem with her arm, but that's all he saw. He was so focused on the one thing he was responsible for, that he failed to see the patient overall.
This a good example of violating the lean principle that indicates we should optimize the whole. What this means is that rather than focusing on one particular part of the process, attempting to perfect it in some way, that we should look at the entire value stream as it flows from the idea to the delivered product.
As I have been, I will start with an example from manufacturing and then move on to how this plays out when attempting to automate a business process with computers.
Imagine a manufacturing plant that builds MP3 players. One part of the process is focused on creating the case that all of the electronics will be placed into. If we focus on that part of the process too much, we may create an extremely efficient case-creation process which will create this part of the product much faster than the rest of the assembly line can accommodate it. We will end up with a large number of cases stacking up or waiting for the rest of the process to fill them with the requisite electronics. The flow of value will be no faster because of the efficiency of the process that creates the case, and in fact it will incur cost due to the necessity of storing those cases somewhere and moving them back into the process when it's ready to receive them.
So, in manufacturing, to optimize the whole means to design the overall process in such a way that there is a seamless handoff from each step to the next, and this will include the process itself, the supply chain that feeds it, and the order of steps in assembly so that the flow of value is constant and uninterrupted.
In the creation of the hardware and software that will automate a business process, this will show up in a slightly different way. Remember that in computer automation we do not repeatedly build the same thing, and so the process must respond to the requirements of the particular feature or system that we are trying to create. The process here is of value running through creative people, devops tools, and collaborative processes that result in the product being delivered and accepted as correct.
One mistake that software development in particular has traditionally made, is focusing on the efficiency of the coding process without taking into account hardware and platform decisions, testing, deployment, and maintenance. No matter how good our developers are at writing code, if that code has to wait in the process until testing, for example, can catch up, this is very much like a part of a physical product that is piling up waiting for the assembly line to be ready for it.
So, in either case, to optimize the whole means taking a more overall, big-picture view of the process we engage in. We cannot rely on the simple metrics of the past, like how many bugs we have fixed, or how many lines of code we have generated, but rather to focus on how we can deliver value consistently and sustainably over time.
One thing that PMI in particular recommends is that there should be a role called “Value Stream Manager” that is assigned to each product line, to ensure that this critical aspect is never neglected.