Lean in IT : Eliminate The Waste

I don’t know if I really buy the concept of using Kanban or Kaizen in IT instead of Scrum. However, I do subscribe to the necessity of efforts required to  make the IT processes lean and effective. You don’t need to change your development paradigm or ruin your setteled Scrum environement for that. Lean production has some basic statements or principles, one of which is “eliminate the waste“. I love it, it makes me happy to think about it.

Eliminate not reduce

I want to get that attention to the word “eliminate”.  A team committed to lean management is motivated to get rid of all the waste deducted, not only to “reduce”. Speaking of detecting… How is this going to happen?

Toyota, who applies lean manufacturing and just-in-time systems very efficiently and set an example even for the OT world, defines 7 types of wastes (muda): Overproduction, unnecessary transportation, inventory, motion, defects, over processing, waiting.

Everybody can have his own interpretation of what they would correpsond to in the IT world, of course. I did like the mapping I came across in a book recently : Lean Software Development: An Agile Toolkit. So I will take the mapping there.

Overproduction => extra features

In IT we love to develop super cool features that nobody wants. Maybe because we think they need it or just because we would like to build them into our code. The thing is , everything you put extra into your recipe while baking might result in a disaster. Or the extra cherry you put on the top of the case is probably “the” ingredient that ruins your profitability.

Unnecessary transportation => task switching

People do not like juggling with many balls and even the very good and experienced ones get stressed by the time the 3 ball is introduced. Well, women are said to be capable of multitasking and better than men(he he) but unfortunately IT world is still dominated by guys. So we neeed to keep people focused to one project and one task at a time. Depending on the complexity of the work and how experienced they are, participating 2 projects or tasks can be also considered. But it would surely mean some overhead which might be seen a kind of “waste”

Inventory => partial done work

!! Oh don’t get me started on that!! Partially developed systems are like a half cooked recipe. It would very soon become moldy and useless. (And even as SW it stinks.) And obviously it is a waste of resources, no matter if it is about a cheesecake or a SW module.

Motion => Motion

This is the motion of the information, items, and components from one place or person to another in the value change of the development process. Each transfer is a risk for losing information, introducing ambiguity. No matter what you do there will be a lot of tacit knowledge that matters to your project and you cannot always have the time or money to externalize it, to make it accessible to everybody.  Keeping people, information and all the tangible and intangible assets together, avoiding unnecessary handoffs would avoid waste of resources and loss of tacit knowhow.

Defects => Defects , bugs

Any defect or bug that is not detected causes waste. Everybody in IT knows that the bugs that appear in production are more costly than the ones in development phase. So we should do our homework, perform some QA, build continuous integration and effective testing automation. (Because manual testing is a waste)

Over processing => extra processes

It is all about simplicity. It is too much data, too many frameworks, too many books, every quarter there is a new method or tool to improve processes… How about kicking out some workflows out of your system (Jira, TFS whatever)? how about making it simple…i mean with serious intention. Btw,is there still paperwork involved in your IT department? ….Really?

Waiting => Waiting

That is my favorite. Because I hate waiting, because I cannot wait. And especially as a manager you are thought to be patient with your team, not to be pushy and learn to “wait” for results. Well, it is not me that is saying this, the whole lean lobby, Toyota and possibly Nonaka cry out together “Wasting is waste of resources and opportunities”. The lean methodology suggests “decide as late as possible” as a way to reduce waiting time, since such decisions are likely to be exposed to less uncertainty. It is not as easy as it sounds tough, I am still thinking about practical meaning of this…


%d bloggers like this: