lean software development lean industries series
DESCRIPTION
TRANSCRIPT
Lean Software DevelopmentLean Industries Series
Topics
• What is Lean?
• Root Causes of Software Failure
• Principles of Lean Software Development
• The Lean Imperative
• Implementing Lean Software Development
• Summary
Root Causes of Software Failure
• Frequently and Rapidly Changing Customer Requirements
▫ They can not be fulfilled by a rigid design
• Centralized Decision Making
▫ increases the lead-time and makes the whole process rigid and slow
Root Causes of Software Failure
• Rigid Project Scope Management
▫ 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
• Traditional Software Practices (Linear Development
▫ 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
Principles of Lean Software1. Eliminate Waste
The Seven Wastes of Manufacturing
Overproduction
Inventory
Extra Processing Steps
Motion
Defects
Waiting
Transportation
The Seven Wastes of Software
DevelopmentExtra Features
Requirements
Extra Steps
Finding Information
Bugs Not Caught by Tests
Waiting for Decisions
Handoffs
Implementing Lean Software
• Change-Tolerant Software
▫ As products and features are added, complexity grows exponentially
▫ Complexity calcifies code, complex software becomes brittle and breaks easily
▫ The way to deal with complexity is to build change tolerance into the development process – use a process that keeps code simple
▫ Simplify code as development proceeds
▫ All new code should be integrated into the code base daily – or more often
• Lean Software Development Principles Overview:▫ Eliminate waste▫ Satisfy stake holders▫ Empowerment▫ Deploying comprehensive testing▫ Deliver as fast as possible▫ Refactoring▫ Learn by experimentation▫ Measure business impact▫ Optimize across organization
Summary
• Improve the System: Brilliant products emerge from a unique combination of opportunity and technology. ▫ Focus on the Entire Value Stream – from
concept to cash. – from customer request to deployed software.
▫ Deliver a Complete Product - Develop a complete product, not just software. Complete products are built by complete teams.
▫ Measure UP - Measure process capability with cycle time. Measure team performance with delivered business value. Measure customer satisfaction with a net promoter score.
Summary
• 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
• Scope will take care of itself if the project is driven in time buckets that aren’t allowed to slip
• 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
• The Lean Software Principles can make highest quality, lowest cost, shortest lead-time software development possible
Summary