When participating on relevant Lean and Agile conferences, reading books, blogs and scientific papers I always see following comments about Lean in IT:
- Spreading Lean in IT context, mostly in its distributed form is impossible.
- Lean IT is understood as Scrum with Kanban board (or other Lean tools) only.
Lean in manufacturing and IT
Let me briefly look back into history to find the answers. Lean originates in manufacturing. Manufacturing assembly lines are quite stable, visible, tangible and also produce tangible results. You can enter the plant and see the assembly line and touch the machine or car in different stages of production. It is easy for us people to work with such tangible systems. It is also easier to implement Lean, measure the tact time, observe wastes. Our brain works the best if we can see, touch and experience the system. Unfortunately, IT processes are not like this. They are intangible, virtual and not always represented by physical positions. Also an outcome of this process – software – is an intangible thing. Therefore it is much harder to observe problems, waste or measure it without sophisticated tools.
Let me emphasize the difference:
- In manufacturing (e.g. car industry) are both, the assembly line and the car visible and tangible.
- In IT (software development, support and maintenance) are both, process and product intangible.
This is a big difference and it is probably the root cause why manufacturing or service companies with mature Lean processes, environment and Lean thinking fail to implement Lean IT. Their core business processes operate well and are quite Lean, but IT struggles with the problems like overheating IT engine, inappropriate measures and late deliveries. First attempt to improve the situation comes from late 90’s as an Agile wave. It was the first step towards constantly changing environment in the software industry. Agile approaches like Scrum or XP become dominant software development approaches of today. Although it improved the way of working significantly, it still ends on the border of IT because of IT language. Yes, that strange language only IT geeks understand. Thus it is quite hard to extend Scrum to other areas like sales or HR.
Core of the Lean in IT context
So, how we do it? How we apply Lean in IT context? Mostly, we bring following:
- common language,
- respect to human and software nature.
First, Lean brings common language to IT and business. It is actually quite common to meet CIOs, CFOs or middle managers from different industries being familiar and using Lean terminology and principles. However it is quite rare to meet CIO understanding IT language or knowing XP. Let’s investigate if there are any common principles shared between Lean manufacturing and Agile software development.
- People centricity – it is all about people, everything else (processes, tools, technologies) are here to support them.
- Increased value and reduced waste – providing what people really needs (value) and are willing to pay for. Systematic removal of everything what hinders seamless delivery of this value (it is called waste).
- Seamless flow – process roles are just the decomposition of the process activities. Customer, vendor and all subcontractors are connected to the same flow – a chain of actions transforming customer need or wish into “tangible” outcome.
- Faster lead time – ability to deliver a product or service faster is quite important in today’s market. The same applies also to responding to change and learning (our assumptions, used technologies or existing business models).
- Built-in quality – quality is not just polishing at the end of the process, it is the aspect of every step in the value chain.
- Learning – continuous reflection and step-by-step improvement is necessary practice towards learning organization; reflect on your actions to become better every single day.
Based on this list we can say that Agile shares the same principles with Lean. Basically, Agile approaches are instances of Lean thinking, therefore Lean is a natural connection between business and IT.
Lean in IT focuses on End-2-End flow, breaking down the silos, bridging the gap between business and IT and overcoming distribution.
Second mentioned aspect of our Lean approach in IT is respecting human nature and intangibility aspects. That practically means the following:
- Incremental adoption of new practices and way of working to avoid natural change resistance (natural reaction of our brain).
- Sequence of small (Kaizen) steps leading to new desired behaviour.
- Simple stop-analyse-adjust mechanism leading to immediate uncovering of failure’s root cause.
- Automation and daily support to support learning of new habits, new way of working.
- Performing regular retrospectives to look back and see and assess the change you have achieved.
- Visualization of the system to bring our brain tangible experience of the system. Kanban board or Value Stream Maps help here.
What we do and what is the key? We create the culture of change. It means supporting the mindset transition from “No, not again, yet another change” towards more desirable state of “change is normal part of our life”. Namely we do it together with the customers, sales, management and specialists. We synchronize over the different perspectives, focus on common goal, design seamless flow and set up continuous improvement by regular follow-ups and by coaching. By this, we help them to:
- Bridge the gap between business and IT.
- And overcome the distribution.
What do you think? Do you agree? Is Lean thinking applicable in distributed IT environment? Is the only way Agile with some Lean tools? Is there any Lean in IT at all?
 For more on this topic read also Brooks classic: Mythical Man-Month: Essays on Software Engineering. Anniversary Edition. Addison-Wesley. (originally printed 1975)
 Also stated by many presenters at Lean conferences (Lean IT Summit 2011 or LESS2011).