Scheduling Fundamentals, Techniques, Optimization Emanuele Della Valle, Lecturer: Dario Cerizza http://emanueledellavalle.org



Similar documents
Scheduling Fundamentals, Techniques, Optimization Emanuele Della Valle, Lecturer: Dario Cerizza

Scheduling. Anne Banks Pidduck Adapted from John Musser

Goals of the Unit. spm adolfo villafiorita - introduction to software project management

Project Time Management

Scheduling Glossary Activity. A component of work performed during the course of a project.

Hands on Microsoft Project (Part I) From a WBS to a Complete Schedule Emanuele Della Valle, Lecturer: Dario Cerizza

Chapter 6: Project Time Management. King Fahd University of Petroleum & Minerals SWE 417: Software Project Management Semester: 072

Precedence Diagram Method. CSTM 462 Planning & Scheduling

Project Time Management

Project Time Management

PROJECT TIME MANAGEMENT. 1 Powered by POeT Solvers Limited

PROJECT TIME MANAGEMENT

Microsoft Project From the WBS to a Complete Schedule Emanuele Della Valle, Lecturer: Dario Cerizza

8. Project Time Management

Project Time Management

Chapter 2: Project Time Management

Project Planning and Scheduling

Chapter 6: Project Time Management

Appendix A of Project Management. Appendix Table of Contents REFERENCES...761

Time Management. Part 5 Schedule Development. Richard Boser

The Project Planning Process Group

CPM-200: Principles of Schedule Management

Egypt Scholars Presented by Mohamed Khalifa Hassan Jan 2014

Module 11. Software Project Planning. Version 2 CSE IIT, Kharagpur

Scheduling Best Practices

Importance of Project Schedules. matter what happens on a project. projects, especially during the second half of projects

Operational Research. Project Menagement Method by CPM/ PERT

Chapter 4: Project Time Management

SE351a: Software Project & Process Management

Session 6. Microsoft Project. Emanuele Della Valle. Lecturer: Dario Cerizza

Test Fragen + Antworten. October 2004 Project Management Wilhelm F. Neuhäuser IBM Corporation 2003

SWEN 256 Software Process & Project Management

Unit 4: Time Management (PMBOK Guide, Chapter 6)

Project Planning. Lecture Objectives. Basic Reasons for Planning. Planning. Project Planning and Control System. Planning Steps

CRITICAL PATH METHOD (CPM) SCHEDULES

Module 3: The Project Planning Stage

Information Technology Project Management, Sixth Edition. Note: See the text itself for full citations. More courses at cie-wc.edu

TIME MANAGEMENT TOOLS AND TECHNIQUES FOR PROJECT MANAGEMENT. Hazar Hamad Hussain *

Lecture 6: Project Time Management By: Prof. Lili Saghafi. Information Technology Project Management, Fifth Edition

Learning Objectives. Learning Objectives (continued) Importance of Project Schedules

pm4dev, 2015 management for development series Project Schedule Management PROJECT MANAGEMENT FOR DEVELOPMENT ORGANIZATIONS

Information Technology Project Management

CSC 443: IT Project Management Midterm 1 exam - Spring semester March 21 st, 2012

Network Calculations

Chapter-6. Developing a Project Plan

Test Fragen. October 2003 Project Management Wilhelm F. Neuhäuser IBM Corporation 2003

10 Project Management with PERT/CPM

WORK PROGRAM GUIDELINES

Project Management Glossary

Use project management tools

Project Scheduling & Tracking

The work breakdown structure can be illustrated in a block diagram:

Project Management Chapter 3

PROJECT EVALUATION REVIEW TECHNIQUE (PERT) AND CRITICAL PATH METHOD (CPM)

ONLINE SUPPLEMENTAL BAPPENDIX PROJECT SCHEDULES WITH PERT/CPM CHARTS

Scheduling Resources and Costs

Table of Contents Author s Preface... 3 Table of Contents... 5 Introduction... 6 Step 1: Define Activities... 7 Identify deliverables and decompose

Project Time Management

Cambridge International AS and A Level Computer Science

Project Time Management Activity Definition Activity Sequencing Duration Estimating Schedule Development Schedule Control

Project Management Dr. James A. Bednar

Network Diagram Critical Path Method Programme Evaluation and Review Technique and Reducing Project Duration

Work Breakdown Structure (WBS) Emanuele Della Valle

The Plan s Journey From Scope to WBS to Schedule

Project Creation and Gantt Chart Design Using Microsoft Project. R. Baker. The University of Tampa

Chapter 3 Managing the Information Systems (IS) Project

Basic CPM Calculations

Object-Oriented Analysis. with the Unified Process. John W. Satzinger Southwest Missouri State University. Robert B. Jackson Brigham Young University

An Introduction to the Management Principles of Scheduling

Project and Production Management Prof. Arun Kanda Department of Mechanical Engineering Indian Institute of Technology, Delhi

SYSTEMS ANALYSIS AND DESIGN DO NOT COPY

22 Project Management with PERT/CPM

Chapter 6 (part 1) Project Time Management. (Project Scheduling)

Chapter 6. (PMBOK Guide)

Introduction to Project Management

Featured Paper Satya Narayan Dash By Satya Narayan Dash, PMP, CSM, MCP

Define Activities Sequence Activities Estimate Activity Resources Estimate Activity Durations Develop Schedule Control Schedule

Project Management. Week 4- Project Planning and Network Diagrams

PMP Exam Preparation Answer Key

Project Management Institute (PMBOK 2000) PMP Preparation Worksheet

Collaborative Scheduling using the CPM Method

Software Project Management I

added to the task, using Project, it will automatically calculate the schedule each time a new resource is added.

Application Survey Paper

B D E F

Project management Project Management

Time Management. Herb Pollard III

專 案 管 理 實 務 嘉 義 縣 政 府 學 分 班 : 管 理 實 務 專 題 2006 中 正 大 學 企 管 系 助 理 教 授 周 瑞 生

CPM -100: Principles of Project Management

12 Network Scheduling Techniques

Chapter 1.7 Project Management. 1. Project financing is one of the step of project management- State True or False

Systems Analysis and Design

CISC 322 Software Architecture. Project Scheduling (PERT/CPM) Ahmed E. Hassan

SCHEDULING AND TIME MANAGEMENT. Project Management and Leadership 2015D, PhD, PMP

Introduction to Project Management

MECH 896 Professional Development for MEng Students. Homework Discussion. Scheduling Overview. Winter 2015: Lecture #5 Project Time Management

Almost everyone in the planning and scheduling profession

Schedule Compression

Introduction to Project Management ECE 480. Erik Goodman

CSSE 372 Software Project Management: Software Project Scheduling

Transcription:

Planning and Managing Software Projects 2010-11 Session 5 Scheduling Fundamentals, Techniques, Optimization Emanuele Della Valle, Lecturer: Dario Cerizza http://emanueledellavalle.org

Credits 2 This slides are partially based on CEFRIEL s slides for PMI Certification and largely based on Prof. John Musser class notes on Principles of Software Project Management Original slides are available at http://www.projectreference.com/ Reuse and republish permission was granted

Today 3 Session 4 review Scheduling Fundamentals Scheduling Techniques Network Diagrams Bar Charts Schedule Optimization Techniques Mythical Man-Month

Session 4 Review 4 WBS Estimation

Session 4 Review WBS 5 Types: Process, Product, Hybrid Formats: Outline or graphical organizational chart High-level WBS does not show durations and dependencies WBS becomes input to many things, esp. schedule What hurts most is what s missing 100% Rule: the sum of the work on the children must be equal to 100% of the work referred by the parent no work outside the scope of the project is in the WBS

Session 4 Review Estimation 6 Estimation is the process of determining the effort and the duration of activities Setting realistic expectations is the single most important task of a project Unrealistic expectations based on inaccurate estimates are the single largest cause of software failure. Futrell, Shafer, Shafer, Quality Software Project Management

Session 4 Review Estimation 7 Use multiple methods if possible This reduces your risk If using experts, use two History is your best ally Especially when using Function Points, LOC (Lines of Code), Get buy-in Involve who will do the work in the estimation process Remember: estimation is an iterative process! Esteems must be updated during project execution Know your presentation techniques Esteems ranges Different esteems with different probabilities

Session 4 Review Estimation 8 Bottom-up Top-down Analogy More work to create but more accurate Often with Expert Judgment at the task level (buy-in) Used in the earliest phases Usually as is the case with Analogy or Expert Judgment Comparison with previous project: formal or informal Expert Judgment Via staff members who will do the work Most common technique along with analogy Best if multiple experts are consulted

Session 4 Review Estimation 9 Parametric Methods Know the trade-offs of: LOC & Function Points Function Points Benefit: relatively independent of the technology used to develop the system We will re-visit this briefly later in semester (when discussing software metrics )

Today 10 Session 4 review Scheduling Fundamentals Scheduling Techniques Network Diagrams Bar Charts Schedule Optimization Techniques Mythical Man-Month

Scheduling Fundamentals Initial Planning, Estimating and Scheduling 11 Initial Planning: It s needed for the SOW and the Project Charter It answers to the question: What/How Estimating - WBS (1 st pass) - Should consider activities for other project management documents - Software Development Plan, Risk Mgmt., Cfg. Mgmt. It answers to the question: How much/how long Scheduling - Size (quantity/complexity) and Effort (duration) - It s an iterative process It answers to the question: In which order - Precedence, concurrences, lag & lead times, slack & float, - It s an iterative process

Scheduling Fundamentals What Scheduling is 12 Once tasks (from the WBS) and effort/duration (from estimation) are known: then schedule Scheduling means: Define the start and end time of each activity Requires the definition of dependencies among tasks and the assignment of resources The result is Who does What by When Objective: find a trade-off among six objectives: Primary objectives 1. Best time 2. Least cost 3. Least risk Secondary objectives 4. Propose and evaluate different schedule alternatives 5. Make an effective use of resources 6. Reduce communication overhead among resources

Scheduling Fundamentals 4 reasons for dependencies among tasks 13 1. Mandatory Dependencies Hard logic dependencies Nature of the work dictates an ordering Ex: UI design precedes UI implementation Ex: Coding has to precede testing (*) 2. Discretionary Dependencies Soft logic dependencies Determined by the project management team Process-driven Ex: Discretionary order of creating certain modules (*) NOTE: substantial process innovation often take place when hard logic dependencies are shown to be wrong Ex: Test first approaches

Scheduling Fundamentals 4 reasons for dependencies among tasks 14 3. External Dependencies Outside of the project itself Ex: Release of 3rd party product; contract signoff Ex: stakeholders, suppliers, year end 4. Resource Dependencies Two task rely on the same resource Ex: You have only one DBA but multiple DB tasks

Scheduling Fundamentals Milestones 15 Identify crucial points in your schedule Have a duration of zero Shown as inverted triangle or a diamond Often used at review or delivery times Or at end or beginning of phases Ex: Software Requirements Review (SRR) Ex: User Sign-off Can be tied to contract terms

Scheduling Fundamentals Example Milestones over the waterfall process 16

Today 17 Session 4 review Scheduling Fundamentals Scheduling Techniques Network Diagrams Bar Charts Schedule Optimization Techniques Mythical Man-Month

Scheduling Techniques 18 Network Diagrams CPM PERT Bar Charts Milestone Chart Gantt Chart

Scheduling Techniques Network Diagrams 19 Developed in the 1950 s A graphical representation of the tasks necessary to complete a project Clearly visualizes the flow of tasks & relationships

Network Diagrams CPM & PERT 20 CPM Critical Path Method PERT Program Evaluation and Review Technique Sometimes treated synonymously All are models using network diagrams

Network Diagrams Two classic formats 21 Two classic formats AOA: Activity on Arrow AON: Activity on Node Each activity labeled with Identifier (usually a letter/code) Duration (in standard unit like days) There are other variations of labeling There is one start & one end event Time goes from left to right

Network Diagrams Formats 22

Network Diagrams Formats 23 AOA Activities on Arrows Circles representing Events Such as start or end of a given task Lines representing Tasks Thing being done Build UI a.k.a. Arrow Diagramming Method (ADM) AON Activities on Nodes Nodes can be circles or rectangles (usually latter) Task information written on node Arrows are dependencies between tasks a.k.a. Precedence Diagramming Method (PDM)

Network Diagrams AOA Example 24

Network Diagrams AON Example 25

Network Diagrams Critical Path 26 A Critical Path is a specific set of sequential tasks upon which the project completion date depends Tasks on the critical path cannot be delayed without delaying the project completion day If a task on the critical path is delayed by 1 day, then the project completion date is delayed (at least) by 1 day All projects have at least one Critical Path Critical Paths are the paths with duration = total project duration

Network Diagrams Critical Path: an Example on AOA diagram 27 How many paths are here? Which one is the Critical Path?

Network Diagrams Critical Path: some Corollaries 28 Delaying tasks on the critical path directly lengthens the schedule Accelerating tasks on the critical path does NOT directly shorten the schedule Critical Path may change to another as you shorten the current Delaying tasks NOT on the critical path does NOT directly lengthen the schedule Tasks out of the critical path have a little amount of time (named slack) that let them to be delayed without impacting on the project completion date Accelerating tasks NOT on the critical path does NOT change the project completion date Their slack increases

Network Diagrams Critical Path Method (CPM) 29 The process for determining and optimizing the critical path Should be done in conjunction with the project manager & the functional manager Based upon a 2-passes approach Forward Pass and Backward Pass As result of the 2-passes, the critical path becomes evident (This exercise is part of course exams!)

Network Diagrams CPM: Forward Pass 30 Used to determine early start (ES) and early finish (EF) times for each task Work from left to right Adding times to each node and each path Rule: when several tasks converge, the ES for the next task is the largest of preceding EF times

Network Diagrams CPM: Example: Forward (part 1) 31

Network Diagrams CPM: Example: Forward (part 2) 32

Network Diagrams CPM: Backward Pass 33 Used to determine the late finish (LF) and late start (LS) times Start at the end node and move backward left Subtract duration from connecting node s earliest start time Rule: when several tasks converge, the last finish for the previous task is the smallest of following last start times

Network Diagrams CPM: Example: Backward (part 1) 34

Network Diagrams CPM: Example: Backward (part 2) 35 180

Network Diagrams CPM: Example: Compute Slacks and Identify Critical Paths 36 Slack = Late Finish Early Finish = Late Start Early Start Critical Path: all tasks with slack = 0 30 0 0 0 0 0 90 90 180

Network Diagrams CPM and Slack & Reserve 37 Reserve Time Forward Pass Expected Finish Backward Pass Start Date Project Due Date

Network Diagrams CPM and Slack & Reserve 38 Negative Slack Forward Pass Expected Finish Backward Pass Start Date Project Due Date

Network Diagrams CPM: Advantages and Disadvantages 39 Advantages Show precedence well Reveal interdependencies not shown in other techniques Ability to calculate critical path Ability to perform what if exercises Disadvantages Default model assumes resources are unlimited You need to incorporate this yourself (Resource Dependencies) when determining the real Critical Path Difficult to follow on large projects

Network Diagrams PERT 40 Program Evaluation and Review Technique Based on idea that estimates are uncertain Therefore uses duration ranges And the probability of falling to a given range First is done on each task, then at project level For each task: 1) Start with 3 estimates for each task Optimistic Would likely occur 1 time in 20 Most likely Modal value of the distribution Pessimistic Would be exceeded only one time in 20

Network Diagrams PERT Formula 41 2) Calculate the expected time of each task: 3) Calculate the standard deviation of each task: i i i

Network Diagrams MEMO: bell curve (normal distribution) 42 [source : http://www.fontys.nl/lerarenopleiding/tilburg/engels/toetsing/bell_curve2.gif ]

Network Diagrams PERT Example on a single task 43 Planner 1 (P1) and Planner 2 (P2) are asked to estimate m, a and b for a task Planner 1 Planner 2 m 10d 10d a 9d 9d b 12d 20d Calculate estimated time and standard deviation Planner 1 Planner 2 PERT time 10.2d 11.5d Std. Dev. 0.5d 1.8d With the 68% of probability, Planner 1 says that task will last between 9.7 to 10.7 days vs. Planner 2 that says tasks will last between 9.7 to 13.3 days

Network Diagrams PERT Formula 44 For the whole project: 1) Update the network diagram with the expected time of each task 2) Calculate the critical path with the CPM method Result is the expected time of the whole project 3) For each task in the critical path, calculate the standard deviation of the project as:

Network Diagrams PERT: Advantages and Disadvantages 45 Advantages Accounts for uncertainty Disadvantages Time and labor intensive Assumption of unlimited resources is big issue Lack of functional ownership of estimates Mostly only used on large, complex project Get PERT software to calculate it for you

Network Diagrams CPM vs. PERT 46 Both use Network Diagrams CPM: deterministic PERT: probabilistic CPM: one estimate, PERT, three estimates PERT is infrequently used

Scheduling Techniques 47 Network Diagrams CPM PERT Bar Charts Milestone Chart Gantt Chart

Bar Charts Milestone Chart 48 It shows the temporal sequence of tasks One bar per each task Bar length is proportional to task duration It shows only more general tasks of the WBS

Bar Charts Gantt Chart 49 As the milestone chart, it shows the temporal sequence of tasks and their duration Moreover It consider all tasks organized in groups and subgroups It shows dependencies among tasks It may also show: Start and end dates of each task Resources involved in each task Percentage of completion of each task (useful during project controlling phases) Today date (Next lab lesson will entirely focus in drawing Gantt charts) (A Gantt chart is required by last homework)

Gantt Chart An example 50 ID Task Name Duration 31 Dec '06 07 Jan '07 14 Jan '07 21 Jan '07 28 Jan '07 04 Feb '07 11 Feb '07 18 Feb '07 S M T W T F S S M T W T F S S M T W T F S S M T W T F S S M T W T F S S M T W T F S S M T W T F S S M T W T F 0 Commercial Construction 355 days 1 Three-story Office Building (76,000355 square days feet) 2 General Conditions 17 days 3 Receive notice to proceed and 3 sign days contract 4 Submit bond and insurance documents 2 days 5 Prepare and submit project schedule 2 days 6 Prepare and submit schedule 2,33 of days values 7 Obtain building permits 4 days 8 Submit preliminary shop drawings 2 wks 9 Submit monthly requests for payment 1 day 10 Long Lead Procurement 70 days 11 Submit shop drawings and order 2 long wks lead items - steel 12 Submit shop drawings and order 2 long wks lead items - roofing 13 Submit shop drawings and order 2 long wks lead items - elevator 14 Submit shop drawings and order 2 long wks lead items - plumbing 15 Submit shop drawings and order 2 long wks lead items - electric 16 Submit shop drawings and order 2 long wks lead items - HVAC 17 Detail, fabricate, and deliver steel 12 wks 18 Mobilize on Site 10 days 19 Install temporary power 2 days 20 Install temporary water service2 days 21 Set up site office 3 days 22 Set line and grade benchmarks3 days 23 Prepare site - lay down yard and 2 days temporary fencing 24 Site Grading and Utilities 35 days 25 Clear and grub site 3 days 26 Stone site access and temporary 2 days parking area 27 Rough grade site (cut and fill) 1 wk 28 Install storm drainage 2 wks 29 Install exterior fire line and building 2 wks fire riser 30 Perform final site grading 2 wks 31 Erect building batter boards and 1 layout wk building 32 Foundations 39 days 33 Excavate foundations 2 wks 34 Excavate elevator pit 2 days 35 Form column piers and spread 4 foundations days 36 Rough-in electric and plumbing 4 in days elevator 37 Form elevator pit walls 4 days 38 Set reinforcing and anchor bolts4 days 39 Pour column piers and foundations 5 days 40 Pour concrete elevator walls 1 day 41 Cure elevator wall concrete 7 days G.C. general management G.C. project management;g.c. general management[25%] Electric contractor Plumbing contractor G.C. project management[25%];g.c. scheduler G.C. general management[10%];g.c. project management G.C. project management[50%];g.c. procurement[50%] G.C. superintendent;g.c. labor crew[10%] G.C. survey crew G.C. project management[50%];g.c. procurement[50%] Steel erection contractor management Site grading contractor;g.c. labor crew[10%] Site grading contractor Site grading contractor Site grading contractor Roofing contractor management Elevator contractor management Plumbing contractor management Electric contractor management HVAC contractor management Site grading contractor Plumbing contractor

Gantt Chart Precedence and Concurrence 51 Precedence: A task that must occur before another is said: To have precedence of the other - or To be a predecessor of the other A B Concurrence: Concurrent tasks are those that can occur in parallel at the same time Completely overlapped or Partially overlapped A A B B

Gantt Chart Dependency types 52 Finish-to-start: A f-to-s B : B cannot start until A finishes. B can start after A finishes. A FS B Start-to-start: A s-to-s B : B cannot start until A starts. B can start after A starts. SS A B Finish-to-finish: A f-to-f B : B cannot finish until A finishes. B can finish after A finishes A B FF Start-to-finish: A s-to-f B : B cannot finish until A starts. B can finish after A starts. B SF A

Gantt Chart Dependency types (test) 53 Which ones are wrong? A SS B A B FF B A FF B A SF B SF A A C FS FS B

Gantt Chart Lag Time 54 It means a delay between tasks in sequence Example: if "A f-to-s B" and lag is equal to 10, B can start only 10 days after A end A FS + lag B Lag Time time

Gantt Chart Lead Time 55 It means an advance between tasks in sequence Example: if "A f-to-s B" and lead is equal to 10, B can start 10 days before A end A FS - lead B time

Gantt Chart Slack & Float 56 When then schedule contains some concurrent tasks, it may happen that some free time is between tasks FS FS Slack Time A Slack is the amount of time that a task can be delayed without causing a delay to: any downstream task (named Free Slack) the end of the project (named Total Slack) Slack & Float are synonymous terms We ll use Slack

Gantt Chart Free Slack 57 Free Slack: Maximum delay of a task without causing a delay for any downstream task Example A and B can be activated as soon as possible Relationships A finish-to-start C B finish-to-start C Free Slack of Task B

Gantt Chart Total Slack 58 Total Slack: Maximum delay of a task without causing a delay for the end of the project It can cause delays to some downstream tasks Normally, if not specified, slack stands for total slack (as we did in the CPM)

Gantt Chart Advantages and Disadvantages 59 Advantages Easily understood Easily created and maintained Good support from software tools Largely used Disadvantages It has difficulties to show complex relationships among tasks (network diagrams are better in this) It does not show uncertainty of a given activity (as does PERT)

Today 60 Session 4 review Scheduling Fundamentals Scheduling Techniques Network Diagrams Bar Charts Schedule Optimization Techniques Mythical Man-Month

Schedule Optimization Techniques 61 Several techniques may be adopted to shorten the schedule They act on the Trade-off Triangle (time, scope, cost) 1. Re-organize schedule: Split and merge tasks to reduce dependencies and slacks Move resources among tasks to better spread their effort in the time A senior developer may act as a junior admin if needed Advantage: focus on a pure schedule optimization with no impact on scope and cost Disadvantages: risks increase The schedule may become difficult to respect Delays have stronger impact on the project (since slacks are reduces) Resources may loose their motivation

Schedule Optimization Techniques 62 2. Reduce scope: Reduce requirements and consequently remove whole tasks Advantage: cost and time reduction Disadvantage: customers may not accept this e.g. less tests, worsen performances, less graphics Reduce quality of software doing some tasks faster e.g. less tests, worsen performances, less graphics Disadvantages: - Customers and marketers may not accept this - Poorly tested software may cost more in the long time due to dependencies with other parts

Schedule Optimization Techniques 63 3. Increase cost: Crashing: Add resources to tasks To shorten tasks - E.g. 2 developers may do the same work in less time To break resource dependencies - E.g. another developer permits to parallelize tasks that would otherwise be sequential Disadvantage: increased costs Fast Tracking: Break dependencies (both discretionary and some mandatory dependencies) Such tasks become overlapped even if they should be sequential - E.g. developing data model and business logic in parallel Disadvantages: - New resources may be needed on concurrent tasks (cost increases) - Since some tasks need inputs from other parallel tasks, some effort is spent in working with unstable inputs and some rework may occur (cost increases)

Today 64 Session 4 review Scheduling Fundamentals Scheduling Techniques Network Diagrams Bar Charts Schedule Optimization Techniques Mythical Man-Month

Mythical Man-Month 65 Book: The Mythical Man-Month Author: Fred Brooks http://www.amazon.com/exec/obidos/asin/020183595 9/qid%3D1022856693/sr%3D1-1/ref%3Dsr%5F1%5F1/103-4280067-9687806 http://my.safaribooksonline.com/0201835959 The classic book on the human elements of software engineering First two chapters are full of terrific insight (and quotes)

Mythical Man-Month 66 Cost varies as product of men and months, progress does not. Hence the man-month as a unit for measuring the size of job is a dangerous and deceptive myth Good cooking fakes time. If you are made to wait, it is to serve you better, and to please you - Menu of Restaurant Antoine, New Orleans -

Mythical Man-Month 67 Why is software project disaster so common? 1. Estimation techniques are poor & assume things will go well (an unvoiced assumption) 2. Estimation techniques fallaciously confuse effort with progress, hiding the assumption that men and months are interchangeable 3. Because of estimation uncertainty, managers lack courteous stubbornness of Antoine's chef 4. Schedule progress is poorly monitored 5. When schedule slippage is recognized, the natural response is to add manpower. Which, is like dousing a fire with gasoline

Mythical Man-Month 68 Optimism All programmers are optimists 1 st false assumption: all will go well or each task takes only as long as it ought to take The Fix: Consider the larger probabilities Cost (overhead) of communication (and training) Overhead: n(n-1)/2 How long does a 12 month project take? 1 person: 12 month 2 persons = 12/2 + 2(2-1)/2 = 6+1 = 7-2 man-month extra 3 persons = 12/3 + 3(3-1)/2 = 4 + 3 = 7-9 man-months extra 4 persons = 12/4 + 4(4-1)/2 = 3 + 6 = 9 The Fix: don t assume adding people will solve the problem, add people in well-separated tasks

Mythical Man-Month 69 Sequential nature of the process The bearing of a child takes nine months, no matter how many women are assigned What is the most mis-scheduled part of process? Testing Why is this particularly bad? Occurs late in process and without early-warning Higher costs The Fix: Allocate more test time Understand task dependencies, test and fix before use

Mythical Man-Month 70 Reliance on hunches and guesses What is gutless estimating? Urgency of Client causes Optimistic Estimates - E.g., omelet and chef analogy - http://my.safaribooksonline.com/0201835959/ch02lev1sec4 Regardless of Urgency, tasks require the same amount of time The myth of additional manpower Brooks Law Adding manpower to a late project makes it later http://en.wikipedia.org/wiki/brooks%27s_law

Mythical Man-Month 71 Q: How does a project get to be a year late? A: One day at a time Studies Each task: twice as long as estimated Only 50% of work week is real coding The rest 50% is communication, negotiation, documentation, debugging, The Fixes Consider the 50% not-coding time Define clearly measurable milestones No fuzzy milestones Reduce the role of conflict among persons Identify the true status of a task It s impressive how much effort is needed to move a 90% done task to a 100% done task

72

Questions? 73