
Summary
- The Lean Model of continuous incremental improvement has proven to be highly effective vs episodic, large-scale improvement projects.
- Lean focuses on Eliminating Waste vs optimizing existing processes. The goal is to create more value at less cost with improved delivery cycle times.
- Software teams can leverage lean principles to deliver meaningful improvement to their delivery capabilities.
Introduction
No matter what type of business you are in: Software Development, Manufacturing, Healthcare, Financial Services … “business as usual” is a recipe for oblivion, or as Deming put it: “… change is not mandatory, neither is survival”. Most of the software world has made the shift from product delivery via big projects with long lead times to incremental delivery using small teams and short cycles. However, despite the widespread adoption of agile methods, many organizations still struggle to make good on it’s promises: accelerated delivery cycles, higher quality, and the flexibility to handle rapidly changing priorities.
If Accelerate Software Delivery is a fundamental objective of an organization’s agile transformation, then setting up an Agile Delivery System must be a fundamental goal. Achieving this goal however requires some basic prerequisites:
- Teams designed around creating value.
- Ability to create Product Backlogs that enable incremental delivery.
- A development system that produces working tested software as the output of every iteration.
These should make up the baseline state upon which to build sustainable improvement.
Lean Foundations of Continuous Improvement
The core principles of Agile and Lean provide a powerful foundation for business transformation. In simple terms, they provide a way of thinking and operating that emphasizes speed, flexibility, and customer focus.
Lean Principles
Lean Principles:
- Customer Centricity: Define Value from the Customer’s Perspective.
- Identify and Map the Value Stream: Visualize the sequence of steps used to create value for the customer.
- Create Flow: Make value flow without interruptions.
- Establish Pull: Upstream supplier processes only produce work when the downstream process signals a need. WIP limits are used to trigger demand for new work.
- Pursue Perfection: Continuous Improvement through Kaizen.
The primary focus of any business must be on creation of value for their customers. Every process, decision, and change must be viewed through the lens of customer value. Whereas specific product capabilities or services will vary by business, delivery predictability, cost, lead time, quality and reliability are all things of value in the eyes of customers. Thus, continuous improvement activities must have a measurable impact on these dimensions of service or product delivery.
The word “Kaizen” means “improvement” in Japanese. Kaizen is a model of improvement from Lean that focuses on continuous improvement through small, incremental changes. The idea is that even small changes can lead to significant improvements over time. Kaizen is one of the five Lean Principles.
The Heart of Lean: Eliminating Waste
Eliminating waste and improving flow are the primary focus of the Lean continuous improvement methodology. These contribute to business and customer value by reducing delays, improving quality, and lowering costs. That’s a pretty good definition of value:
Value = Lower Costs + Higher Quality + Faster Delivery |
Taiichi Ohno, the father of the Toyota Production System, put it more succinctly:
All we are doing is looking at the time from the moment the customer gives us an order to the point where we collect the cash. We reduce that time by removing all non-value-added waste.
Here, “waste” means any activity which consumes resources but creates no value.
By focusing on creating smooth, waste-free processes (value streams), organizations can provide products or services that meet or exceed customer needs.
In Lean methodology, “waste” refers to any activity or process that doesn’t add value to the customer, while “flow” represents the smooth and continuous movement of work through a system. Essentially, “flow” is the ideal state achieved by actively removing “waste”.
By mapping out the steps from where the customer places an order for a product or service to the point where the product or service is delivered, you can see the value-adding steps and the non-value-adding steps. In software development, common types of waste include excess inventory (partially done features), overproduction (features no-one will use), waiting (queueing delays, waiting on dependencies), defects (causing re-work and removing capacity from value creation), and any unnecessary processing steps that provide no direct value. By eliminating these sources of waste, organizations can streamline processes and focus more resources on activities that directly contribute to customer value.
Removal of waste enables uninterrupted flow and has several direct benefits for customers:
- Faster Delivery Times: With improved flow, organizations can complete tasks more quickly and consistently, resulting in faster turnaround times for customers. Whether it’s a product ordered online or a service request, efficient flow means customers receive what they need sooner, enhancing satisfaction and building trust.
- Reduced Costs: Waste drives up costs—whether through excess materials, processing steps, re-work to fix defects, or resources that don’t contribute to the final product or service. By reducing or eliminating waste, organizations can lower production or service costs, often passing these savings on to customers. Competitive pricing without sacrificing quality is a direct benefit to customers and can improve customer loyalty.
- Better Resource Allocation: When waste is eliminated, resources (including time, labor, and materials) can be better allocated to activities that enhance customer value. For instance, rather than dealing with rework or waiting on materials, employees can focus on innovation, customization, or improving customer service. This results in a more customer-focused operation.
- Enhanced Quality: Good flow enables teams to spot and address problems early in the process, minimizing defects and ensuring consistent quality. Quality issues that do arise are caught and fixed sooner, which reduces the likelihood that customers will receive flawed products or services.
- Improved Reliability and Predictability: By streamlining the process and reducing variability, organizations can offer more predictable service or delivery times. Customers appreciate reliability, as it allows them to plan and rely on the organization’s ability to deliver on promises.
- Higher Responsiveness to Customer Needs: Waste reduction frees up capacity, allowing organizations to respond more quickly to changing customer demands. For example, a streamlined supply chain can quickly adjust to shifts in customer preferences or increased demand, enhancing the organization’s agility and responsiveness.
Eliminating waste and improving flow create value by refining processes to be faster, more cost-effective, and more reliable. These Lean principles not only meet customer needs but also anticipate them, providing a level of service that is responsive, efficient, and value-driven. By continuously applying these principles, organizations build lasting customer relationships and remain competitive in an ever-evolving market.
Lean vs. Traditional Improvement Methods
Lean improvement and traditional improvement approaches differ significantly in philosophy, methods, and outcomes. Lean focuses on creating value by systematically reducing waste and optimizing processes to benefit the customer, while traditional approaches often focus on high-level, intermittent changes aimed at increasing productivity or meeting performance metrics. Understanding the distinctions between these two approaches highlights why Lean has become a preferred method for organizations seeking continuous, sustainable improvement.
Key Differences
- Focus on Value vs. Productivity Goals:
- Lean: At its core, Lean focuses on delivering maximum value to the customer. Every process, decision, and change is viewed through the lens of customer value. Lean emphasizes understanding customer needs and ensuring that all activities directly contribute to fulfilling these needs.
- Traditional Improvement: Traditional approaches often prioritize productivity and efficiency metrics, like output volume (velocity!), or cost savings, over customer-centered metrics. While these improvements can result in better productivity, they may not always align with what is most valuable to the customer.
- Continuous vs. Intermittent Improvement:
- Lean: Lean is inherently a continuous improvement approach, encouraging small, incremental changes on an ongoing basis. This method is known as “Kaizen,” meaning “change for the better.” Lean seeks to foster a culture where employees continuously look for and implement ways to improve their work processes.
- Traditional Improvement: In contrast, traditional methods often focus on episodic, large-scale improvement projects. These projects may be driven by performance reviews, budget cycles, or specific events rather than a proactive desire to continuously improve. This approach can lead to cycles of improvement followed by stagnation, where processes degrade until the next project begins.
- Employee Empowerment vs. Top-Down Directives:
- Lean: Lean actively involves frontline employees in identifying issues and implementing improvements, as they are closest to the work and best positioned to spot inefficiencies. This approach encourages ownership, accountability, and engagement, empowering employees to play a vital role in continuous improvement.
- Traditional Improvement: Traditional approaches tend to be more top-down, with managers or external consultants analyzing problems and proposing solutions. This method can sometimes overlook frontline insights and reduce employee buy-in, as they may feel that changes are imposed rather than collaboratively developed.
- Eliminating Waste vs. Optimizing Existing Processes:
- Lean: Lean focuses on eliminating waste, which can include anything from excess inventory and waiting times to overproduction and defects. By targeting these non-value-added activities, Lean streamlines the process, often resulting in faster, more efficient workflows.
- Traditional Improvement: Traditional improvement approaches may focus on making existing processes more efficient without fundamentally questioning or overhauling them. This approach can lead to “optimizing waste” rather than eliminating it, resulting in improvements that are often less impactful or sustainable.
- System Thinking vs. Isolated Improvements:
- Lean: Lean takes a holistic, system-based view of improvement, recognizing that changes in one part of a process can impact the entire value stream. Value Stream Mapping (VSM), a key Lean tool, helps teams understand how all parts of a process interact, ensuring that improvements benefit the whole system.
- Traditional Improvement: Traditional approaches may isolate problems, addressing specific symptoms without considering broader, interconnected systems. While this can yield quick fixes, it often fails to resolve underlying issues, leading to recurring problems or unintended consequences elsewhere.
Advantages of Lean over Traditional Approaches
- Customer-Centric: Lean’s emphasis on customer value helps organizations remain agile and responsive to changing customer needs.
- Employee Engagement: Lean empowers employees, fostering a culture of continuous improvement, which can boost morale and lead to innovative solutions.
- Sustainability: Lean’s continuous, waste-focused improvements are more likely to be sustainable, creating long-term efficiency gains rather than temporary productivity boosts.
- Holistic Improvement: By focusing on system-wide improvements, Lean reduces the risk of isolated changes that disrupt other parts of the organization.
While traditional improvement approaches have their benefits, Lean offers a more dynamic, customer-focused, and sustainable way to achieve continuous improvement. By promoting a culture of ongoing, small-scale changes, Lean allows organizations to remain competitive, agile, and efficient, ultimately delivering greater value to both customers and employees.
Continuous Improvement in Software Development
The ultimate outcome of continuous improvement efforts by agile delivery teams must be on creation of increasing value for their customers. This is done by the systematic removal of waste and delay from delivery processes. These translate directly into faster cycle times, improved quality and a more predictable delivery system. In Lean, these improvements are pursued continuously using the Kaizen approach. For agile software teams, retrospectives are one of the primary mechanisms for instituting incremental improvement. Retrospectives however they often fail to deliver meaningful improvement due to lack of clear goals, dysfunctional team dynamics, and no real follow-through on improvement actions. These challenges are discussed at length in another article.
The lean approach to improvement and transformation generally involves a number of steps:
- Define Value from the customer’s perspective. In Lean methodology, “value” is defined as everything that a customer is willing to pay for. Ensure there is a clear understanding of what customers value most, then focus on the things that better align with their needs and expectations.
- Map out and visualize the current workflow for the delivery system – known as Value Stream Mapping.
- Measure the performance of the system to create a baseline for improvement. The metrics we are most interested in are Cycle Time, Throughput and WIP levels
- Set goals and priorities for improvement. These are the basis of the implementation plan.
- Improve via Kaizen.
Priorities for improvement should include the following goals which are needed to establish a strong foundation for stable and predictable system of delivery:
- Cross-functional teams. They have all the skills needed to deliver working increments of the Product Backlog without dependencies (and associated delays) on other teams.
- Creation of Product Backlogs that represent value, and support incremental delivery in short cycles.
- Stabilize the system – establishment of a stable, predictable velocity or throughput – that gives teams the ability to forecast and make commitments.
Once they have a reasonably stable delivery system in place, and a current performance baseline for Cycle Time, Throughput and Predictability, then set measurable goals for improvement can be made. Leveraging the retrospective process as a Kaizen model for continuous improvement is elaborated in detail in this article.
Target improvements vs current baseline performance can be summarized and tracked:
Metric | Current State | Goal |
Story Cycle Time | 7 Days | 3 Days |
Throughput (Velocity) | 10 Stories/2 Weeks | 15 Stories/ 2 Weeks |
Predictability | 60% | 85% |
Metrics should be probabilistic vs. absolute numbers. For example: Deliver 85% of stories to a definition of done within a 2-week timeframe. (More on probabilistic flow metrics here). Teams should review progress against targets regularly (e.g. at their retrospectives) and enact appropriate actions to close the gaps with the targets.
Improvement Strategies
Some of the more obvious targets for improvement actions include items from the list below. Teams are encouraged to experiment with these using Plan-Do-Check-Act (PDCA) framework, and measure their impact on their key flow metrics:
- Break user stories and features into smaller, independent, and testable increments. Follow the INVEST principle (Independent, Negotiable, Valuable, Estimable, Small, Testable) for user stories. The ideal approach is to have all, or at least the majority of user stories be ‘small’ – can be developed and tested to a definition of done in a couple of days. This helps even out the workflow, avoiding internal queues and delays.
- Minimize handoffs and dependencies. Organize as much as possible into cross-functional teams that have all the skills needed to create value directly.
- Reduce Work in Progress (WIP). Set Work in Progress (WIP) limits to prevent bottlenecks and keep flow steady. Encourage a “stop starting, start finishing” mindset—complete tasks before taking on new ones.
- Use Kanban Boards to visualize and manage workflow stages effectively.
- Automate as much as possible. Implement Continuous Integration/Continuous Delivery (CI/CD) pipelines to speed up testing and deployment. Automate unit, integration, and regression tests to detect defects early.
- Shift-left testing by integrating automated tests early in the pipeline.
- Continuously Identify and Remove Bottlenecks. Use Cumulative Flow Diagrams (CFDs) to visualize where work is getting stuck. Track cycle time, throughput and WIP metrics to identify slow-performing process steps and bottlenecks.
- Conduct regular retrospectives focused on process inefficiencies rather than just technical issues.
- Improve Collaboration and Communication. Conduct daily stand-ups, with work item age charts to quickly address workflow congestion and blocked work.
- Streamline Release Management. Reduce reliance on large, manual release processes by adopting trunk-based development.
- Foster a Culture of Continuous Improvement. Adopt the Kaizen approach of continuous incremental improvement as a way to make progress towards longer-term goals. Encourage experimentation using Plan-Do-Check-Act (PDCA) framework. Train teams on Lean and Agile principles to reinforce a continuous improvement mindset.
Conclusion
Lean principles provide a solid foundation for successful and sustainable improvement. The overarching goal for any organization must be the delivery of an uninterrupted flow of value at progressively less cost to the customer. This requires continuous improvement by the systematic removal of all sources of waste in order to increase the value-added content of the delivery process. A Kaizen approach to improvement enables software teams and organizations to incrementally close the gap between desired target performance levels and their current state.
