Lean Software Development Lean Industries Series


Published on

Published in: Technology, Business
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Lean Software Development Lean Industries Series

  1. 1. Lean Software Development Lean Industries Series
  2. 2. Topics <ul><li>What is Lean? </li></ul><ul><li>Root Causes of Software Failure </li></ul><ul><li>Principles of Lean Software Development </li></ul><ul><li>The Lean Imperative </li></ul><ul><li>Implementing Lean Software Development </li></ul><ul><li>Summary </li></ul>
  3. 3. Root Causes of Software Failure <ul><li>Frequently and Rapidly Changing Customer Requirements </li></ul><ul><ul><li>They can not be fulfilled by a rigid design </li></ul></ul><ul><li>Centralized Decision Making </li></ul><ul><ul><li>increases the lead-time and makes the whole process rigid and slow </li></ul></ul>
  4. 4. Root Causes of Software Failure <ul><li>Rigid Project Scope Management </li></ul><ul><ul><li>Holding the project scope to exactly what was envisioned at the beginning of a project offers little value to the user whose world is changing and wastes time and space </li></ul></ul><ul><li>Traditional Software Practices (Linear Development </li></ul><ul><ul><li>Most quality issues are because of linearity in the development process that doesn’t allow the iterations and quality checks to occur before the moving to next stage of development cycle </li></ul></ul>
  5. 5. Principles of Lean Software 1. Eliminate Waste The Seven Wastes of Manufacturing Overproduction Inventory Extra Processing Steps Motion Defects Waiting Transportation The Seven Wastes of Software Development Extra Features Requirements Extra Steps Finding Information Bugs Not Caught by Tests Waiting for Decisions Handoffs
  6. 6. Implementing Lean Software <ul><li>Change-Tolerant Software </li></ul><ul><ul><li>As products and features are added, complexity grows exponentially </li></ul></ul><ul><ul><li>Complexity calcifies code, complex software becomes brittle and breaks easily </li></ul></ul><ul><ul><li>The way to deal with complexity is to build change tolerance into the development process – use a process that keeps code simple </li></ul></ul><ul><ul><li>Simplify code as development proceeds </li></ul></ul><ul><ul><li>All new code should be integrated into the code base daily – or more often </li></ul></ul>
  7. 7. <ul><li>Lean Software Development Principles Overview: </li></ul><ul><ul><li>Eliminate waste </li></ul></ul><ul><ul><li>Satisfy stake holders </li></ul></ul><ul><ul><li>Empowerment </li></ul></ul><ul><ul><li>Deploying comprehensive testing </li></ul></ul><ul><ul><li>Deliver as fast as possible </li></ul></ul><ul><ul><li>Refactoring </li></ul></ul><ul><ul><li>Learn by experimentation </li></ul></ul><ul><ul><li>Measure business impact </li></ul></ul><ul><ul><li>Optimize across organization </li></ul></ul>Summary
  8. 8. <ul><li>Improve the System: Brilliant products emerge from a unique combination of opportunity and technology. </li></ul><ul><ul><li>Focus on the Entire Value Stream – from concept to cash. – from customer request to deployed software. </li></ul></ul><ul><ul><li>Deliver a Complete Product - Develop a complete product, not just software.  Complete products are built by complete teams. </li></ul></ul><ul><ul><li>Measure UP - Measure process capability with cycle time. Measure team performance with delivered business value. Measure customer satisfaction with a net promoter score. </li></ul></ul>Summary
  9. 9. <ul><li>Lean thinking dictates that scope will take care of itself if the domain is well understood and there is a well-crafted, high-level agreement on the system’s function in the domain </li></ul><ul><li>Scope will take care of itself if the project is driven in time buckets that aren’t allowed to slip </li></ul><ul><li>Scope will take care of itself if both parties focus on rapid development and problem solving, and adopt waste-free methods of achieving these goals </li></ul><ul><li>The Lean Software Principles can make highest quality, lowest cost, shortest lead-time software development possible </li></ul>Summary