Providing Value Through Lean Principles Merwan Mehta David

  • Slides: 45
Download presentation
Providing Value Through Lean Principles Merwan Mehta, David Anderson, David Raffo A 10 year

Providing Value Through Lean Principles Merwan Mehta, David Anderson, David Raffo A 10 year retrospective on a highly influential paper Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

Overview of Paper Email: dja@leankanban. com Providing Value to Customers in Software Development Through

Overview of Paper Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

Core Lean Principles Providing insight into practical strategies for making trade-offs between core Lean

Core Lean Principles Providing insight into practical strategies for making trade-offs between core Lean principles of § Providing the highest customer value § Maximizing flow § Eliminating waste Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

Real World Example Financial Services firm IT development for products & services Project size

Real World Example Financial Services firm IT development for products & services Project size range § 4 -6 person team, 3 -6 months § 50 person team, 12 -24 months Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

Project Team Example 33 people 12 months Varied skills & experience 1 project manager

Project Team Example 33 people 12 months Varied skills & experience 1 project manager 1 development manager 14 devs grouped in integrated product teams assigned to specific “portions” of the system 1 DBA 1 Web designer 1 UX Architect 1 Content manager 2 Copy writers / content developers 1 Localization manager 1 Test Manager 1 Build Engineer (with SEPG responsibilities in addition to config mgmt. ) Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

Project staffing observations Real life is heterogeneous Idealistic “generalist” workforces are aspirational. Some generalists

Project staffing observations Real life is heterogeneous Idealistic “generalist” workforces are aspirational. Some generalists are common but reliance on specialists is also common and unavoidable Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

Feature Teams Existing organization structure Team takes a portion of the project from requirements

Feature Teams Existing organization structure Team takes a portion of the project from requirements through dev and unit test Features are then integrated into a build for integration testing by a test team “waterfall” process within an incremental software development context Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

Issues Quality and on-schedule delivery are consistently problems Pressure to outsource (2007) VP of

Issues Quality and on-schedule delivery are consistently problems Pressure to outsource (2007) VP of IT resistant to outsourcing as a “silver bullet” § Insistence on ‘root cause’ identification before outsourcing decisions are made § Suggestion that Lean is considered as an alternative Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

Key Problems in Development using Lean 1. What is the best way to get

Key Problems in Development using Lean 1. What is the best way to get organized for software development? 2. What role does the top management have to play in structuring a team? 3. What is the importance of initial planning of a project? 4. How do we choose between working on new features and fixing defects? 5. How do we best flow work in software development process? 6. How do we decompose large project tasks so that there is a reduction in problems and complexity with software builds? Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

Organization Lean work cell concept translates into an integrated product team with a project

Organization Lean work cell concept translates into an integrated product team with a project manager responsible for “flow” of work Functional managers should be made responsible for achieving cycle time and overall lead time goals § The functional “capability” as seen by the customer Functional managers have a responsibility for the reduction/elimination of “waste” (non-value adding activities) § § Sources of delay Non-value adding work (“muda”) Reduction in common cause variation Improvements in quality Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

Lean is Cultural Firms need to actively encourage collaborative work and train facilitation skills

Lean is Cultural Firms need to actively encourage collaborative work and train facilitation skills Metrics have to encourage collaborative work § E. g. lead time across a multi-functional workflow “Failure tolerant” culture § Senior managers need to encourage experimentation § Culture of safety for “acts of leadership at all levels” Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

Senior Leadership Involvement If Lean is cultural then senior leaders must encourage the culture

Senior Leadership Involvement If Lean is cultural then senior leaders must encourage the culture Project manager with flow responsibility should report to process champion who is an executive with customer delivery accountability To encourage a “kaizen” culture of continuous improvement a process champion is essential Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

Importance of Initial Planning Agile methods seek to improve software through testing and refactoring

Importance of Initial Planning Agile methods seek to improve software through testing and refactoring § Reactionary rework Good quality requirements engineering is valuable Software Product Lines (“Software factories” MSFT) At least 5 -15% of project time should be dedicated to architecture, analysis & design Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

New Features vs Defect Fixes “stop the line” approach in Lean manufacturing. Is it

New Features vs Defect Fixes “stop the line” approach in Lean manufacturing. Is it appropriate in software development? “first time right” Frequent allocation & reallocation of resources § Conscious trade offs Triage defects § § Assign priority based on severity Severity 1 – total loss of functionality Severity 2 – loss in specific functionality Severity 3 or lower – partial loss in functionality Root-cause analysis for Sev 1 & 2 defects § To prevent re-occurence Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

Improving Flow Decomposition of required functionality into component elements creates work units to which

Improving Flow Decomposition of required functionality into component elements creates work units to which the notion of workflow can be applied Baton race analogy § minimize delays between stages in the workflow Prioritize value over flow § Sacrifice smoothness of flow and predictability of delivery in exchange for high business value Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

Reducing Complexity of Build & Integration Build often and early Keep batch sizes for

Reducing Complexity of Build & Integration Build often and early Keep batch sizes for integration as small as possible Use concepts such as object-oriented architecture to reduce complexity and size of work packages Adopt the use of a regular, and frequent, cadence for build and integration test Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

Visualization & Visual Signals Visual representation of invisible work Is better than… § Automated

Visualization & Visual Signals Visual representation of invisible work Is better than… § Automated or manual email signals § Shared “wiki” work areas Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

Further work (2007) This paper left us dangling… It begged for … § Simulation

Further work (2007) This paper left us dangling… It begged for … § Simulation § Lean Software Product Development experimentation § Deeper investigation into the social aspects such as organizational structure, culture, social cohesion, social capital, leadership Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

Where are we now? (10 years later) Email: dja@leankanban. com Providing Value to Customers

Where are we now? (10 years later) Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

Agile Work cell, cross-functional team-based Largely a craft ethic Little to no innovation since

Agile Work cell, cross-functional team-based Largely a craft ethic Little to no innovation since 2005 Some improvements in requirements definition, such as § Story Mapping Improvements in requirements definition largely rediscovered lost arts of analysis from 1990 s, e. g. Coad, Gilb Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

Devops Embraces Lean and Theory of Constraints Focus on design for operations, and design

Devops Embraces Lean and Theory of Constraints Focus on design for operations, and design for maintenance and deployment Frequent or continuous build, integration and automated deployment Largely based on creating larger and larger cross-functional organizations and larger integrated product teams Significant momentum in 2017 Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

Kanban Visualization, virtual inventory limitation, “pull” signaling, focus on flow Cadence for replenishment &

Kanban Visualization, virtual inventory limitation, “pull” signaling, focus on flow Cadence for replenishment & delivery Cadence for improvement feedback mechanisms such as service delivery review, risk review, operations review § “Kata”-like template for driving improvement through regular review “Kaizen” Culture Very close to Toyota Way but adapted for professional services work Focus on § Relief from overburdening (“muri”) § Smoothness of flow (“mura”) Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

Lean IT Value Stream Mapping for IT Services Focus on eliminating waste (“muda”) §

Lean IT Value Stream Mapping for IT Services Focus on eliminating waste (“muda”) § Non-value adding activities are waste § Design out Application of tried and tested industrial engineering approach to professional services & intangible goods industries Requires senior leadership support Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

What we got right Email: dja@leankanban. com Providing Value to Customers in Software Development

What we got right Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

Principles not Practice Mapping It is important to abstract the principles of Lean from

Principles not Practice Mapping It is important to abstract the principles of Lean from manufacturing and other tangible goods, physical environments rather than trying to analogously map practices There have been several strained attempts (from others) to analogously map “the 7 wastes of Lean” into the intangible goods world § None have gained sustained traction § Bizarre suggestions such as “movement” equates to check-in & check-out of version control, or of configuration management and moving files to different environments or configurations Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

Devops Lean suggests frequent or continuous integration, system test and delivery The paper predicts

Devops Lean suggests frequent or continuous integration, system test and delivery The paper predicts value in focusing on integration and delivery Devops emerged to deliver this Devops takes an approach that requires significant organizational restructuring Largely a craft-based approach within integrated product teams § Some emphasis on Theory of Constraints relief of bottlenecks in a workflow Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

Lean Decision Filter Value trumps Flow Expedite at the expense of flow to maximize

Lean Decision Filter Value trumps Flow Expedite at the expense of flow to maximize value Flow trumps Waste Elimination Increase WIP if required to maintain flow even though it will add waste Eliminate waste to improve efficiency Do not pursue economy of scale Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

“Flow Manager” Role Christoph Achouiantz, Sandvik (Sweden), has shown that functionally silo’ed orgs without

“Flow Manager” Role Christoph Achouiantz, Sandvik (Sweden), has shown that functionally silo’ed orgs without a “project manager” responsible and accountable for receipt & delivery of customer orders and the flow of work from receipt to delivery, results is stagnation and a failure to make significant improvements Service Delivery Manager is now a standard role in Kanban implementation § Often called the “flow manager” in specific implementations Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

Roles Pool of Ideas Risk Analysis Requirements Analysis ∞ 24 - 48 12 -

Roles Pool of Ideas Risk Analysis Requirements Analysis ∞ 24 - 48 12 - 24 Ready for Engineering 4 - 12 K L Committed 4 J I Development 3 Ongoing Done Testing 3 Verification H D F Service Request Manager Service Delivery Manager Manages Flow Marshals Options Reject Discarded O Email: dja@leankanban. com P Q Commitment point Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008 Done

Improving Liquidity through Labor Pool Flexibility Engineering Ready Teams 2 Change Requests 3 Prod.

Improving Liquidity through Labor Pool Flexibility Engineering Ready Teams 2 Change Requests 3 Prod. Defects 2 F H Maintenance 1 Team Lead. Analysis 3 Done Ongoing Development 3 Done Ongoing Testing 3 Verification Acceptance It’s typical to see splits of Promotions from junior fixed team workers versus team member flexible system workers to of flexible Joe C with an avatar D worker David between 40 -60% A P 1 clearly visualize why a pay PB DE rise is justified. Flexible Peter Roughly half the labor. E pool Rhonda workers help manage. Generalist or T-shaped are flexible workers MN people who can move liquidity risk AB better! Steven Brian flexibly across rows on the board to keep work flowing G GY Usability Improvement 1 Email: dja@leankanban. com Joann Ashok Junior who will be rotated through all 4 teams Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

What we missed Email: dja@leankanban. com Providing Value to Customers in Software Development Through

What we missed Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

Organizational Maturity Toyota is a Level 5 maturity company § Using scales such as

Organizational Maturity Toyota is a Level 5 maturity company § Using scales such as MMM or CMMI, Toyota would be classified as “optimizing” and a high maturity organization Good “Lean” requires high maturity Low maturity orgs are not ready for, e. g. § § “Stop the line” approach to defect fixing Software Product Lines Pull Systems, Triage, Risk assessment for prioritization and class of service designation Qualitative management, forecasting or simulation High trust correlates with high maturity § Low maturity organizations fail to create “failure tolerant” experimental cultures § Low maturity correlates with assignment of blame and seeking a scapegoat Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

Liquidity optimization Capacity allocation Classes of service 2 -tier Kanban Virtual Kanban Physical token

Liquidity optimization Capacity allocation Classes of service 2 -tier Kanban Virtual Kanban Physical token kanban Physical space kanban Aggregated teams CONWIP Person WIP Limit Emergent/Undefined Workflow Team Kanban Aggregated Personal Kanban Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

ility b a v i Surv o Last” tt “Buil Benefits of improving maturity

ility b a v i Surv o Last” tt “Buil Benefits of improving maturity Liquidity optimization ing g d e Hallocation Capacity iskservice ent Rof m e Classes g Capacityaallocation na M k Classes of service s 2 -tier Ri Kanban Virtual Kanban Physical token kanban lity edictabispace Pr. Physical kanban h Flow t o o m S , t s a FAggregated teams CONWIP Person WIP Limit Emergent/Undefined m Workflow fro g ief enin l e R rd Team Kanban u b r e v Aggregated O Personal Kanban Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

Flow Efficiency Flow efficiencies Dev of 1 -5% are commonly. Ready reported. Development *,

Flow Efficiency Flow efficiencies Dev of 1 -5% are commonly. Ready reported. Development *, ** Ideas > 40%5 is good! 3 Ongoing Done Test Ready 5 Testing 3 UAT ∞ Flow efficiency % = Work Time Flow efficiency measures the. Fpercentage of total lead D time is spent actually G H adding value (or PB knowledge) versus waiting I GY P 1 E DE Waiting Working Lead Time C ∞ x 100% A Multitasking means time spent in working columns is often waiting MN time AB Waiting Customer Lead Working Time * Zsolt Fabok, Lean Agile Scotland, Sep 2012, Lean Kanban France, Oct 2012 ** Hakan Forss, Lean Kanban France, Oct 2013 Email: dja@leankanban. com Release Ready Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008 Waiting

Implications of low Flow Efficiency Release Ready Low flow efficiency most Testing UATof lead

Implications of low Flow Efficiency Release Ready Low flow efficiency most Testing UATof lead Developmentmeans that 3 5 3 ∞ factors ∞ time is 5 influenced by environmental Ongoing Done that are unlikely to change soon Ideas Dev Ready Test Ready A As F a result, lead. Dtime is. CP 1 not very sensitive to the In. Ea low flow G H size or complexity PB of a efficiency GY DE MN I single work item, or to AB environment, Class of the specific people service is much more involved or their Working Waiting likely to influence lead individual capabilities Customer Lead time. Time than any other factor Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

Classes of Service Used to hack lead time probability distributions Used to hack flow

Classes of Service Used to hack lead time probability distributions Used to hack flow efficiency Class of service based on risks Classes of service for flow Classes of reservation for scheduling An example of codifying decision making in explicit policy § A higher maturity behavior Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

Cadence versus “kanban” Visual “pull” signals enable faster better team coordination than regularly scheduled

Cadence versus “kanban” Visual “pull” signals enable faster better team coordination than regularly scheduled meetings Cadence is reduced to batch transfer to feed a kanban system, or to delivery value from a kanban system Cadence is also useful for feedback mechanisms and improvements, however, some teams also moved to event-driven on-demand models for such feedback § E. g. 3 improvement suggestions triggers a “kaizen” event Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

Forecasting & Simulation In 2017, probabilistic forecasting and Monte Carlo simulation is gaining traction

Forecasting & Simulation In 2017, probabilistic forecasting and Monte Carlo simulation is gaining traction Primary proponents are Larry Maccerone (formerly, SEI Carnegie Mellon) & Troy Magennis § Other significant contributions in this field include Frank Vega, Dimitar Bakardzhiev, Alexi Zheglov, Daniel Vacanti, Ramesh Patil Swift Kanban work item tracking software now supports several quantitative measures including Monte Carlo, reference class forecasting, and system liquidity metrics such as transaction volume, volatility & turbulence Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

Still waiting? . . . : -/ Email: dja@leankanban. com Providing Value to Customers

Still waiting? . . . : -/ Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

Lean Software Product Development “What DAVID ANDERSON has done with Kanban is — he

Lean Software Product Development “What DAVID ANDERSON has done with Kanban is — he has saved LEAN SOFTWARE DEVELOPMENT [from obscurity]!” Ironic, then, that a Lean Software Development movement has yet to emerge. The term “Lean Software Development” gets used a lot, but to be honest, there isn’t much evidence that Lean concepts actually are being applied to the decision making involved in designing and testing software code. There have definitely been writings on Lean Software Development—most notably, James Sutton and Peter Middleton’s Lean Software Strategies (Productivity Press, 2005). However, most of the Lean thought leadership has really focused on management rather than the how-to of doing software. I’m curious as to why a movement hasn’t emerged. There are definitely good ideas around that echo the work of Reinertsen in Lean Product Development, such as architechtural partioning of variability via Software Product Lines (a. k. a. Software Factories), and deferred decision making, as well as option theory in software architecture and design. Despite the fact that recognizably Lean … Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

Lean Software Development (cont) approaches to software development exist, and that these approaches are

Lean Software Development (cont) approaches to software development exist, and that these approaches are distinct from Agile software development, no movement has formed to drive their adoption. The Agile movement, with its craftsmanship ethic, has rejected the Software Product Lines/Software Factories’ “economy of scope” and reuse of code fragments. Lessons in Agile Management, pages 289 -290, Anderson, David J. Blue Hole Press, Seattle, 2012 Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

Thank you! Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean

Thank you! Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

About David Anderson is an innovator in management of 21 st Century businesses that

About David Anderson is an innovator in management of 21 st Century businesses that employ creative people who “think for a living”. He leads a training, consulting, publishing and event planning business dedicated to developing, promoting and implementing new management thinking & methods… He has 30+ years experience in the high technology industry starting with computer games in the early 1980’s. He has led software organizations delivering superior productivity and quality using innovative methods at large companies such as Sprint and Motorola. David defined Enterprise Services Planning and originated the Kanban Method an adaptive approach to improved service delivery. His latest book, published in June 2012, is, Lessons in Agile Management – On the Road to Kanban. David is Chairman of Lean Kanban Inc. , a business operating globally, dedicated to providing quality training & events to bring Kanban and Enterprise Services Planning to businesses who employ those who must “think for a living. ” Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008

Acknowledgements …. Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean

Acknowledgements …. Email: dja@leankanban. com Providing Value to Customers in Software Development Through Lean Principles, Mahta, Anderson & Rafoo 2008