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

Slides:



Advertisements
Similar presentations
THEORY OF CONSTRAINTS & DRUM – BUFFER - ROPE
Advertisements

The Five Ss.
A Brief Introduction to Lean Concepts for the Office Bill Motley, CEM, CQMgr, PMP Program Director, Production, Quality & Manufacturing Curricula Development.
02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,
Copyright © 2004 Dennis J. Frailey, All Rights Reserved Slide 1 Dennis J. Frailey Raytheon Company Sponsored by ACM and Raytheon Lectureship.
Theory of Constraints Part II: TOC Concepts
©2003 Prentice Hall Business Publishing, Cost Accounting 11/e, Horngren/Datar/Foster Strategy, Balanced Scorecard, and Strategic Profitability Analysis.
Kenneth J. Andrews EMP Gen-X: Manufacturing Analysis What is the process?Build & test of AXIS machine for a specific Customer Who is the customer?MegaPower-
WEEK 05A – CAPACITY PLANNING AND CONTROL (CHAPTER 7S) Definitions, capacity measurement, MRP II and capacity, utilization, efficiency, breakeven SJSU Bus.
©2003 Prentice Hall Business Publishing, Cost Accounting 11/e, Horngren/Datar/Foster Strategy, Balanced Scorecard, and Strategic Profitability Analysis.
Quality, Time, and the Theory of Constraints
Strategy, Balanced Scorecard, and Strategic Profitability Analysis
Rev. 11/30/03SJSU Bus David Bentley1 Chapter 5 – Capacity Planning and Control Definitions, capacity measurement, MRP II and capacity, utilization,
Chapter 4 Assessing and Understanding Performance
Chapter 5 – Capacity Planning and Control
Material Handling. Materials Handling Materials handling is a non-value activity that your customer is unwilling to pay for. Constantly question material.
Chapter 6, Process-Flow Analysis
Ensuring Quality and Productivity If you forget the customer, nothing much else matters. —Anne Mulcahy, CEO, Xerox Corporation Chapter 2 Copyright © 2010.
Operations Management Contemporary Concepts and Cases Chapter Thirteen Scheduling Operations Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights.
The Productivity Formula McGraw-Hill/Irwin© 2006 The McGraw-Hill Companies, Inc. All rights reserved. 2-1.
Reaching Goals: Plans and Controls
Graduate Program in Business Information Systems
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Chapter 17, Lesson 2.  Making a trade-off is giving up one alternative good or service for another.  If you choose to buy one thing, you may not be.
McGraw-Hill/Irwin Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Reaching Goals: Plans and Controls Today’s smart supervisor.
Operations and Production Management
Introduction to the Theory of Constraints (TOC) & Critical Chain Project Management (CCPM) Major Mark McNabb.
© Copyright 2000 The Process Group and Dennis J. Frailey. All rights reserved. 1 Version 1.0 Meeting Tight Schedules Through Cycle Time Improvement The.
Managing Processes and Capabilities CHAPTER THREE.
From Quality Control to Quality Assurance…and Beyond Alan Page Microsoft.
“Without the Cost of Waste …”
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M23 - Version 9.01 SMU CSE 7315 Planning and Managing a Software Project.
Course: ETLS Managing for Improved Performance Professor: George G. Gleeson Student: Kou Song.
CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M10 8/20/2001Slide 1 SMU CSE 8314 /
IE450 Models Relating Cycle-time, Throughput, WIP and Batch Sizes
February 15, 2004 Software Risk Management Copyright © , Dennis J. Frailey, All Rights Reserved Simple Steps for Effective Software Risk Management.
Planning in Organizations Why supervisors and managers plan: Knowing what the organization is trying to accomplish helps them set priorities and make decisions.
Design - programming Cmpe 450 Fall Dynamic Analysis Software quality Design carefully from the start Simple and clean Fewer errors Finding errors.
Copyright © , Dennis J. Frailey, All Rights Reserved Day 5, Part 1, Page 1 1/11/2004 Day 5, Part 1 Basic Principles and Techniques of Productivity,
Chapter 1: Fundamental of Testing Systems Testing & Evaluation (MNN1063)
Kaizen Eventing: The process of observation and the elimination of waste in a process.
CSE SW Project Management / Module 15 - Introduction to Effort Estimation Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M15.
Gulay Litchfield For CQI-TECH PLC
Copyright © , Dennis J. Frailey, All Rights Reserved Day 2, Part 1, Page 1 1/11/2004 Day 2, Part 1 Estimating Software Size Section 2 Calculating.
CSE SW Project Management / Module 23 - Cycle Time Management and Negotiation Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M23.
CSE SW Measurement and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M21 version 3.09Slide 1 SMU CSE.
CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M18 8/20/2001Slide 1 SMU CSE 8314 /
Copyright © , Dennis J. Frailey, All Rights Reserved Day 5, Part 2, Page 1 5/1/2003 Day 5, Part 2 Applying the Principles and Techniques of Productivity,
CSE SW Measurement and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M09 version 5.09Slide 1 SMU CSE.
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M15 - Version 9.01 SMU CSE 7315 Planning and Managing a Software Project.
| +44(0) © ICE LTD 2009 All rights reserved. August 2009 version 1.3 Systems Thinking Facilitators.
Copyright © , Dennis J. Frailey, All Rights Reserved Day 5, Part 1, Page 1 8/8/2004 Day 5, Part 1 Basic Principles and Techniques of Productivity,
CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M11 8/20/2001Slide 1 SMU CSE 8314 /
Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M00 - Version 7.09 SMU CSE 8314 Software Measurement.
CSE SW Measurement and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M11 version 5.09Slide 1 SMU CSE.
Copyright © , Dennis J. Frailey, All Rights Reserved Day 5, Part 1, Page 1 5/1/2003 Day 5, Part 1 Basic Principles and Techniques of Productivity,
Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M21 - Version 7.09 SMU CSE 8314 Software Measurement.
CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M33 8/20/2001Slide 1 SMU CSE 8314 /
Introduction to the Theory of Constraints (TOC) & Critical Chain Project Management (CCPM) Major Mark McNabb.
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Process-Flow Analysis
Trends in Graduate Software Engineering Education
Real Metrics for Real Decisions
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Johanna Rothman Create Technical Excellence Chapter 9
Software visualization and analysis tool box
Goldratt's Theory of Constraints (TOC)
TIME BASED COMPETITION
Theory of Constraints Part II: TOC Concepts
Presentation transcript:

Copyright © , Dennis J. FraileyReducing SW Cycle Time 1 Meeting Tight Software Schedules Through Cycle Time Reduction Dennis J. Frailey Retired Principal Fellow, Raytheon Company Sole Proprietor, DJF CO

2 Copyright © , Dennis J. FraileyReducing SW Cycle Time 2 Copyright Statement © Copyright 2014 by Dennis J. Frailey. All rights reserved. Abstracting is permitted with credit to the source. Libraries and individuals are permitted to photocopy for private use. For permission to copy, reprint, or republish write to Dennis J. Frailey.

3 Copyright © , Dennis J. FraileyReducing 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

4 Copyright © , Dennis J. FraileyReducing SW Cycle Time 4 Why Cycle Time is Important Yes, Sir! Right Away, Sir. I need that 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.

5 Copyright © , Dennis J. FraileyReducing 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

6 Copyright © , Dennis J. FraileyReducing 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

7 Copyright © , Dennis J. FraileyReducing 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?

8 Copyright © , Dennis J. FraileyReducing SW Cycle Time 8 Some Lessons from the Cycle Time Video What did they do? Is there a software counterpart? Things they did: ~~~~~~~~~~ ~~~~~~~~~~~

9 Copyright © , Dennis J. FraileyReducing 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 CT 1 + CT 2 + CT 3 + CT CT n n Cycle 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

10 Copyright © , Dennis J. FraileyReducing 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.

11 Copyright © , Dennis J. FraileyReducing SW Cycle Time 11  Doing every process step faster?  Working longer hours?  Piling up work? Faster!!! How is Cycle Time Improved?

12 Copyright © , Dennis J. FraileyReducing SW Cycle Time 12 Improving the Process Cycle Time Improvement Is …

13 Copyright © , Dennis J. FraileyReducing SW Cycle Time 13 Improving the Process Reducing the Critical Path Cycle Time Improvement Is …

14 Copyright © , Dennis J. FraileyReducing SW Cycle Time 14 Improving the Process Reducing the Critical Path Eliminating Waits, Queues, Bottlenecks Cycle Time Improvement Is …

15 Copyright © , Dennis J. FraileyReducing SW Cycle Time 15 Improving the Process Reducing the Critical Path Eliminating Waits, Queues, Bottlenecks Helping People work Smarter Cycle Time Improvement Is …

16 Copyright © , Dennis J. FraileyReducing 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 …

17 Copyright © , Dennis J. FraileyReducing 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 …

18 Copyright © , Dennis J. FraileyReducing 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

19 Copyright © , Dennis J. FraileyReducing SW Cycle Time 19 Typical Causes of Cycle Time Problems

20 Copyright © , Dennis J. FraileyReducing 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)

21 Copyright © , Dennis J. FraileyReducing SW Cycle Time 21 Examples of Excessive WIP for 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...

22 Copyright © , Dennis J. FraileyReducing SW Cycle Time 22 Other Symptoms of Cycle Time Problems  Long waits and queues  High inventory levels  Excessive overtime  High levels of rework / scrap Tickets --> How long is this line? How long is this line?

23 Copyright © , Dennis J. FraileyReducing SW Cycle Time 23 Reducing Rework - The Impact of Defects on Cycle Time Process Step Undetected Defect Several Steps Process Step Defect Detected

24 Copyright © , Dennis J. FraileyReducing SW Cycle Time 24 Doing it Over Again Process Step Undetected Defect Several Steps Process Step Defect Detected Rework costs money and time

25 Copyright © , Dennis J. FraileyReducing 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

26 Copyright © , Dennis J. FraileyReducing 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

Copyright © , Dennis J. FraileyReducing SW Cycle Time 27 Fixing the Problems -- Five Principles of Cycle Time Improvement Warning … some of these are counter-intuitive

28 Copyright © , Dennis J. FraileyReducing SW Cycle Time 28 Where are the Opportunities? ~30% of the improvement comes from technical changes –Process changes –Tool changes –Changing rules and operations

29 Copyright © , Dennis J. FraileyReducing 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

30 Copyright © , Dennis J. FraileyReducing 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

31 Copyright © , Dennis J. FraileyReducing SW Cycle Time 31 Example Process – Pizza Shop Pizza Oven Toppings Crust Box Slicer Deliver Take Order Take Order Where could the bottlenecks be?

32 Copyright © , Dennis J. FraileyReducing 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

33 Copyright © , Dennis J. FraileyReducing 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

34 Copyright © , Dennis J. FraileyReducing 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 1 Rework Batch 2 Rework Batch 3Batch 4Batch 5 Use Small Batches

35 Copyright © , Dennis J. FraileyReducing 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

36 Copyright © , Dennis J. FraileyReducing 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

37 Copyright © , Dennis J. FraileyReducing 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

38 Copyright © , Dennis J. FraileyReducing 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

39 Copyright © , Dennis J. FraileyReducing 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

40 Copyright © , Dennis J. FraileyReducing 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.

41 Copyright © , Dennis J. FraileyReducing 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

42 Copyright © , Dennis J. FraileyReducing 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.

Copyright © , Dennis J. FraileyReducing SW Cycle Time 43 A Few Lessons Learned

44 Copyright © , Dennis J. FraileyReducing 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

45 Copyright © , Dennis J. FraileyReducing 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

46 Copyright © , Dennis J. FraileyReducing 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

47 Copyright © , Dennis J. FraileyReducing SW Cycle Time 47 Lesson Learned Software Developers Are Accustomed 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

48 Copyright © , Dennis J. FraileyReducing 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

49 Copyright © , Dennis J. FraileyReducing SW Cycle Time 49 References  Deming, W. Edwards, Out of the Crisis, MIT Press,  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

Copyright © , Dennis J. FraileyReducing SW Cycle Time 50 END Questions? Comments?