no time to waste!

41
South Wales Agile Group - 26 March 2015 No Time to Waste! Dave Grant

Upload: david-grant

Post on 19-Jul-2015

116 views

Category:

Software


1 download

TRANSCRIPT

Page 1: No Time to Waste!

South Wales Agile Group - 26 March 2015

No Time to Waste! Dave Grant

Page 2: No Time to Waste!

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

Page 3: No Time to Waste!

IT Waste in the News

❖ BBC Digital Media Initiative

❖ £98m

❖ NHS National Programme for IT

❖ £12bn

Page 4: No Time to Waste!
Page 5: No Time to Waste!

Idiom

“Look after the pennies and the pounds will look after themselves”

Page 6: No Time to Waste!

Defining Waste

Page 7: No Time to Waste!
Page 8: No Time to Waste!
Page 9: No Time to Waste!

Toyota Production System

❖ Eiji Toyoda

❖ Taiichi Ohno

❖ 1948-1975

❖ Absolute Elimination of Waste

Page 10: No Time to 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”

Page 11: No Time to Waste!

Muda / 無駄❖ Seven Wastes

❖ Transportation

❖ Inventory

❖ Motion

❖ Waiting

❖ Over-Processing

❖ Over-Production

❖ Defects

Page 12: No Time to Waste!

Eighth Waste

❖ Jeffrey Liker

❖ Author, The Toyota Way

❖ Not Using Employee Creativity

Page 13: No Time to Waste!
Page 14: No Time to Waste!

Lean Software Development

❖ Tom & Mary Poppendieck

❖ Brought Lean to Software

Page 15: No Time to Waste!

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

Page 16: No Time to Waste!

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.

Page 17: No Time to Waste!

Partially Done Work

❖ Uncoded Documentation

❖ Unsynchronised Code

❖ Untested Code

❖ Undocumented Code

❖ Undeployed Code

Page 18: No Time to Waste!

Uncoded Documentation

❖ Massive requirements docs

❖ Develop iteratively

❖ Know your customer

Page 19: No Time to Waste!

Unsynchronised Code

❖ Resolving merge conflicts

❖ Small changes

Page 20: No Time to Waste!

Untested Code

❖ Inspection to prevent defects is good

❖ Inspection to find defects is waste

❖ Test-driven development

❖ Cross-functional teams

Page 21: No Time to Waste!

Undocumented Code

❖ Code should self-document

❖ User documentation

❖ BDD

Page 22: No Time to Waste!

Undeployed Code

❖ No value if no-one can use it

❖ Continuous delivery

Page 23: No Time to Waste!

Extra Features

❖ Worst kind of waste

❖ YAGNI

❖ Write less code

❖ Customer collaboration

❖ Emergent design

❖ Customer review

Page 24: No Time to Waste!

Relearning

❖ Forgetting reason for decision

❖ Forgetting to reuse code

❖ Knowledge silos

❖ Collocated teams

❖ Manage knowledge

Page 25: No Time to Waste!

Handoffs

❖ Test-fix cycles

❖ Support teams

❖ Collective code ownership

❖ Cross-functional teams

Page 26: No Time to Waste!

Task Switching

❖ Support teams

❖ Waiting for queue

❖ Minimise WIP

Page 27: No Time to Waste!

Delays

❖ Change advisory board

❖ Waiting for build

❖ Waiting for tester

❖ Waiting for reviewer

❖ 10 minute build

❖ Theory of constraints

Page 28: No Time to Waste!

Defects

❖ Manual test cycle

❖ Found during final verification

❖ Found by customers

❖ Test-fix churn

❖ Automated testing

❖ Test-driven development

Page 29: No Time to Waste!

Root Cause Analysis / Five-Whys

❖ Ask “why?” until you get to the root cause

❖ Propose countermeasures at every level

Page 30: No Time to Waste!

Not Using Employee Creativity

❖ Specialists

❖ Solutionising

❖ Autonomy

Page 31: No Time to Waste!

–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.”

Page 32: No Time to Waste!

Finding Waste

Page 33: No Time to 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”

Page 34: No Time to Waste!

Value Stream Mapping

❖ Choose a value stream

❖ Choose when to start and stop the timeline

❖ Identify the value stream owner

❖ Keep it simple

Page 35: No Time to Waste!

Choosing a Value Stream

❖ Group classes of development

❖ Hot fixing a defect

❖ Feature development

Page 36: No Time to Waste!

Choose Where to Start and Stop

❖ Product backlog

❖ Deployed to production

❖ Accepted by customer

Page 37: No Time to Waste!

Identify the Value Stream Owner

❖ One person

❖ Responsible for customer requests

❖ Product owner

Page 38: No Time to Waste!

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?

Page 39: No Time to Waste!

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

Page 40: No Time to Waste!

Recommended Reading