Addressing Complexity in Enterprise-Level Software: Be Agile. Scale Up. Stay Lean. By Dean Leffingwell 2008-2013 Scaled Agile, Inc. and Leffingwell, LLC. 2008 Scaled - 2013 Agile Scaled Framework Agile, Inc. and is Leffingwell, a trademark LLC. of All Leffingwell, rights reserved. LLC. 1
About the Speaker Creator: Scaled Agile Framework Agile Enterprise Coach To some of the world s largest enterprises Agile Executive Mentor BMC, John Deere Chief Methodologist Rally Software Cofounder/Advisor Ping Identity, Roving Planet, Silver Creek Systems, Rally Software Founder and CEO ProQuo, Inc., Internet identity Senior VP Rational Software Responsible for Rational Unified Process (RUP) & Promulgation of UML Founder/CEO Requisite, Inc. Makers of RequisitePro Founder/CEO RELA, Inc. Colorado MEDtech 2
Keeping Pace Our development methods must keep pace with an increasingly complex world Our modern world runs on software. What doesn't now, likely will soon We ve had Moore s Law for hardware, and Moore s Law+ for envisioning what software could do But, our prior development practices haven t kept pace Agile shows the greatest promise, but was developed for small teams We need a new approach one that harnesses the power of Agile and Lean but applies to the needs of the largest software enterprise 3
We Thought We d be Programming Like This 4
But Sometimes It Feels Like This 5
A Proven Framework Can Help A proven, publicly-facing framework for applying Lean and Agile practices at enterprise scale http://scaledagileframework.com Synchronizes alignment, collaboration and delivery Scales successfully to large numbers teams Core values: 1. Code Quality 2. Program Execution 3. Alignment 4. Transparency 6
SAFe Roots Lean, Systems Thinking Iterative and Incremental Development Agile Development Principles of Product Development Flow Field experience at enterprise scale 7
We Have a Choice of Approaches 4 444 : Documents Documents Unverified Code Software 8
Value Delivery Accelerating Value Delivery Early value delivery accumulates and accumulates Time 9
Risk Reduces Risk Deadline Waterfall? Agile Time 10
Delivers Better Fit for Purpose Agile plan and result Measure of waterfall customer dissatisfaction waterfall plan, result 11
12
What s Behind the Framework? 13
Lean Thinking Provides the Tools We Need To Scale Respect for People Product Development Flow Kaizen 14
Goal: Speed, Value, Quality Respect for People Product Development Flow Kaizen All we are doing is looking at the timeline, from the where the customer gives us an order to where we collect the cash. And we are reducing the time line by reducing the non-value added wastes. Taiichi Ohno THE GOAL Sustainably shortest lead time Best quality and value to people and society Most customer delight, lowest cost, high morale, safety We need to figure out a way to deliver software so fast that our customers don t have time to change their minds. Mary Poppendieck Most software problems will exhibit themselves as a delay. Al Shalloway 15
Product Development Flow Respect for People Product Development Flow Kaizen Reinertsen, Don. Principles of Product Development Flow 1. Take an economic view 2. Actively manage queues 3. Understand and exploit variability 4. Reduce batch sizes 5. Apply WIP constraints 6. Control flow under uncertainty: cadence and synchronization 7. Get feedback as fast as possible 8. Decentralize control 16
Reduce Batch Size Small batches go through the system faster with lower variability Large batch sizes increase variability High utilization increases variability Severe project slippage is the most likely result Project slippage rises exponentially with duration Fig. Source: Poppendieck. Implementing Lean Software Development Reducing batch size Reduces cycle time; faster feedback Decreases variability and risk Most important batch is the transport (handoff) batch Proximity (co-location) enables small batch sizes Reinertsen, Don. Principles of Product Development Flow 17
We Have a Choice of Approaches 4 444 : Documents Documents Unverified Code Software all Work in Process at the same time value delivery and feedback at the end small Work in Process value delivery and feedback in small increments 18
Nothing Beats an Agile Team Empowered, self-organizing, self-managing crossfunctional teams Valuable, fully-tested software increments every two weeks Scrum project management practices and XP-inspired technical practices Teams operate under program vision, system, architecture and user experience guidance Value description via User Stories 19
That Focuses on Code Quality You can t scale crappy code Agile Architecture Code Quality Continuous Integration Collective Ownership Test-First Refactoring Pair Work Code Quality Provides: Higher quality products and services, customer satisfaction Predictability and integrity of software development Development scalability Higher development velocity, system performance and business agility Ability to innovate 20
Systems Must be Managed A system must be managed. It will not manage itself. Left to themselves, components become selfish, competitive, independent profit centers, and thus destroy the system.... The secret is cooperation between components toward the aim of the organization. W. Edwards Deming 21
Scale to the Program Level Self-organizing, self-managing team-of-agile-teams Continuous value delivery Aligned to a common mission via a single backlog Common sprint lengths and estimating Face-to-face planning cadence for collaboration, alignment, synchronization, and assessment Value description via Features and Benefits 22
Every Team Must Be on the Train What do we integrate here? Planned release Waterfall Doesn t Iterate MRD PRD SRS Dev Drop 1 to QA Drop 2 to QA Release docs delay Test drop 1 Test drop 2 Integration can t work here Ports, certs PSI Actual release Agile Iterates Release docs Iterate Iterate Iterate Iterate Iterate Iterate Ports, certs 23
Cadence Alone is Not Enough...time spent thinking you are on track. System PSI Iterate Iterate Iterate Iterate Iterate Iterate External Release Release docs Planned system release date Integrate and slip! PSI Port and certs Release docs External Release Iterate Iterate Iterate Iterate Iterate Iterate PSI Port and certs Release docs External Release Iterate Iterate Iterate Iterate 24
Synchronize to Assure Delivery PSI System Iterations Sys 1 Sys 2 Sys 3 Sys 4 Sys 5 Sys 6 Sys 7 Sys 8 System Team Continuous Integration PSI Release docs Iterate Iterate Iterate Iterate Iterate Iterate PSI Ports certs Dev Teams Continuous Integration Release Docs Iterate Iterate Iterate Iterate Iterate Iterate Ports certs Continuous Integration PSI Release Docs Iterate Iterate Iterate Iterate Iterate Iterate Ports certs 25
Develop on Cadence. Deliver on Demand. Development occurs on a fixed cadence. The business decides when value is released. Customer Preview Major Release Customer Upgrade Major Release New Feature Deliver on Demand PSI PSI PSI PSI PSI Develop on Cadence 26
Scaling to the Portfolio A system is a network of interdependent components that work together to try to accomplish the aim of the system. A system must have an aim. Without an aim, there is no system. W. Edwards Deming 27
Scale to the Portfolio Centralized strategy, decentralized execution Investment themes provide operating budgets for trains Kanban systems provide portfolio visibility and WIP limits Objective metrics support governance and kaizen Value description via Business and Architectural Epics 28
PPM Responsibilities Central role in Strategy and Investment Funding, Program Management and Governance Allocate and assure funding to strategy Close the loop on funding and program execution, measures and reporting, compliance Assist, support program execution 29
Program Portfolio Management SAFe provides transformational patterns to Lean Agile PPM #1 Centralized control Decentralized decision-making #2 Project overload #3 Detailed project plans #4 Centralized annual planning Demand management; continuous value flow Lightweight, epic-only business cases Decentralized, rolling-wave planning #5 Work Breakdown Structure Agile estimating and planning #6 Project-based funding and control #7 Waterfall milestones Self-organizing, self-managing Agile Release Trains Objective, fact-based measures and milestones 30
Agile Program Portfolio Management Supporting lean and agile practices for business results 1. Decentralized decision-making 2. Demand management; continuous value flow 3. Lightweight epic business cases 8. Objective, fact- based measures and milestones 4. Decentralized, rolling-wave planning 5. Agile estimating and planning 6. Self-managing Agile Release Trains 31
Winning is More Fun Average delivery cycle time down from 12 month to 3 months 6X increase in delivery frequency 50% cost to deliver reduction 95% decrease in product defects 100% projects delivered on time and on budget Happy project sponsors Happy teams 32
Winning is More Fun Field issue resolution time: down 42% Warranty Expense: down 50% Time to production: down 20% Time to market: 20% faster Employee engagement: Up 9.8% 33
Winning is More Fun in Outsourcing, Too Substantially improved communication with peer teams, program stakeholders, and domain and technical experts Teams were able to commit to a realistic plan Better alignment to the key program priorities Teams understand why are we doing this important work 34
Better Results are More Fun 44% decrease in post release defects 76%+ decrease in time to respond to customer request greatest thing Mitchell has done in my 14 years here 35
The Management Challenge If you can t change the system who can? It is not enough that management commit themselves to quality and productivity, they must know what it is they must do. - W. Edwards Deming 36
Foundation: Leadership Lean Thinking Manager-Teachers Respect for People Product Development Flow Management is trained in lean thinking Kaizen Bases decisions on this long term philosophy 1. Take an economic view of the full value chain 2. Embrace the Agile Manifesto 3. Develop people, not things 4. Own the system of which you speak 5. Decentralize control 6. Unlock the intrinsic motivation of knowledge workers 7. Implement software development flow. Visualize work. Manage work in process. 8. Build high-performing Agile teams 37
Conclusion The foundation of Lean is leadership The foundation of SAFe is you 38