The 7 wastes of IT

In the Lean philosophy the objective is to get rid of the seven wastes;
  • Overproduction
  • Transportation
  • Motion
  • Waiting
  • Processing
  • Inventory
  • Defects
Many add another waste to the list like Complexity or Lost Innovation.
This list of wastes do an excellent job in the industry, they are clear and understandable for everyone not only for professionals. It works like a checklist, driving innovation step by step.  Lean is good everywhere where process are involved and IT systems (like an ERP application) are also serving processes. However industrial terms doesn't work with IT, not only the terminology is different but e.g. inventory is hard to interpret in a computer environment.
I suggest a slight redefinition of the 7 (IT) wastes and also give some examples
  • Overinformation
Products which nobody buys are waste. Information which no one uses are waste too. It often happens that data is collected  which is never used, or reports contain data which no one uses. It seems to be easy so why not to collect it?  It ties up resources, wastes processor performance and capacity and occupies professional who  has to program, store, archive and retrieve it. Maybe it's not much, takes away only 1% percent of your resources. What would Toyota say to 1% percent unsold production?
In software development there is over-functionality; functions whose development takes money, delays launch to market and confuse most users. It's so common that it's usually takes the first place in software project risks.
  • Interfaces
Communicating among systems is like communicating between people who speak different languages. We will need translators in form of interface designers, programmers, data exchange, extra hardware and software and even so we may loose time and information during the information interchange.
  • Manual entry or calculation
Doing manually what can be done automatically is not only a waste but a paradox. Computers are there to save people from manual work, how can we force them to do something where a computer is much better.
  • Waiting
There is no difference, wasting time is wasting time everywhere.
  • Processing
Buying extra hardware to support a slow task? Or do something twice? Every superfluous processor cycle is waste. You shouldn't cover weak of faulty process with excess capacity (as you shouldn't do it in a factory). Find the weak point and fix it.
  • Lack of scale
This is typical. A small utility is written just for some simple task, the more and more people use it maybe more complex system is build around it then at a point it breaks and so does all the systems, processes, tasks build around it. Writing scalable code is not easy but important. If you code can't scale it should at least fail in a predictive way so it's user know what is happening and don't loose their work.
  • Defects 
Defect is defect. Maybe we call it bugs but it can also be error in data or process.
  • Complexity
If something can be done simpler it should be simpler. People like complexity but complexity doesn't likes them. It takes away they time and energy. Same for computers.



No comments:

Powered By Blogger