Recently I‘ve been re-reading a Blog Post on Scrum and Kanban. Two things struck me: 1) The author seems to believe that one piece flow should be the goal in knowledge work, and 2) He talked a lot about waste and how to avoid/eliminate it.
I think bothe points are at least debatable. Here are my thoughts on waste (I will write about one piece flow in another blog post).
The distinction between value-adding activities and non value-adding activities is known from the Toyota Production System, where it is known to be quite valuable and led to many improvements. During the past decades there have been plenty of approaches to transfer the concept of value/waste into knowledge work. The thinking behind this is quite simple: Gather activities, put them in one of the two buckets and then keep eliminating the wasteful activities. When I first heard this, it felt totally reasonable to me. But today I think the concept of waste isn’t useful at all in our domain. Here are the reasons why (most of them are taken from other people who are smarter than me. I will reference them).
1) It can be insulting
If you collect „wasteful“ activities in software development, you might end up with things like planning, writing documents, sitting in meetings etc. And as David Anderson points out, you might end up with a perfect job description of a project manager. It might or might not be true that these activities are always useful, but by calling them waste, we damage the self esteem of the people who are performing these activities day by day. And this doesn’t go together very well with „Respect for people“.
Actually, we have experiences exactly this ourselves! At one of our major clients, we were quite successful with implementing Scrum, and we were convinced that Lean should be the next step. So we gave a presentation in front of a group of middle managers. And guess what? They did not like it at all! From their perspective it sounded as if we wanted to eliminate their jobs and fire them on the spot. No real discussion about process improvement was possible, because they were resisting everything we suggesting.
2) It misses the point
The original concept of waste talks about wasteful activities. But as Don Reinertsen points out in the keynote from last year‘s Lean Kanban Central Europe conference, most often the biggest problems are not the activities, but the non-activities! (Watch the video of Don‘s talk below) We should focus on queues, where tasks sit and wait. Now you might say: „But waiting is considered waste in Lean!“ That’s correct. But this makes it even worse! When we consider waiting as waste and eliminate this kind of waste, we might end up utilizing people with 100% and make them perform (value-adding) activities all the time. But this is is a desaster in our industry! We don’t want people to be fully utilized, we want tasks to be utilized! It’s better that peopel wait for work than the other way around! So instead of looking for non value-adding activities we should focus on finding and working on the non-activities – and very often that means we need to utilize people less than before..
3) It is often simplistic or almost useless
Sorting activities into the two buckets „waste“ and „value-add“ has almost no sense in knowledge work, because you often end up with truisms. Building features that nobody uses is waste, and we should stop doing this, right? Yes it is. But this is so obvious, why do we need the category „waste“ for this? If you just tell people that nobody uses their featurs, they will immediately understand that they have a problem. And if they won’t, calling it „waste“ won’t help anyways.
So the dichotomy between „value“ and „waste“ is not sufficient. Let’s introduce a third category, which is quite common. Now we have „value-add“, „waste“ and „necessary waste“. Again: If you can categorize something as waste you should just stop doing it. If it is value-adding, then do more of it. This is trivial. The only interesting category is „necessary waste“. There have been lots of discussions about things like estimating, meetings or testing. Are they waste? Not really. Are the value-adding? This would mean that our customers would pay us more if we did more of this. Would they pay for more tests? Maybe. Would they pay for more estimates? Probably not. Would they pay us for doing more standup meetings? Definitely not! But still we feel that it is a good idea to keep our standup meetings. And I think we are right (in most contexts)! But the concept of „waste“ and „necessary waste“ does not help us understand why.
4) It is binary thinking
This thought is, again, taken from Don Reinertsen. Don keeps saying that we as technically-trained people tend to think in a binary way: It’s either yes or no, either black or white. This binary thinking is dangerous, because it prevents us from making good decisions. In most cases it is not either/or, but a little bit more or a little bit less. Value/waste is a good example of binary thinking: Something is either value-adding or wasteful (and if it’s wasteful we might sub-categorize it as necessary or not necessary). If it’s wasteful, we must eliminate it. I have rarely witnessed a situation where this thinking was useful and led to new insights and better decisions.
5) Innovation needs waste
This week my friend Henning Wolf pointed me to another interesting point: Innovation needs waste! Why is that? Let’s have a look at things like rework, wait times and building things that nobody uses. From a traditional Lean perspective they must be considered as pure waste and therefore be eliminated. This might be true in a manufacturing context, but it is desastrous in an environment where innovation is key. If you have a look at innovation techniques like Design Thinking, you will find, that they are celebrating waste! You are building things over and over again, you are re-building them, you are building completely useless things etc. This is another example of how important the context of our work is.
Thinking about Costs
So there are many reasons for not using the concept of. But what should we do instead? I think, it is much more useful to think about costs that are associated with certain activities. And again it is Don Reinertsen who advocates this idea the most! So if you haven’t done so, buy this book and read it now! The basic idea is very simple: There is a cost associated with every activity (and also non-acitivity) we perform. At the same time we are hoping to get a benefit out of this activity. If the costs exceed the benefits, it’s not a good investment. The problem is of course how to determine the costs. The good news is that in many cases we do not need exact calculations. It’s sufficient to find the sweet spot with the lowest overall costs. To get an impression what I am talking about, you can watch this presentation by Markus Andrezak and me where we examine the costs for continuous deployment. Thinking about real costs (we are not talking about simplistic approaches like cutting costs by all means here) is the opposite of binary thinking – because it’s almost never either/or. In my experience it leads to very fruitful discussions, and it is very accessible to managers.