1 / 68

Software Project Planning and Management

Day 5, Part 2 Applying the Principles and Techniques of Productivity, Quality and Cycle Time Management. Software Project Planning and Management. Dr. Dennis J. Frailey Principal Fellow Raytheon Company. The Overall Planning Cycle. Manage Risks. Analyze Job. Generate Initial Plans.

Télécharger la présentation

Software Project Planning and Management

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Day 5, Part 2Applying the Principles and Techniquesof Productivity, Quality and Cycle Time Management Software Project Planning and Management Dr. Dennis J. Frailey Principal Fellow Raytheon Company

  2. The Overall Planning Cycle Manage Risks Analyze Job Generate Initial Plans Generate Detailed Plans Execute Measure, Manage Productivity and Quality

  3. Summary of This Module • Simplifying the process • Reduce rework • Make processes more consistent • Analyze value-added (see part 1) • Analyze and optimize process flow • Periodically re-engineer the process • but not so often as to be disruptive • Manage the white space • Exercise to apply and demonstrate the power of these techniques

  4. Process Simplification

  5. Many Processes are Too Complex Volume 2 Volume 3 Volume 4 Volume 5 How to Change a Lightbulb Volume 1

  6. Process Complexity Means Low Productivity and Long Cycle Time • Typical software development processes are much more complex than they need to be • This often results from trying to be too comprehensive or too rigid • Processes are important • But they must be designed for efficiency We need to focus on eliminating steps that do not add value to the product

  7. Ways of Analyzing Processes to Simplify Them • Reducing rework • Making processes more consistent • Value-added analysis • Flow analysis • Re-engineering the process • Managing the white space

  8. Reducing Rework

  9. Reducing Rework - The Impactof Defects on Cycle Time Defect Detected Process Step Process Step Undetected Defect Several Steps

  10. Doing It Over Again Defect Detected Process Step Process Step Undetected Defect Several Steps Rework costs money and time

  11. The Longer It Takes To Detect, The Higher The Cost C O S T PHASE WHERE DETECTED

  12. 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 • re-testing • responding to customer complaints • Some rework is hard to avoid but most can be reduced significantly

  13. Rework = Inefficiency • Total rework is a measure of process efficiency • You probably have a lot more rework than you think

  14. Making Processes More Consistent

  15. Impact ofInconsistent Processesand Procedures • Tools do not share data • Individuals do not understand each others’ work • Excessive time and effort spent on interfaces between different individuals and organizations System Engineer Story

  16. Example of InconsistentProcesses and Procedures On one project, we found that roughly 50% of the cycle time was spent in the following activities: • Converting documents and software from one tool/format to another • Correcting problems due to different programming styles • Handling interfaces between programs written in different languages

  17. Making Processes More Consistent • Use standards, especially for interfaces and data formats • Use compatible tools and procedures (even if they are not optimal for individual tasks!) • Develop a culture that resists “ownership” of processes and methods Email Story

  18. Flow Analysis

  19. Flow Analysis IdentifiesProcess Bottlenecks • Determine what people actually do throughout the entire software development cycle • what is their actual, day-to-day process? • Diagram the actual process flow • (not what you think it does - what it really does!) • Draw a flow chart or other diagram

  20. INSPECT START MODULE FIND SW MODULE DETERMINE WHY? OK? REPEAT INSPECTION NO CHECK STATUS YES LOGOUT CORRECT CORRECT ERROR CNT ERROR COUNT? NO IS ERROR CORRECT THE ERROR CORRECTION YES CORRECT? NO GO TO DEBUG STEP YES APPROVE DEBUG ERRORS LOGOUT LOGOUT FINISH Sample Process Flow Diagram

  21. Show Everything • Include all inputs, outputs, inspections, rework, temporary storage, set ups, etc. • everything that happens • Determine which components do not add value • Identify opportunities to eliminate waste and flow problems • Focus on non-essentials

  22. Areas to Focus On • Procedures and methods • Are they working effectively? • Are they interfacing well with each other? • People • Are they using their time efficiently? • Are they spending too much time waiting between tasks? • Coordination - or lack of it … continued

  23. More Areas to Focus On • Computers and Software • Are they available and effective? • Is too much time spent getting them to work? • Requirements/specifications/other inputs • Are they available when needed? • Queues and waits • Where is the excess WIP?

  24. Identifying Queues and Waits • Think of yourself as the software product being developed. • Take yourself through the process. • At what points are you just waiting, with no useful work being performed? • These are bottlenecks, waits or queues that should be removed

  25. Example -Eliminating Queues and Waits Problem: you take a long time to complete unit test because everyone needs the test system at the same time Analysis: the test system is a constraint Solution: optimize the constraint! But I must have it too!! I must have the test system today!

  26. Some Options for Solution • Stagger development schedules to even out use of test system • costs more up-front planning • requires people to be flexible in their schedules • Obtain more test systems • costs more money • but may be worth it

  27. Exercise - The Passing Game • Input: Six coins piled on the end of a long table, with six people lined up on one side of the table • Output: Six coins piled on the other end of the table • Goal: Shortest time / highest productivity Start Finish

  28. Rules for The Passing Game • Each coin must be picked up before it is moved. • Each person must hold each coin for a minimum of 1 second -- if they do not, you get a penalty - the coin moves back to the starting point See how fast you can move the coins by coordinating and synchronizing your handoffs

  29. Typical Results • First time - 22 seconds • After coordination of handoffs - 13 seconds

  30. Re-engineering the Process

  31. Customer, Environment, Technology Organization Organizations Optimize toFit the Customer • Organizations usually begin by designing themselves to fit the needs of the customer, the business environment and the available technology

  32. Customer, Environment, Technology Organization But Things Change • After time, the organization no longer fits the customer and/or the available technology

  33. Process Re-engineering • Basic Idea: from time to time, it is necessary to reinvent the process • Motivation can come from: • intense competition • new technologies • new customers • new laws • other changes in the environment • realization that competition does it better • realization that you have not rethought the issues in a long time and may be stagnating

  34. You define your organization to mirror or support a given environment. But environments change and changes can make organizations less effective. Changes Make Organizations and Processes Obsolete

  35. Organizations Need Periodic Redesign or Re-engineering “We’ve always done it this way and it works just fine” • Assess the environment • Rethink the processes • Reinstate the direct connections to • customers • suppliers • employees • etc.

  36. Example 1Credit Approval Process Before: • Credit approval must go through six departments • Each department takes 2-3 business days • So credit approval typically takes 3 weeks Meanwhile, the competition is approving credit in 1 week! And we are losing sales because of this.

  37. SolutionCredit Approval Process • Each department must increase productivity and reduce cycle time to 1 day per approval step • Each department does this through incentives (bonuses, rewards, etc.) • Will this work? • If so, why? • If not, why not?

  38. Wrong Solution!Credit Approval Process • It is accomplished by • Rejecting faulty input (even slightly faulty) • Producing output that is often defective Result: Average credit approval takes 6 weeks! Greatly increased rework!

  39. Re-engineered SolutionCredit Approval Process • One individual handles all six steps of each transaction • The six former departments become consultants, available to handle special cases but not involved in routine cases Credit approvals reduced to 1 week!

  40. Analysis • Changed the process • Changed the organization structure • Responsibilities • Authority • Changed the culture • What is important is serving the customer

  41. Graphic Artist Design Group: Assignment Dept G1 Graphic Artist Printing Group: Assignment Dept P1 G2 P2 G3 P3 G4 P4 G5 P5 Example 2Graphic Artist Group Original Process: Design Need Defective Products Sample Inspection Good Products

  42. Graphic Artist Design Group: Assignment Dept G1 Graphic Artist Printing Group: Assignment Dept P1 G2 P2 G3 P3 G4 P4 G5 P5 Example 2Graphic Artist Group Original Process: Design Need Defective Products Motive for this approach: even workloads Sample Inspection Good Products

  43. Graphic Artist Design Group: Assignment Dept G1 Graphic Artist Printing Group: Assignment Dept P1 G2 P2 G3 P3 G4 P4 G5 P5 Example 2Graphic Artist Group Original Process: Design Need Defective Products Sample Inspection Good Products Bad samples are common on the first attempt due to the nature of the work.

  44. Graphic Artist Design Group: Assignment Dept G1 Graphic Artist Printing Group: Assignment Dept P1 G2 P2 G3 P3 G4 P4 G5 P5 Example 2Graphic Artist Group Original Process: Design Need Defective Products Sample Inspection Good Products More defects are generated on the second cycle!

  45. Assignment Dept G1 P1 G2 P2 G3 P3 G4 P4 G5 P5 Re-engineered Process forGraphic Artist Group Improved Process: Design Need Defective Products Inspection Sample Good Products

  46. Assignment Dept G1 P1 G2 P2 G3 P3 G4 P4 G5 P5 Re-engineered Process forGraphic Artist Group Improved Process: Design Need Defective Products Inspection Sample Good Products By tying a graphic designer to a printer for the whole job, defects were repaired quickly and good products had greatly reduced cycle time.

  47. Example 3 SW Process Takes Too Long Problem: there are many delays during software test because of requirements errors and changes • Rework to fix code to match new requirements Analysis: we didn’t have time to examine and rework the requirements earlier

  48. Improving the SW Process Process changes: • ADD a requirements inspection • ADD time in the requirements phase to correct defective requirements • MODIFY the reward system to foster discovery of requirements defects during the requirements phase

  49. Results of Re-Engineering to Reduce Rework • Reduced total development time • Modest increment to requirements analysis schedule • Large reduction in debugging time • Reduced cost • The number of staff during requirements was smaller than the number during test • The amount of rework during the test phase was smaller so they saves money

  50. Rethinking The Passing Game • Re-engineer the process • You must follow the rules • But examine the assumptions Hint: it can be done in under 2 seconds!

More Related