In today's world, customers demand that products get to them quickly. Customers need those products in order either to fix things that didn’t work as needed or to enhance what they already have with more features that make their lives easier. Enterprises that provide these products have to be nimble in order to deploy software quickly and provide products that have value to the customer. It is unacceptable to push products out the door that are inferior, don’t meet the needs of the customer, or take too long to get to the market. Enterprises must become Lean to meet these challenges.
How does a company get to the point where it can take ideas and quickly develop products that provide value and are meaningful to the customer? What is entailed in being a Lean enterprise that produces fast and efficiently? An enterprise must change the typical “business as usual” way it works in order to be the kind of Lean company that can accomplish great things with its customers. To make this change and provide innovative products, a company must engage in developing a new culture and disrupt the way it has historically operated. We must reimagine the “Lean” of the past. This article is a high-level introduction to the “massively disruptive innovation” that has to occur for an enterprise to be able to meet and exceed the expectations of its customers.
A core component of predictable innovation is the ability to have processes in place that are repeatable, can be quantified, and are reliable. Some of the thought leaders we use as guides in learning about building Lean enterprises with these processes are Jez Humble, Gene Kim, and Eric Ries. In his book, Lean Enterprise, Jez Humble gives us a roadmap with principles and practices for building a Lean organization. Gene Kim provides insights into DevOps as a methodology for developing an enterprise that embraces innovation. Eric Ries is the person we regard as the “father” of the Lean enterprise.
Some high-level principles for a Lean environment are:
- Flow of value. The flow of value requires speed, elimination of waste, and getting ideas delivered to the customer smoothly.
- Visualization of work. The ability to visualize the work involved enables the practices that are needed.
- Fast feedback loops. Fast feedback loops that are active and effective enable innovation.
- Constant disciplined experimentation with low risk and speed are required.
- Rapid exploitation and scalability must be attained.
History of Lean Enterprise
The manufacturing industry was where enterprises first became more efficient at getting products to customers. Companies that were manufacturing products had to create repetitive processes that could be dependable and fast in the assembly of those products, and they had to produce higher volume in order to meet customer demand. Such industries as automotive and textiles benefited in incorporating practices that met those goals. In developing these processes, companies found that nothing could be achieved without integrating the people who worked in the plants. The people were the key to the ability for a company to perform the repeatable processes. The employees were integral in making the whole manufacturing process operate smoothly and meet customers’ needs.
As time went on, the products that were being manufactured became more complex and processes had to adapt. Japan became the leader in creating Lean organizations that both automated the processes necessary for building quality products and increasing the volume of production. Automation was the key component. Still, the interaction between the people who were using the automation and the technology was critically important to the success of the systems.
Change is the driver that mandates innovation and things changed over time, primarily in the types of products that were produced. Additionally, workplaces changed requiring the way we manage to also change in order to accommodate. The significant product that is now manufactured is in Information Technology. Information technology is a necessary component for every business industry from finance to healthcare. The goals are the same as they were in the past – quantity, quality, volume, and a good product. However, largely today’s product is invisible to the naked eye in the way a car or piece of clothing is visible.
Technology is increasingly more important and essential in creating any kind of product. And, so as part of this new product that is technology-based, we find that the mechanisms and the organizations we use are now even more reliant on people. Every product and service–whether it is IT services, computing, virtualization, or cloud computing—and every industry is reliant on the core of IT capability. This product requires fast adaptability and innovation in ways not seen in the past. The ability to deal with changing and increasing complexity with relationships is critically important.
Overview of Lean
A typical, simplified overview of the enterprise scenario starts with the business idea and goes through feasibility requirements and engineering on to application development and then to IT operations. The challenge has been to get the idea through to deployment and delivery both quickly and meeting the customer need. This challenge requires enterprises to incorporate more Lean practices throughout the entire process. A core component is the communication between each silo: business analysis, application development, testing, quality assurance, release, and IT operations. On a continual basis, each business area needs to be knowledgeable both of the entire process as well as where the product is at each stage of the process.
There are many hand-offs from one business area to the next during the production of software products. Without constant communication between the key stakeholders, the enterprise is not able to operate in a Lean manner. When an organization is not Lean, the production process takes a long time to execute, which makes it inefficient and expensive. Lengthy production changes can occur in the needs of the customers that deteriorate the resulting product. In fact, the product that is released in this scenario can deliver negative value for the customer.
Build Cross-Functional Teams
In order for effective and efficient communication to occur, cross-functional teams are necessary. There becomes one team that is responsible for the entire process — from idea to deployment and delivery — with each business area represented on the team. This requires each person to have access to everything that everyone else is using. Employing such a radical strategy means that the very culture of the organization has to change. The challenge of building great teams with a culture of sharing information and working across silos is huge but absolutely necessary in creating a Lean enterprise.
Automate Software Build and Delivery
The process of producing great innovative solutions is so much more than just writing the code. It has to include the ability to
- Set up processes that enable fast feedback of the state of the product along the way.
- Logically test the product.
- Make decisions quickly to adapt and rectify.
A Lean organization must have a way of quickly designing and developing software features and IT services in a way that continuously tests what is built; this achieves what is called “Continuous Delivery,” which is critical in operating Leanly. At the core of this practice is instituting testing methods that are automated and that provide feedback quickly as to whether the product is working or not. Automated testing allows several critical capabilities:
- To work in small pieces.
- To create Minimum Viable Product (MVP).
- To explore different solutions.
These capabilities enable the organization to work more efficiently and inexpensively by producing fast signals in a feedback loop.
The ability to exploit the fast feedback information — test and collect data and then make decisions — provides the scalability that an enterprise needs. Knowing where the product is at each stage is critical and the automated testing with feedback loops is the way to have that knowledge. The organization needs to have methodologies and processes in place in order to scale up the MVP and generate positive signals in the feedback quickly. The ability to understand how to navigate based on where the product is in its lifecycle is critical. Those lines are blurring in IT and it is important to be able to recognize when it is time to transition from one stage to the next. An organization must scale up with speed.
There are three main horizons in Lean production:
- Execution: Sustaining efficient production through cross-functional teams incorporating methods such as DevOps.
- Demonstrate, exploit, scale: Enduring total disruption of business as usual.
- Envision, explore, disrupt: Being able to recognize points, anticipate them, have a great sense of timing, knowing when to generate new ideas
The Relationship Between DevOps and Lean
In Gene Kim’s books DevOps Cookbook and The Phoenix Project, he delineates the Three Ways that are basic in DevOps. The Three Ways, according to Kim, “describe the values and philosophies that frame the processes, procedures, practices of DevOps.” We think that these three ways are also critically important in operating Lean. They are:
- Developing “systems thinking” that understands the performance of each component in the entire system, as opposed to silos.
- Creating and amplifying the right-to-left feedback loops.
- Creating a culture that fosters both continual experimentation and learning, with the understanding that repetition and practice is a prerequisite to mastery.
Employing DevOps in a Lean organization makes tremendous sense since DevOps is a methodology that establishes cross-functional teams and embraces communication among both development and operations. In achieving continuous integration and delivery, DevOps provides instrumental processes and systems, creating another level in operating Lean by ensuring predictable, repeatable, and innovative practices.
Additionally, the ability to navigate the complexities of today’s production environment is provided through DevOps. As shown in this graphic “Continuous Improvement,” it is necessary to control the process of iterative development, and practices such as DevOps give you the tools to do so.
In summary, a Lean organization must create great teams that cross the business functions, instill a culture where all team members have ownership in the development and delivery of the product, and embrace a mindset of innovation through trial and error. Failure is expected in this culture and actually encouraged. This is the way to produce value. This is the “new” Lean enterprise.