Day 41: Flying Lean
Due to being unable to do much else, this week I am continuing with my literature, although slightly different than last week. I am shifting gears from the more technical Microservices to the world of software processes and practices. The book I’m reading is Lean Software Development: An Agile Toolkit by Mary and Tom Poppendieck.
I did hear of Lean Principles before, back when I was studying in Bolzano. I had a teacher there who was simply amazing; for a hundred different days, he had a hundred different ways to make the course material interesting and fun. He didn’t believe in slides; instead, we watched funny videos and played games. If one walked in the classroom on any random day, he might just confuse it for a kindergarden. But we all loved it. I might not remember all the definitions and the plain boring theory, but I do remember what his games taught me.
So one day, the teacher brought piles of blank paper to class. He had us sit in rows, in groups of five, and told us to make paper planes. The rules were simple enough; each member of the group gets to do one step of the plane making process and no more. Therefore, the first person in a row would start the plane, while the last one would get to finish it. There were inventories between us, so as soon as you’re done with your part, you can put it in the inventory for the next person, and move on to the next plane. The goal was to see how many planes we can make in 3 minutes.
The first try was pure chaos, to put simply. Some steps in the plane making process were easier than others, so some inventories filled up way faster than expected. The more complex steps caused bottlenecks, and the people doing them got increasingly frustrated and nervous as their “backlog” continued to grow, no matter how much work they put in. We did produce a lot of planes in the end, but ended up with so much half-done ones, that we could only throw away as waste.
For the second try, the game changed slightly. This time, there were no inventories; you could only produce your part when there is an actual need for it, and not before. “Just in time”, the teacher called it.
Counter to what I believed in, the second approach proved to be much more successful. We ended up with more planes than before, and with much less waste. No one was too stressed with the amount of work, and everything ran as smoothly as it gets. In the end, the whole approach made so much sense.
“That, my folks, is what it means to be Lean,” the teacher said. “Eliminate the waste by producing just in time, and not just in case. Don’t produce anything until the need for it arises; then, make it as fast as possible.“
Maybe he made it sound simpler than it is, but he got the point across. Now I wish to learn more, though, and the book I’m reading is being quite helpful so far. As soon as I’m done, I’ll give my best to summarize it in a more technical way. Until then, I just couldn’t resist sharing the paper plane story. Thought it would be a nice introduction to Lean, if anything :)
And yes, in case you were wondering, hundreds of paper planes flew all over the University for the next three days, leaving everyone confused about their origin. Good old days…