Lean IT and DevOps are the new kids on the block. Well not really. They have been around for a while but it seems they are getting a lot more press in the past year or so. So what exactly are Lean IT and DevOps? Why this sudden interest? Can they help you with your IT convergence initiatives?
Lets start with DevOps. DevOps is s a software development method that stresses communication, collaboration, integration, automation and measurement of cooperation between software developers and other information-technology (IT) professionals. It helps address the conflict between developers and operations. Developers want a fluid and changing system. Operations on the other hand wants stability. DevOps is a response to the growing awareness that there is a disconnect between the development activity and the operations activity. Because development and operations want two different (and opposite) results, it creates what DevOps calls a “wall of confusion.”
According to Gene Kim, author of the book “The Phoenix Project” and one of the first champions of DevOps states that this confusion causes a downward spiral for both development and operations.
From the operation point-of-view they experience:
- Fragile applications failing
- Taking too long to restore service
- Frustrated customers leaving
- Market share decreasing
- Empty promises to shareholders
From the development point-of-view they experience:
- More urgent, date driven projects
- Fragile code going into production
- Longer release cycles
- Releases with “turbulent installs”
- Difficulty diagnosing why deployments are failing
Fragile applications are applications that fail catastrophically anytime changes are made to them. This results in unplanned outages and unplanned work. Operations blame development. Development believes operations are standing in their way. Nobody is happy — especially the end customer.
DevOps is the converging of people, processes and tools to enable adaptive IT and business agility. DevOps is a way for the business to regain trust in the IT department. The development teams and the operation teams need to find ways to reduce waste and streamline processes.
This is where Lean IT comes in. Lean IT is an extension of Lean Principles, applied in an IT environment. The approach is a way of thinking and acting, focusing heavily on organizational culture. Lean IT is associated with the development and management of Information Technology products and services.
Lean thinking is about:
- Increasing customer value
- Eliminating waste (work that does not add value)
- Management as a facilitator
- The involvement of all employees
- Continual improvement
- Focusing on long-term goals
The essence of Lean is to deliver value to the customer and to continuously improve the ability to deliver value by removing waste. Lean is based on the following 5 principles:
- Value – as defined by the customer
- Value Stream – comprised of all tasks and activities needed to create the value
- Flow – activities should be performed with minimal interruptions
- Pull – provide what the customer wants when they want it
- Perfection – doing things right the first time
A quick word about waste. Lean is all about reducing or eliminating waste. What kind of waste are we talking about? Lean defines 7 types of waste. They are: Transportation, Inventory, Motion, Waiting, Over-processing, Overproduction and Defects. Or TIMWOOD for short.
To make things even more interesting there is a third concept making the rounds. It is called “Bimodal IT” (Check out Bernard Golden’s article: “What Gartner’s Bimodal IT Model Means to Enterprise CIOs” ). This is where enterprise IT organizations are splitting into two very distinct groups: one taking care of the traditional IT operations, running today’s enterprise apps and charged with the typical enterprise operations. The other is being charged with exploring and developing the infrastructure to support the next-generation applications and services. Sounds like a job for DevOps?
So how can DevOps and Lean IT work together? DevOps and Lean IT principles are complimentary. DevOps stresses the importance of collaboration, communication, and convergence between development and operations. DevOps can use the benefits of Lean methodologies into operations by reducing the barriers to delivering more value to the customer (Lean) and aligning with the business. This results in a better running development team, smoother operations, and ultimately happier customers.
Is your organization ready to embrace Lean IT or DevOps? Why or why not? I would love to read your thoughts.