Getting Lean Through Kanban (2 day course)


Background

Beginning with Japanese manufacturing in the 1950s, Lean thinking has revolutionised production management across the globe, resulting in now common phrases like Just-In-Time, Zero Defects and Continuous Improvement. Focused on harnessing the ability of workers to continuously and incrementally improve quality, productivity and flexibility while eliminating waste, Lean concepts were first widely applied by Toyota and other Japanese auto-companies. This led to the near collapse of western car makers in the 1980s and 90s.

While Lean concepts have now been successfully incorporated in western manufacturing and operations, their application to software development has mainly been through timebox based methods such as Scrum and XP, collectively known as Agile. More recently, flow based methods such as Kanban have been successfully introduced where agile proved problematic. Scrum can struggle where there is enterprise level scale, unpredictable work arrival and processing times, a lack of cross functional teams or day to day re-planning. Kanban can provide a mechanism to implement 'pull' and achieve a flow of work through simple Work In Process (WIP) and kanban signaling systems. As well as coordinating activities across the value stream, Kanban creates an environment to drive continuous improvement, highlighting impediments to flow and encouraging collaboration to resolve issues. In the words of David Anderson, the creator of Kanban, 'Lean is a destination; Kanban is a means to get there'.

In this 2 day course, we delve into why Kanban works so well both as a change management and project management approach. We look at the benefits of Kanban compared to plan-driven approaches, particularly in complex projects with a lot of churn. We examine some of the theoretical foundations for empirical control methods, and the economic realities of software development that make Kanban so compelling.

This is followed by a deep dive of Kanban practices and tools, including Value Stream Mapping, Visualization of Work Flow, Metrics (Lead Time & CFD), Limiting WIP, Managing Flow and Attaining Pull, Work Item Types, Classes of Service, Explicit Policies and Feedback Loops. We explore what Kanban means for the evolution of organizational structure, roles and responsibilities, and working with stakeholders. Then we review some Kanban case studies, focusing on project contexts where Kanban might be particularly suitable as an alternative to or in conjunction with other agile or plan-driven methods. Then we examine the steps to implementing Kanban in your organization, including a recipe for incrementally adopting and deepening the application and effect of Kanban while minimizing the 'cost of change'. The course will include exercises to illustrate important concepts and a comprehensive Kanban simulation game to allow attendees experience concepts such as pull and flow first hand.


Who Should Attend

This course is intended for Transformation Agents, Agile and Lean Champions, Project Managers, Developers, Testers, Analysts and any other roles contributing to software development and IT.


Learning Objectives

Upon completion of this course you will understand:

  • The key Lean values and principles, and how they apply to software development
  • The differences and similarities between agile methods, lean methods and Kanban
  • The key scientific fundamentals underlying lean and Kanban, such as queuing, systems and constraint theories
  • Waste Elimination in Lean: 7+1 sources of waste
  • How kanban facilitates low-risk, low disruption evolutionary change in complex IT environments
  • How kanban facilitates a pull based flow of value
  • Increasing the transparency of software development using visual kanban boards and metrics
  • Mapping your Value Stream and exposing bottlenecks
  • Continuously optimising and relieving bottlenecks and blockages
  • How to perform root cause analysis to enable continuous improvement
  • The work capacity of your development team and how to balance throughput to that capacity
  • Establishing Work In Progress Limits
  • Facilitating innovation using Kanban
  • Establishing Classes of Service, Work Item Types and Service Level Agreements
  • How to work with input and output cadences
  • How to manage variability in work flow
  • How to use Kanban with Scrum (Scrumban)
  • When to use Kanban
  • A Recipe for adopting Kanban

Topics Covered in the Course

  1. Introduction
    • Introduction to Agile & Lean
      • Principles of Agile and Lean Software Development
      • What is Kanban?
      • Benefits of Agile and Lean Development
    • When to Use Kanban - SW Development; IT Operations
    • Key Concepts in Kanban - Cost of Delay, Theory of Constraints
    • Kanban Core Practices
    • What is a kanban system? Example
  2. The Economics of Software Development
    • Understanding Project Economics
    • Economies of Speed
  3. Value Stream Mapping and Tracking
    • Demand Analysis - Defining customer-valued work items (deliverables)
      • What are the types of work you do?
      • What are the patterns of demand for your team's time?
    • Value-stream mapping
  4. Radical Transparency
    • Kanban Boards (manual and electronic)
    • The Mechanics of a Kanban Board
  5. Classes of Service
    • Cost of Delay
    • Treatment Policies
    • Service Level Agreements
    • Allocating Capacity to Classes of Service
  6. Explicit Policies
  7. Planning in Kanban
    • Evidence Based Planning
    • Incremental Delivery - Prioritisation for Early Value
    • Input (Prioritization) and Output (Release) Cadences
  8. Working with Kanban
    • Daily StandUps, Backlog Refinement, Reviews
  9. Tuning your Kanban System
    • Monitoring due date performance
    • Expediting ('Silver Bullets')
    • Policies for processing work items
  10. Continuous Improvement
    • Identifying bottlenecks: Capacity constrained and Non-instant availability resources
    • Identifying the 7+1 Lean Wastes
    • Improving throughput through Theory of Constraints
  11. Work In Progress
    • Time is Money - the Costs of Queues
    • Cycle Time vs. Utilisation, Productivity & Efficiency
    • Setting WIP limits for smooth flow and short cycle time
  12. Metrics and Reporting
    • WIP - Cumulative Flow Diagrams
    • Lead Time
    • Process Efficiency
    • Open Issues and Blocked Work Items
    • The Kanban Operations Review
  13. Kanban Adoption Strategy
    • Evolutionary Change - PDCA
    • 5 Imperatives of Kanban
    • A Recipe for Adoption
    • Monitoring your 'Depth of Kanban'
  14. A Kanban Simulation (3 hours)
    • Simulation Briefing
    • Gameplay - Each Team uses WIP Limits, Explicit Policies, Work Prioritisation, Classes of Service, Metrics and other Kanban practices to optimise the work flow through their Kanban system.
    • Simulation De-Brief - What did we learn?