49
Copyright © 1995-2014, Dennis J. Frailey 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired Principal Fellow, Raytheon Company Sole Proprietor, DJF CO [email protected]

Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

Embed Size (px)

Citation preview

Page 1: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

1

Meeting Tight Software Schedules Through

Cycle Time Reduction

Dennis J. FraileyRetired Principal Fellow, Raytheon Company

Sole Proprietor, DJF [email protected]

Page 2: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

3Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

3

Outline

Background - Why Cycle Time is Important– Cycle Time Reduction Issues and

Examples– Defining Cycle Time

Three Fundamental Problems Typical Causes Spotting the Symptoms and

Opportunities Fixing the Problems - Five Principles A Few Lessons Learned

Page 3: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

4Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

4

Why Cycle Time is Important

Yes, Sir!Right Away,

Sir.

I needthat software

no later than next week! Why is it taking so long?

But we’re already working

overtime!

We’ll work overtime to get

it out, sir.

Page 4: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

5Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

5

Cycle time is the time required to execute all activities in a process, including actual processing time AND all waiting time

Definition of Cycle Time

Consider a “10 minute” oil change

Page 5: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

6Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

6

Short Cycle Time Gives You a Competitive Edge

You sell your software while the competitor is still completing theirs

You start the next software product while the competitor is still completing the current one

You lower your costs Or you can start development later in the

program cycle– More time to determine the requirements– And, once you start, you allow less time to

change requirements

Page 6: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

7Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

7

How Can Cycle Time be Improved?

The following video illustrates how to improve cycle time

As you watch, think of ideas that might be applicable to software development

What did they do to reduce cycle time?

Page 7: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

8Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

8

Some Lessons from the Cycle Time Video

What did they do?

Is there a software counterpart?

Things they did:+_%$#@&

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Page 8: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

9Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

9

How do You Measure Cycle Time?

STATIC CYCLE TIME

The average of the actual cycle times (CT)experienced by some number (n) of products

CT1 + CT2 + CT3 + CT4 +...+ CTn

nCycle Time =

But this is not always easy to measure when many of the products are only partway through the process

… so we need a dynamic measure

Page 9: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

10Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

10

Dynamic Cycle Time

Cycle Time = WIP (products being developed)

THROUGHPUT (products produced/unit time)

The total work in process divided by the throughput of the process

WIP = Work in Process For related background, see Gross and Harris, in reference list, p83.

Page 10: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

11Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

11

Doing every process step faster? Working longer hours? Piling up work?

Faster!!!Faster!!!

How is Cycle Time Improved?

Page 11: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

12Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

12

Improving the Process

Cycle Time Improvement Is …

Page 12: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

13Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

13

Improving the Process

Reducing the Critical Path

Cycle Time Improvement Is …

Page 13: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

14Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

14

Improving the Process

Reducing the Critical Path

Eliminating Waits, Queues, Bottlenecks

Cycle Time Improvement Is …

Page 14: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

15Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

15

Improving the Process

Reducing the Critical Path

Eliminating Waits, Queues, Bottlenecks

Helping People work Smarter

Cycle Time Improvement Is …

Page 15: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

16Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

16

Improving the Process

Reducing the Critical Path

Eliminating Waits, Queues, Bottlenecks

Helping People work Smarter

Increased Cycles of Learning

Cycle Time Improvement Is …

Page 16: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

17Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

17

Improving the Process

Reducing the Critical Path

Eliminating Waits, Queues, Bottlenecks

Helping People work Smarter

Increased Cycles of Learning

Reengineering the Process

Cycle Time Improvement Is …

Page 17: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

18Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

18

Three Fundamental Problems

Variability– Some parts of the process are starved while

other parts are producing excessive output– Performance becomes inconsistent and

unreliable– This is what causes traffic jams!

Complex Processes– More work to do than is necessary– More opportunities to make mistakes

Bottlenecks and Constraints– Things that slow everything down

Page 18: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

19Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

19

Typical Causes ofCycle Time Problems

Variability Complexity Bottlenecks

MisplacedPriorities

IncompatibleTools

InefficientProcedures

PoorPlanning

etc.

Page 19: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

20Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

20

Spotting the Symptoms and the Opportunities

Symptom: excess WIP or “work in process”

– work waiting to be done that is not being done -- waiting in queues instead

– something is holding up the process

Causes: limited capacity, bottlenecks, poor processes, poor execution, various barriers imposed by the organization

Cycle Time = WIP (products being developed)

THROUGHPUT (products produced/unit time)

Page 20: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

21Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

21

Examples of Excessive WIPfor Software

Code waiting to be tested─ Not enough test equipment?─ Poor test planning?

Designs waiting to be coded

Specifications waiting to be inspected

Change requests waiting for approval

People waiting for the network to come up

… Hundreds more...

Page 21: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

22Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

22

Other Symptoms ofCycle Time Problems

Long waits and queues High inventory levels Excessive overtime High levels of rework / scrap

Tickets -->Tickets -->

How long isthis line?

How long isthis line?

Page 22: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

23Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

23

Reducing Rework - The Impact of Defects on Cycle Time

ProcessStep

Undetected

Defect

Several Steps

ProcessStep

Defect Detected

Page 23: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

24Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

24

Doing it Over Again

ProcessStep

Undetected

Defect

Several Steps

ProcessStep

Defect Detected

Rework costs money and time

Page 24: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

25Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

25

Look for Rework

REWORK is anything you do because you didn’t do it right the first time– debugging– correcting documentation– correcting designs– correcting requirements– retesting– responding to customer complaints

Page 25: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

26Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

26

Isn’t Rework Inevitable?

SOME rework is necessary, but much of it is not

Total rework is a measure of process efficiency

You probably have a lot more rework than you think

Page 26: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

27

Fixing the Problems --Five Principles of Cycle Time Improvement

Warning … some of these are counter-intuitive

Page 27: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

28Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

28

Where are the Opportunities?

~30% of the improvement comes from technical changes

– Process changes

– Tool changes

– Changing rules and operations

Page 28: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

29Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

29

Where are the Opportunities?

~70% of the improvement comes from organizational, cultural and environmental changes, such as

– Education

– Communication

– Management

– Teamwork

Page 29: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

30Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

30

Principle #1

Don’t optimize only your local part of the process

Speeding up every step of the process will cost a lot and will not help as much as speeding up the bottlenecks

Beware of inappropriate reward systems!

Look at the Entire Process

Page 30: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

31Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

31

Example Process – Pizza Shop

Pizza OvenPizza Oven

ToppingsToppings

CrustCrust

BoxBox

SlicerSlicer

DeliverDeliver

Take OrderTake Order Where could

the bottlenecks

be?

Where could the

bottlenecks be?

Page 31: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

32Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

32

Gain from Cycles of Learning

Changes are received and processed here ()

Sometimes it is better to do the job many times, in small chunks, than to do it all at

once

Principle #2

Page 32: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

33Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

33

Ways to Implement the Cycles of Learning Principle

Try a new compiler or debugging tool on one module first to see how well it works– Then decide whether to use it on more

modules Write one module using the new language

– Then decide whether to use the new language on a larger scale

Take one subset of the features through the whole process flow first to work out the quirks

Test server performance using dummy data

Page 33: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

34Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

34

Principle #3

Important when requirements change a lot or the process is new

The work to be done

Small batch principle

- allows for finding errors and requirements changes without large amounts of rework

Batch 1Rework

Batch 2Rework

Batch 3 Batch 4 Batch 5

Use Small Batches

Page 34: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

35Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

35

Principle #4

– Lots of entrances and exits– Vehicles of different sizes

and speeds– Some drivers uncertain of

what they want to do– Lots of stoplights to

“control” the flow (mainly to prevent collisions)

– Note: streets are usually crowded

The typical process runs unevenly, like vehicles on a city street

Aim for Smooth Flow

Page 35: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

36Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

36

The Ideal is Smooth Flow

The ideal process flows smoothly, like a train running on tracks

– Note: tracks are empty most of the time

Page 36: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

37Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

37

What Prevents Smooth Flow?

Bottlenecks and constraints that lead to:

– Queues and waits

– Work in process

For example:– Work piling up– Machines or software not

being available– Excessive approval

requirements

– People pulled off projects– Excessive rework– Product stuck in test

Incoming work

Page 37: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

38Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

38

Principle #5

Such as …– Shortening the longest step of the

process

– Shortening every step of the process

– Cutting the overhead without assessing the impact of the cut

Avoid the Naïve, Obvious and Wrong Solutions to Cycle Time Problems

Page 38: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

39Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

39

Productivity is ...

The quality or state of being productive

Webster’s 9th New Collegiate Dictionary

Productive:Having the power of producing;

Yielding or furnishing results, benefits, or profits

Webster’s 9th New Collegiate Dictionary

Page 39: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

40Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

40

Productivity is NOT being ...

Busy Industrious Virtuous

Productivity has to do with results (what and how much you produce), not with the means or

methods of production or the characteristics of the producer

Wealthy Hardworking etc.

Page 40: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

41Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

41

Measuring Productivity

Productivity is usually measured in terms of how much you produce in relation to how much you invest

Productivity = Output

Input or Investment

Page 41: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

42Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

42

Productivity Measures

Products produced per labor hour

Return on investment

Bushels of grain per acre of land

Modules tested per week

Requirements validated per day

A farmer who invents a new method of growing that doubles the output per acre would be more productive than a farmer

who works longer hours and doubles output per acre.

Page 42: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

43

A Few Lessons Learned

Page 43: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

44Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

44

Lesson Learned

Be Careful Whom you Reward Know the difference between busy and

productive Examine the value produced, not the

effort spent

Employee A•Works 8am – 9pm

Employee B•Works 8am – 5pm

• Produces 10 code units per month

• Produces 3 bugs per unit

• Produces 12 code units per month

• Produces 1.5 bugs per unit

Page 44: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

45Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

45

Practitioners generally focus on their work and on what they THINK is happening rather than on what IS happening

– They tend not to see all of the waits, queues, etc. that they cause themselves

– Their perception of how they spend their time is generally incorrect

– They are too busy getting the job done to see how they might improve it

Lesson Learned

Independent Observers May See Problems and Opportunities the Best

Page 45: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

46Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

46

Just as athletes rely on coaches, software engineers need to learn to trust in others to observe and help them do better

The Athletic Coach Analogy

Page 46: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

47Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

47

Lesson Learned

Software Developers AreAccustomed to Improving Cycle Time

Think of your software development process as a large computer program that runs too slow. > How would you make it run faster?

Imagine how you would speed up a computer program …….

Then draw analogies to the software development process …

And improve the process the way you would improve a program

Page 47: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

48Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

48

Summary

Background - Why Cycle Time is Important– Cycle Time Reduction Issues and

Examples– Defining Cycle Time

Three Fundamental Problems Typical Causes Spotting the Symptoms and

Opportunities Fixing the Problems - Five Principles A Few Lessons Learned

Page 48: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

49Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

49

References

Deming, W. Edwards, Out of the Crisis, MIT Press, 1982.

Goldratt, Eliyahu M. & Jeff Cox, The Goal, (North River Press, 1984.) Also, Theory of Constraints, It’s Not Luck, and Critical Chain Management.

Gross and Harris, Fundamentals of Queueing Theory (Wiley).

Swartz, James B., The Hunters and the Hunted, (Portland, Oregon, Productivity Press, 1994) ISBN 1-56327-043-9.

Page 49: Copyright © 1995-2014, Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired

Copyright © 1995-2014, Dennis J. Frailey

Reducing SW Cycle Time

50

END

Questions?Comments?