Date post: | 19-Jul-2015 |
Category: |
Software |
Upload: | david-grant |
View: | 114 times |
Download: | 1 times |
South Wales Agile Group - 26 March 2015
No Time to Waste! Dave Grant
Inspiration for This Talk
❖ Large Project
❖ Finance Industry
❖ 5 Full Time Teams
❖ Daily Burn Rate of c. £30,000
❖ Cost at Termination: £5-£7m
❖ Features Delivered to Customer: 0
IT Waste in the News
❖ BBC Digital Media Initiative
❖ £98m
❖ NHS National Programme for IT
❖ £12bn
Idiom
“Look after the pennies and the pounds will look after themselves”
Defining Waste
Toyota Production System
❖ Eiji Toyoda
❖ Taiichi Ohno
❖ 1948-1975
❖ Absolute Elimination of Waste
–Taiichi Ohno
“All we are doing is looking at the timeline from the moment a customer gives us an order to the point when we collect the cash. And we are reducing that timeline by removing the
nonvalue-added wastes”
Muda / 無駄❖ Seven Wastes
❖ Transportation
❖ Inventory
❖ Motion
❖ Waiting
❖ Over-Processing
❖ Over-Production
❖ Defects
Eighth Waste
❖ Jeffrey Liker
❖ Author, The Toyota Way
❖ Not Using Employee Creativity
Lean Software Development
❖ Tom & Mary Poppendieck
❖ Brought Lean to Software
Translating Muda into SoftwareManufacturing Software
In-Process Inventory Partially Done Work
Over-Production Extra Features
Extra Processing Relearning
Transportation Handoffs
Motion Task Switching
Waiting Delays
Defects Defects
Not Using Employee Creativity Not Using Employee Creativity
Partially Done Work❖ TODO: Put something good in here❖ Lorem ipsum dolor sit amet, consectetur
adipiscing elit. ❖ Nam nec mollis tellus. Aenean efficitur, risus
non hendrerit commodo, enim nibh placerat justo, in posuere velit felis ut diam.
❖ Cras accumsan purus vel erat congue, ultrices dapibus ante imperdiet. Mauris finibus mi eu bibendum lacinia.
❖ Maecenas dignissim tempor magna vel laoreet. Mauris sit amet mi at magna tempor lobortis non non est.
❖ Quisque dictum quis felis at vestibulum. Nam est est, rhoncus eget consequat id, euismod porttitor diam. Vivamus nec mi sollicitudin, sagittis felis eu, euismod lorem. Etiam sit amet velit placerat nulla pellentesque rutrum.
Partially Done Work
❖ Uncoded Documentation
❖ Unsynchronised Code
❖ Untested Code
❖ Undocumented Code
❖ Undeployed Code
Uncoded Documentation
❖ Massive requirements docs
❖ Develop iteratively
❖ Know your customer
Unsynchronised Code
❖ Resolving merge conflicts
❖ Small changes
Untested Code
❖ Inspection to prevent defects is good
❖ Inspection to find defects is waste
❖ Test-driven development
❖ Cross-functional teams
Undocumented Code
❖ Code should self-document
❖ User documentation
❖ BDD
Undeployed Code
❖ No value if no-one can use it
❖ Continuous delivery
Extra Features
❖ Worst kind of waste
❖ YAGNI
❖ Write less code
❖ Customer collaboration
❖ Emergent design
❖ Customer review
Relearning
❖ Forgetting reason for decision
❖ Forgetting to reuse code
❖ Knowledge silos
❖ Collocated teams
❖ Manage knowledge
Handoffs
❖ Test-fix cycles
❖ Support teams
❖ Collective code ownership
❖ Cross-functional teams
Task Switching
❖ Support teams
❖ Waiting for queue
❖ Minimise WIP
Delays
❖ Change advisory board
❖ Waiting for build
❖ Waiting for tester
❖ Waiting for reviewer
❖ 10 minute build
❖ Theory of constraints
Defects
❖ Manual test cycle
❖ Found during final verification
❖ Found by customers
❖ Test-fix churn
❖ Automated testing
❖ Test-driven development
Root Cause Analysis / Five-Whys
❖ Ask “why?” until you get to the root cause
❖ Propose countermeasures at every level
Not Using Employee Creativity
❖ Specialists
❖ Solutionising
❖ Autonomy
–Principles behind the Agile Manifesto
“Build projects around motivated individuals. Give them the environment and support they
need, and trust them to get the job done.”
Finding Waste
–Taiichi Ohno
“All we are doing is looking at the timeline from the moment a customer gives us an order to the point when we collect the cash. And we are reducing that timeline by removing the
nonvalue-added wastes”
Value Stream Mapping
❖ Choose a value stream
❖ Choose when to start and stop the timeline
❖ Identify the value stream owner
❖ Keep it simple
Choosing a Value Stream
❖ Group classes of development
❖ Hot fixing a defect
❖ Feature development
Choose Where to Start and Stop
❖ Product backlog
❖ Deployed to production
❖ Accepted by customer
Identify the Value Stream Owner
❖ One person
❖ Responsible for customer requests
❖ Product owner
Keep It Simple
❖ Two sheets of paper
❖ Two questions:
❖ How long does it take to fulfil a customer request
❖ What percentage of that time is spent adding value?
Value Stream Example
Add Feature to Backlog Estimation Coding Review Test Deploy
Value
Waste
5m 20m 2h 1h 2h 5m 2d 30m
2w1w 4h 2d 1w 5w 3d
2
1
6w 30m
7% Efficiency
Recommended Reading