How LeanIntent can help you get more out of DevOps
I first became excited about “lean” when I read Dean Leffingwell’s book Agile Software Requirements in early 2011. I knew a lean approach to IT value delivery was the future, and I entered into a business relationship with Dean to co-found Scaled Agile, Inc., from which emerged the Scaled Agile Framework, or SAFe.
After three years with Scaled Agile, I now work with companies undergoing lean transformations at the enterprise level. As I have studied my clients’ DevOps initiatives, it has become clear that they need an effective front-end to feed the processes involved. My question was, how does the DevOps pipeline receive its work? How fast and how often is the work made available, and how do we know we’re working on the right things?
Here's a new approach to applying lean principles that can help DevOps teams (executives, managers, developers, testers, integrators, or security engineers) achieve and exceed their essential objectives.
Delivering value to users
Traditional product development environments simply cannot leverage the intrinsic benefits of experimentation, rapid development, and frequent code deployments that DevOps provides. Most enterprises are functionally structured, rather than value-oriented. By contrast, DevOps is all about delivering value very quickly to users and customers.
Lean thinking and lean behavior can fill that void. To successfully sustain the continuous flow of a DevOps organization, I believe that a lean front-end can fully realize the power and speed of DevOps.
In their book The DevOps Handbook, Gene Kim, et al. discuss DevOps in terms of lean concepts such as value streams, flow, short feedback and learning loops, and cross-functional organizations. Leveraging that view of lean, I created a unified body of work called Lean for the Intelligent Enterprise, “LeanIntent” for short. This open-source framework provides a global context for the lean approach, focused on what's needed to take full advantage of a DevOps implementation.
Introducing lean DevOps
DevOps is fundamentally changing how software-based products are designed, coded, and delivered. Continuous integration and continuous delivery of services to a production environment is how many organizations dominate or stay competitive in the marketplace (think Amazon and Salesforce).
So where does lean come in?
The paradigm shift from large batch development to single-unit delivery has created a modern software factory that operates on many of the same principles that traditional factories use to create tangible goods through assembly or processing (auto plants and oil refineries are classic examples). Yes, factory-based practices can facilitate continuous software delivery. But to successfully sustain a DevOps model, I believe that the way companies fundamentally think, organize, and operate must also change.
The lean DevOps ecosystem
Compared to traditional companies, lean organizations realize significantly shorter lead times, which is the period from when a customer expresses a need (or a company sees an opportunity) to the deployment of capabilities or services and the collection of cash. A well-formed lean enterprise incorporates constructs such as flow-based prioritization and sequencing, face-to-face planning, theory of constraints, short queue lengths, and small batch sizes to create an optimized feeder for the CI/CD/microservices world.
When DevOps is understood and implemented within a holistic lean ecosystem, an organization realizes additional strategic benefits—such as improved predictability, faster time-to-market, and reduced software inventory (remember, non-production code is considered inventory, and in a lean world we strive to minimize inventory). What’s needed is a structure that fully supports and encapsulates the automation of the continuous deployment pipeline, nicely described by Viktor Farcic in The DevOps 2.0 Toolkit.
Lean for the intelligent enterprise
The newly released open, crowd-sourced framework and knowledge base—Lean for the Intelligent Enterprise or LeanIntent—helps DevOps become more fully assimilated and leveraged as part of a larger lean organization. Just as SAFe forever changed the agile development landscape, LeanIntent is intended as the foundational model for organizations to successfully employ DevOps. Perhaps LeanIntent will become to DevOps what SAFe became to agile.
I’ve create LeanIntent as a free, newly-published body of work that includes a comprehensive set of thinking models, optimized patterns of organizational behavior, principles and techniques to streamline business operations, and guiding tenets for the people who do the work and run an organization.
Essentially, LeanIntent is a set of unified lean best practices that enhance enterprise-wide function and performance—it’s a clearinghouse of all things lean.
But first ... what is lean?
Lean emerged from the manufacturing world in the 1980s and 1990s, and the Toyota Production System (TPS) popularized the notion of lean manufacturing. In a factory environment, lean is defined as a systematic approach to “create more value for customers with fewer resources.” Others see lean as a “set of tools that assist in the identification and steady elimination of waste.”
But as LeanIntent defines it, lean is much more than applied tools and practices—it is a way of thinking, organizing, operating, and being. A lean intelligent enterprise integrates all of these facets as illustrated below. Understanding the diverse nature of a lean enterprise is the first step toward optimizing DevOps’ feeders.
DevOps is characterized by Wikipedia as a set of practices that emphasizes the collaboration and communication of both software developers and other information-technology (IT) professionals. But when DevOps is viewed as an enterprise strategic asset, its implications to business success extend beyond inter-IT communications.
How a lean enterprise works
In their seminal book Lean Thinking, James Womack and Daniel Jones state:
“Value is created by the producer, but it can only be defined by the ultimate customer.”
There is almost always some degree of disconnect between what a customer wants and what they get. But the attraction of lean DevOps is how rapidly customer feedback is communicated through the enterprise to developers and testers who improve and deploy the enhanced solution with a very short lead time (days versus months).
This is possible because lean establishments are organized around value streams—persistent activities that provide a continuous, sequential, cross-functional, serial flow of value creation, and delivery across the organization. As illustrated below in the Lean Value Map below, the production, delivery, and support processes (stages 7 – 9) of a value stream’s continuous flow mechanism is the perfect fit for a DevOps model, effectively consuming work from its optimized, sustainable input pipeline (stages 1 – 6).
As a strategic asset, DevOps should be visible to all levels of an organization, not just middle managers and IT workers. Executive leadership and senior management have a fiduciary responsibility to maximize value, not only to customers but to employees and shareholders as well, and as such should be part of the larger DevOps solution. Leadership, training, organizational structure, operational excellence, and opportunities for innovation and improvement are fundamental to a lean enterprise.
DevOps as a demand-driven lean factory
An ideal lean factory is a demand-driven, single-unit delivery pipeline; similarly, a lean intelligent enterprise is most effective when organized around value streams and a conduit of valuable small-batch deliveries with extremely tight feedback and learning cycles. This is what DevOps does best, successfully enabled through the continuous flow of input within a lean value stream. This is one reason I’m so excited about LeanIntent—it provides the context within which the DevOps pipeline is effectively fed the right amount of work, in the proper sequence, in direct support of enterprise goals and strategies.
DevOps is more than just the combination of development and operations; it is a strategic, continuous flow, technology-based delivery instrument for a lean intelligent enterprise. DevOps has a bright future as an efficacious delivery mechanism, and I’ve designed LeanIntent to provide the context within which DevOps can be more successfully reasoned, understood, and implemented.
I hope this framework helps you in your DevOps endeavors, and I welcome any feedback or ideas you may have that could benefit others. You can reach me at email@example.com. Share your thoughts about LeanIntent in the comments section below.
Image credit: Flickr