lean practices for software development
DESCRIPTION
Lean Practices For Software DevelopmentTRANSCRIPT
Lean Practices for Software Development
@ Sandeep Yadav
What is Lean?
• Practices to maximize customer value while minimizing waste.
• Deliver Quality products with sustainably shortest lead time.
Source of Software Development Principles
Reduce Waste
Waste Description ExamplePartially done work Work started but not complete. Code waiting for testing.Specs waiting for
development
Extra processes Extra work that does not add value Unnecessary approvals.Unused documentation.
Extra features Features that are not required or are thought of as “Nice to haves”
Gold plating.Technology Features.
Task Switching Multitasking between several different projects when there are context switching penalties
People on multiple projects
Waiting Delays waiting for reviews and approvals Waiting for approvals.Waiting for reviewsMotion The effort required to communicate or move
information or deliverables from one group to another; if teams are not co-located this effort may need to be greater
Distributed teams. Handover
Defects Defective software that need correction Incorrect Requirements. Software bugs
Take an Economic View• If you want to quantify one thing ,Quantify the Cost
of Delay. • Cost Of Delay=Business Value + Time Criticality +
Risk Reduction/Opportunity enablement.
Manage Queues
• Queues create longer cycle time, increase risk , increase variability, lower quality, decreases motivation.
• Little's Law: Avg wait time = avg queue length / avg processing rate
• Faster processing time decreases wait• Control wait times by controlling queue lengths• Make invisible visible
Exploit Variability
• Reducing variability impacts innovation and hence the profitability.
• Use Spikes, Cadence, Synchronization , Forecasting.
• Don’t remove variability manage the economic impact-maintain portfolio.
Reduce Batch Size
• Larger batch size creates longer cycle time, increase risk , increase variability, lowers quality.
• Slice stories -points.
Apply WIP Constraints
• Context Switching cost. • WIP limits help to control cycle time, identify
blockers, make wait times predictable and prevents uncontrolled expansion of work.
Accelerate Feedback
• Facilitated by Small batches. • Truncates unsuccessful paths quickly.• Reduces risk.• Improves efficiency of learning.
SUMMARY
• Reduce Waste.• Take an Economic View. • Actively Manage Queues.• Exploit Variability.• Reduce Batch Size.• Apply WIP Constraints.• Accelerate Feedback.