+ All Categories
Home > Documents > SE 477 Software and Systems Project Management

SE 477 Software and Systems Project Management

Date post: 19-Jan-2016
Category:
Upload: archer
View: 30 times
Download: 0 times
Share this document with a friend
Description:
SE 477 Software and Systems Project Management. Dennis Mumaugh, Instructor [email protected] Office: CDM, Room 429 Office Hours: Monday, 4:00 – 5:30. Administrivia. Comments and feedback Midterm Examination this coming week [April 30 – May 5] Will use Desire2Learn - PowerPoint PPT Presentation
133
SE 477 SE 477 Software and Systems Project Software and Systems Project Management Management Dennis Mumaugh, Instructor [email protected] Office: CDM, Room 429 Office Hours: Monday, 4:00 – 5:30 April 28, 2014 SE 477: Lecture 5 1 of 133
Transcript
Page 1: SE 477  Software and Systems Project Management

SE 477 SE 477 Software and Systems Project ManagementSoftware and Systems Project Management

Dennis Mumaugh, Instructor

[email protected]

Office: CDM, Room 429

Office Hours: Monday, 4:00 – 5:30

April 28, 2014 SE 477: Lecture 5 1 of 133

Page 2: SE 477  Software and Systems Project Management

AdministriviaAdministrivia Comments and feedback Midterm Examination this coming week [April 30 – May 5]

Will use Desire2Learn See important information about Taking Quizzes On-line On-line tutorial:

http://www.itd.depaul.edu/website/documentation/d2l/mp4based/quizzes/quizzes.html

On-line guide:http://www.itd.depaul.edu/website/documentation/d2l/Quizzes.pdf

Midterm study guide [note solution to some problems on last page].

April 28, 2014 SE 477: Lecture 5 2 of 133

Page 3: SE 477  Software and Systems Project Management

Team ProjectTeam ProjectStart working on Project Time Management

Perform activity definition, sequencing, and duration estimation;

Perform activity resource estimation; Develop schedule based on estimates

April 28, 2014 SE 477: Lecture 5 3 of 133

Page 4: SE 477  Software and Systems Project Management

Assignment 3Assignment 3 Effort conversion factors

8 working hours per day, 5 days per weekperson-months = person-days times 19person-months = person-hours times 152

Holidays – include them in the scheduling Memorial Day, Independence Day, Labor Day Thanksgiving and the day after, Christmas Eve,

Christmas, New Year’s Start each major phase on a new day. Unit Testing vs. Code Inspection [order can be reversed

depending on team’s process] Preparation and reviews; choice of participants

April 28, 2014 SE 477: Lecture 5 4 of 133

Page 5: SE 477  Software and Systems Project Management

SE 477 – Class 5SE 477 – Class 5Topics: Size and complexity Estimation Activity Resource Estimating Activity Duration Estimating Project Planning – Schedule

Development Scheduling

Schedule network analysis Calculating float Schedule compression

Resource leveling

Schedule development output Mythical Man Month Project Planning – Schedule

Development Workflow and Example

Reading: PMP Study Guide: Chapters

5 and 7 Appendix

PERT Estimation Critical Path Method (CPM) Forward and backward pass

analysis

April 28, 2014 SE 477: Lecture 5 5 of 133

Page 6: SE 477  Software and Systems Project Management

Thought for the dayThought for the day

“The single most important task of a project: setting realistic expectations. Unrealistic expectations based on inaccurate estimates are the single largest cause of software failure.”

– Futrell, Shafer, Shafer, “Quality Software Project Management”

April 28, 2014 SE 477: Lecture 5 6 of 133

Page 7: SE 477  Software and Systems Project Management

Last timeLast time Charter Project Planning

WBS details Activity:

»Activity Definition»Activity Sequencing

April 28, 2014 SE 477: Lecture 5 7 of 133

Page 8: SE 477  Software and Systems Project Management

Project Planning Project Planning Project Time Management IProject Time Management I

Size and Complexity Estimation

Activity Resource Estimating

Activity Duration Estimating

April 28, 2014 SE 477: Lecture 5 8 of 133

Page 9: SE 477  Software and Systems Project Management

Estimating Project Size And Estimating Project Size And ComplexityComplexity

April 28, 2014 SE 477: Lecture 5 9 of 133

Page 10: SE 477  Software and Systems Project Management

EstimationsEstimations Very difficult to do, but needed often Created, used or refined during

Strategic planning Feasibility study and/or SOW Proposals Vendor and sub-contractor evaluation Project planning (iteratively)

Basic process1) Estimate the size of the product2) Estimate the effort (person-months)3) Estimate the schedule NOTE: Not all of these steps are always explicitly

performed

April 28, 2014 SE 477: Lecture 5 10 of 133

Page 11: SE 477  Software and Systems Project Management

EstimationsEstimations Remember, an “exact estimate” is an oxymoron Estimate how long will it take you to get home from

class tonight On what basis did you do that? Experience right? Likely as an “average” probability For most software projects there is no such

‘average’ Most software estimations are off by 25-100%

April 28, 2014 SE 477: Lecture 5 11 of 133

Page 12: SE 477  Software and Systems Project Management

EstimationEstimation Target vs. Committed Dates

Target: Proposed by business or marketing»Do not commit to this too soon!

Committed: Team agrees to this»After you’ve developed a schedule

Size: Small projects (10-99 FPs), variance of 7% from post-

requirements estimates Medium (100-999 FPs), 22% variance Large (1000-9999 FPs) 38% variance Very large (> 10K FPs) 51% variance

April 28, 2014 SE 477: Lecture 5 12 of 133

Page 13: SE 477  Software and Systems Project Management

Estimation MethodologiesEstimation Methodologies Top-down Bottom-up Analogy Expert Judgment Priced to Win Parametric or Algorithmic Method

Using formulas and equations

Let’s look at each of these …

April 28, 2014 SE 477: Lecture 5 13 of 133

Page 14: SE 477  Software and Systems Project Management

Top-down EstimationTop-down Estimation Based on overall characteristics of project

Some of the others can be “types” of top-down (Analogy, Expert Judgment, and Algorithmic methods)

Advantages Easy to calculate Effective early on (like initial cost estimates)

Disadvantages Some models are questionable or may not fit Less accurate because it doesn’t look at details

April 28, 2014 SE 477: Lecture 5 14 of 133

Page 15: SE 477  Software and Systems Project Management

Bottom-up EstimationBottom-up Estimation Create WBS Add from the bottom-up Advantages

Works well if activities well understood Disadvantages

Specific activities not always known More time consuming

April 28, 2014 SE 477: Lecture 5 15 of 133

Page 16: SE 477  Software and Systems Project Management

Expert JudgmentExpert Judgment Use somebody who has recent experience on a similar

project You get a “guesstimate” Accuracy depends on their ‘real’ expertise Comparable application(s) must be accurately chosen

Systematic Can use a weighted-average of opinions

April 28, 2014 SE 477: Lecture 5 16 of 133

Page 17: SE 477  Software and Systems Project Management

Estimation by AnalogyEstimation by Analogy Use past project

Must be sufficiently similar (technology, type, organization)

Find comparable attributes (ex: # of inputs/outputs) Can create a function

Advantages Based on actual historical data

Disadvantages Difficulty ‘matching’ project types Prior data may have been mis-measured How to measure differences – no two exactly same

April 28, 2014 SE 477: Lecture 5 17 of 133

Page 18: SE 477  Software and Systems Project Management

Priced to WinPriced to Win Just follow other estimates Save on doing full estimate Needs information on other estimates (or prices) Purchaser must closely watch trade-offs Priced to lose?

April 28, 2014 SE 477: Lecture 5 18 of 133

Page 19: SE 477  Software and Systems Project Management

Algorithmic MeasuresAlgorithmic Measures Lines of Code (LOC) Function points

Feature points or object points Other possible

Number of bubbles on a DFD Number of ERD entities Number of processes on a structure chart

LOC and function points most common (of the algorithmic approaches)

Majority of projects use none of the above

April 28, 2014 SE 477: Lecture 5 19 of 133

Page 20: SE 477  Software and Systems Project Management

Code-based EstimatesCode-based Estimates LOC Advantages

Commonly understood metric Permits specific comparison Actually it is easily measured

LOC Disadvantages Difficult to estimate early in cycle Counts vary by language Many costs not considered (ex: requirements) Programmers may be rewarded based on this

»Can use: # defects/# LOC Code generators produce excess code

April 28, 2014 SE 477: Lecture 5 20 of 133

Page 21: SE 477  Software and Systems Project Management

LOC Estimate IssuesLOC Estimate Issues How do you know how many in advance? What about different languages? What about programmer style? Stat: avg. programmer productivity: 3,000 LOC/yr Most algorithmic approaches are more effective after

requirements (or have to be after)

April 28, 2014 SE 477: Lecture 5 21 of 133

Page 22: SE 477  Software and Systems Project Management

Function PointsFunction Points Software size should be measured by number & complexity

of functions it performs More methodical than LOC counts House analogy

House’s Square Feet ~= Software LOC # Bedrooms & Baths ~= Function points Former is size only, latter is size & function

Four basic steps

April 28, 2014 SE 477: Lecture 5 22 of 133

Page 23: SE 477  Software and Systems Project Management

Function Point ProcessFunction Point Process1. Count # of business functions per category

Categories: outputs, inputs, db inquiries, files or data structures, and interfaces

2. Establish Complexity Factor for each and apply Simple, Average, Complex Set a weighting multiplier for each (0 –>15) This results in the “unadjusted function-point total”

3. Compute an “influence multiplier” and apply It ranges from 0.65 to 1.35; is based on 14 factors

4. Results in “function point total” This can be used in comparative estimates

[This is covered in detail in SE 468. See the SE 468 reading list for more information].

April 28, 2014 SE 477: Lecture 5 23 of 133

Page 24: SE 477  Software and Systems Project Management

Wideband DelphiWideband Delphi Group consensus approach Rand corp. used orig. Delphi approach to predict future technologies Present experts with a problem and response form Conduct group discussion, collect anonymous opinions, then feedback Conduct another discussion & iterate until consensus Advantages

Easy, inexpensive, utilizes expertise of several people Does not require historical data

Disadvantages Difficult to repeat May fail to reach consensus, reach wrong one, or all may have same

bias

April 28, 2014 SE 477: Lecture 5 24 of 133

Page 25: SE 477  Software and Systems Project Management

Effort EstimationEffort Estimation Now that you know the “size”, determine the “effort” needed

to build it Various models: empirical, mathematical, subjective Expressed in units of duration

person-months (or ‘staff-months’ now) Efficiency/productivity of people

Motivation Ability of team Application experience Range of personnel

April 28, 2014 SE 477: Lecture 5 25 of 133

Page 26: SE 477  Software and Systems Project Management

Duration Duration What is the duration?

The duration of a project is the elapsed time in business working days, not including weekends, holidays, or other nonworking days.

Duration is different from work effort. Work effort is labor required to complete an activity. That

labor can be consecutive or nonconsecutive hours. Duration is work effort divided by number of people doing

the work: Or, work effort is the duration multiplied by the number of

people doing the work E.g. five people reviewing a document; the duration may

be 10 hours but the work effort is 50 staff-hours

April 28, 2014 SE 477: Lecture 5 26 of 133

Page 27: SE 477  Software and Systems Project Management

Duration Duration When we talk about estimates and duration, there are two

types of time that are not the same: Labor Time Clock time

For example, if we estimate that a task would require 40 hours of labor to complete, then in a normal business setting we need at least 50 business hours, Why?

April 28, 2014 SE 477: Lecture 5 27 of 133

Page 28: SE 477  Software and Systems Project Management

Duration Duration Your average business day may include few of the following

activities or perhaps a number of each: Meetings – non-project related Phone calls E-mails Coffee breaks Lunches Friendly chat with your teammates

The duration of the activity is the clock time or “Elapsed” time” that we want to estimate.

Productivity is usually 50-75% of a business day

April 28, 2014 SE 477: Lecture 5 28 of 133

Page 29: SE 477  Software and Systems Project Management

Variation in Activity Duration Variation in Activity Duration Since we cannot know what factors will be effective when

work is underway on an activity, we cannot know exactly how long it will take.

One of the goals in estimating the activity duration is to define the activity to a level of granularity that estimates have a narrow variance; the estimate is as good as you can get it at the planning stages of the project.

There are several causes of variation in the actual activity duration: Varying skill levels – see Journal Exercise Unexpected events Efficiency of work time Mistakes and Misunderstandings

Let’s look at these in a bit more detail …April 28, 2014 SE 477: Lecture 5 29 of 133

Page 30: SE 477  Software and Systems Project Management

Causes of VariationCauses of VariationCauses of Variation in the Actual Activity Duration Varying skill levels. Our estimate of the activity duration is based on

average skilled engineer. We may get a higher or lower skilled engineer assigned to the activity, causing the actual duration to vary from the planned duration.

Unexpected events. Random acts of nature, vendor delays, traffic jams, power failures, etc.

Efficiency of work time. Every time a worker is interrupted it takes more time to get up to the level of productivity prior to the time of the interruption. These interruptions may have little or substantial impact on the worker’s productivity

Mistakes and Misunderstandings. In organizations that have a documented process, rework may have its toll on the actual activity duration.

April 28, 2014 SE 477: Lecture 5 30 of 133

Page 31: SE 477  Software and Systems Project Management

Estimation IssuesEstimation Issues Quality estimations needed early but information is limited Precise estimation data available at end but not needed

Or is it? What about the next project? Should have determined just how accurate your original

estimate was. Best estimates are based on past experience Politics of estimation:

You may anticipate a “cut” by upper management For many software projects there is little or no data for

estimation Technologies change Historical data unavailable Wide variance in project experiences/types Subjective nature of software estimation

April 28, 2014 SE 477: Lecture 5 31 of 133

Page 32: SE 477  Software and Systems Project Management

Over and Under EstimationOver and Under Estimation Over estimation issues

The project will not be funded»Conservative estimates guaranteeing 100% success

may mean funding probability of zero. Parkinson’s Law: Work expands to take the time allowed Danger of feature and scope creep Be aware of “double-padding”: team member + manager

Under estimation issues Quality issues (short changing key phases like testing) Inability to meet deadlines Morale and other team motivation issues

April 28, 2014 SE 477: Lecture 5 32 of 133

Page 33: SE 477  Software and Systems Project Management

Estimation GuidelinesEstimation Guidelines Estimate iteratively!

Process of gradual refinement Make your best estimates at each planning stage Refine estimates and adjust plans iteratively Plans and decisions can be refined in response Balance: too many revisions vs. too few

April 28, 2014 SE 477: Lecture 5 33 of 133

Page 34: SE 477  Software and Systems Project Management

Know Your DeadlinesKnow Your Deadlines Are they ‘Real Deadlines’?

Tied to an external event Have to be met for project to be a success Ex: end of financial year, contractual deadline, Y2K

Or ‘Artificial Deadlines’? Set by arbitrary authority May have some flexibility (if pushed)

April 28, 2014 SE 477: Lecture 5 34 of 133

Page 35: SE 477  Software and Systems Project Management

Estimation “Presentation”Estimation “Presentation” How you present the estimation can have huge impact Techniques

Plus-or-minus qualifiers [6 months ±1 month] Ranges [6-8 months] Risk Quantification

»± with added information• +1 month if new tools not working as expected• -2 weeks for less delay in hiring new developers

Cases [Best / Planned / Current / Worst cases] Coarse Dates [Q4 13] Confidence Factors [April 1 – 10% probability, July 1 –

50%, etc.]

April 28, 2014 SE 477: Lecture 5 35 of 133

Page 36: SE 477  Software and Systems Project Management

Other Estimation FactorsOther Estimation Factors Account for resource experience or skill

Up to a point Often needed more on the “low” end, such as for a new

or junior person Allow for “non-project” time & common tasks

Meetings, phone calls, web surfing, sick days There are commercial ‘estimation tools’ available

They typically require configuration based on past data

April 28, 2014 SE 477: Lecture 5 36 of 133

Page 37: SE 477  Software and Systems Project Management

Other Estimation NotesOther Estimation Notes Remember: “manage expectations” Parkinson’s Law

“Work expands to fill the time available” The Student Syndrome

Procrastination until the last minute (cram) and term projects

April 28, 2014 SE 477: Lecture 5 37 of 133

Page 38: SE 477  Software and Systems Project Management

Activity Resource EstimatingActivity Resource Estimating

Resource Management Assessing Competencies and Skills Resource allocation

Estimating toolsPersonal Software Process (PSP)Activity resource estimating output

April 28, 2014 SE 477: Lecture 5 38 of 133

Page 39: SE 477  Software and Systems Project Management

IntroductionIntroduction Resource estimating is concerned with who/what, how

much, and when Who/what

Resource requirements of people or equipment Matching the right resources to activities May be generic (n Java programmers) or resource-

specific (Richard Parker as senior architect) How much. Amount of resource(s) needed for activity When. When the resource will be needed for activities

April 28, 2014 SE 477: Lecture 5 39 of 133

Page 40: SE 477  Software and Systems Project Management

IntroductionIntroduction Controlling factors in resource estimating

Enterprise environment. May be defined by constraints and assumptions identified in Project Scope Statement

Organization policy. How the organization allocates and manages resources from within and from without»Note: Enterprise environment and organization policy

may be closely-coupled Resource availability. When the resource will be

available for activities and whether dedicated or part-time

April 28, 2014 SE 477: Lecture 5 40 of 133

Page 41: SE 477  Software and Systems Project Management

Estimating toolsEstimating tools Expert judgment. One of the most effective tools for

estimating. May be used in conjunction with other tools Alternative analysis. Examines different approaches to

applying resources, such as in-house development vs. contracting vs. COTS

Published estimating data. May be available in-house in form of historical project data or may be available from outside sources (e.g. unclassified U.S. Government-funded projects)

April 28, 2014 SE 477: Lecture 5 41 of 133

Page 42: SE 477  Software and Systems Project Management

Estimating toolsEstimating tools Project management software. PM software can provide

automated assistance in defining resources, calendars, rates, etc.

Bottom-up estimating Use if activity is a natural work package but still complex Decompose activity into more manageable (estimable)

pieces Adhere to 100% rule: sum of activities should exactly

equal work package (mind the scope!) Example: Architectural quality and cost/benefit analysis

(ATAM and CBAM)

April 28, 2014 SE 477: Lecture 5 42 of 133

Page 43: SE 477  Software and Systems Project Management

Sidebar: Personal Software Process (PSP)Sidebar: Personal Software Process (PSP) All the estimating tools in the world won’t help if you don’t have good

estimates Historical data has its limits – sometimes you need to estimate

completely new activities PSP is a highly-disciplined approach to software engineering (in this

context, any software development) PSP includes techniques in:

Time management and tracking through use of a design notebook and logs

Product planning, size measurement and estimation Basic project scheduling and planning Managing defects and product quality

Goal is to have developers who can provide accurate and meaningful estimation data

See SEI at CMU: http://www.sei.cmu.edu/tsp/tools/bok/

April 28, 2014 SE 477: Lecture 5 43 of 133

Page 44: SE 477  Software and Systems Project Management

Activity Resource Estimating OutputActivity Resource Estimating Output Activity resource requirements

Identify what and how much of resource(s) are needed for each activity in a work package

Activity resource requirements are summed to provide estimate for entire work package

Resource calendar Documents working and non-working days Resource-specific holidays may be identified

Requested changes Activity resource estimating process may generate

requests for changes to activity list Processed within the Integrated Change Control process

April 28, 2014 SE 477: Lecture 5 44 of 133

Page 45: SE 477  Software and Systems Project Management

Activity Duration EstimatingActivity Duration Estimating

Estimating tools

PERT estimation technique

April 28, 2014 SE 477: Lecture 5 45 of 133

Page 46: SE 477  Software and Systems Project Management

IntroductionIntroduction Focuses on estimating the number of work periods needed

to complete individual schedule activities Estimates originate from person or groups most familiar with

the type of work needed in the activity Estimate is progressively elaborated: duration estimates are

improved as project progresses Activity duration output

Quantitative activity duration estimates, including range of possible values

April 28, 2014 SE 477: Lecture 5 46 of 133

Page 47: SE 477  Software and Systems Project Management

IntroductionIntroduction Controlling factors in duration estimating

Historical data. If available, enterprise- or industry-specific historical data can be used as starting point for estimates

Activity resource requirements. The type and number of resources applied to an activity must account for

»Resource qualifications

»Quantity-quality productivity trade-offs: putting more people on a task may reduce productivity

Resource calendars. Must account for full/part time commitments

April 28, 2014 SE 477: Lecture 5 47 of 133

Page 48: SE 477  Software and Systems Project Management

Sidebar: A useful rule of thumbSidebar: A useful rule of thumb Keep all times in the same units

Don't mix increments Example: Schedule everything in hours, then convert to

days and fractions as a last step Note: Most PM software tools enforce this rule by using a

uniform time unit and increment

April 28, 2014 SE 477: Lecture 5 48 of 133

Page 49: SE 477  Software and Systems Project Management

Estimating toolsEstimating tools Expert judgment. As in resource estimating, one of the

most effective tools for estimating. May be used in conjunction with other tools

Analogous estimating. Estimation based on similar activities performed in a previous project Most useful if both activity and project are more similar

than different Document similarities and differences Example: Developing the database schema for a project

in the same domain and of similar scope

April 28, 2014 SE 477: Lecture 5 49 of 133

Page 50: SE 477  Software and Systems Project Management

Estimating toolsEstimating tools Reserve analysis. Contingency or time reserves can be

added to schedule to allow for schedule risks Contingency reserves may be used or adjusted as more

precise project information becomes available Aka buffer time. Do not confuse with slack time.

Three-point estimating techniques use a mathematical combination of three different estimates: Most likely, Optimistic, and Pessimistic There are variations in defining each of these estimates

among different techniques

April 28, 2014 SE 477: Lecture 5 50 of 133

Page 51: SE 477  Software and Systems Project Management

Three Point EstimatingThree Point Estimating Used whenever there is a potential variance in an estimate.

Assumes a Gaussian distribution of estimates. Duration Effort Size

Three-point estimating techniques use a mathematical combination of three different estimates: Get estimates from experts: Most likely, Optimistic, and

Pessimistic Compute an average:

(Optimistic + 4(Likely)+ Pessimistic)/6

☛See Appendix: PERT Estimation Technique for more details and a worked example.

April 28, 2014 SE 477: Lecture 5 51 of 133

Page 52: SE 477  Software and Systems Project Management

Example: Estimation of LOCExample: Estimation of LOCCAD program to represent mechanical parts

Estimated LOC = (Optimistic + 4(Likely)+ Pessimistic)/6

Major Software Functions  IDOpt-

imisticMost

LikelyPess-

imisticEstimated

LOC

User interface and control facilities

UICF 1,500 2,300 3,100 2,300

Two-dimensional geometric analysis

2DGA 3,800 5,200 7,200 5,300

Three-dimensional geometric analysis

3DGA 4,600 6,900 8,600 6,800

Database management DBM 1,600 3,500 4,500 3,350

Computer graphics display features

CGDF 3,700 5,000 6,000 4,950

Peripheral control PC 1,400 2,200 2,400 2,100

Design analysis modules DAM 7,200 8,300 10,000 8,400

Estimated lines of code   23,800 33,400 41,800 33,200

April 28, 2014 SE 477: Lecture 5 52 of 133

Page 53: SE 477  Software and Systems Project Management

Schedule DevelopmentSchedule Development

April 28, 2014 SE 477: Lecture 5 53 of 133

Page 54: SE 477  Software and Systems Project Management

DefinitionDefinition Schedule development is the culmination of the other

Project Time Management processes we have discussed: Activity definition Activity sequencing Activity resource estimating Activity duration estimating

It is an iterative process to determine planned start and finish dates for activities

It is a continuous process throughout project, addressing approved changes and risks

April 28, 2014 SE 477: Lecture 5 54 of 133

Page 55: SE 477  Software and Systems Project Management

Controlling factors in schedule developmentControlling factors in schedule development Project scope statement

Scope statement is the source of assumptions and constraints on the project

(PMI) “Assumptions are those documented, schedule-related factors that, for schedule development purposes, are considered to be true, real, or certain.”

(PMI) “Constraints are factors that will limit the project management team’s options when performing schedule network analysis.”

Date constraints (contract dates, market windows, external deliveries) and milestones (deliverable dates) are of greatest importance in schedule development

April 28, 2014 SE 477: Lecture 5 55 of 133

Page 56: SE 477  Software and Systems Project Management

Controlling factors in schedule developmentControlling factors in schedule development

Project management plan Almost any of the many sub-plans and other elements in

the Project Management Plan may exert an influence on schedule development

One of the most critical elements for schedule development in the PM Plan is the risk register and risk-associated plans

We will discuss risk and risk-related planning in an upcoming lecture

April 28, 2014 SE 477: Lecture 5 56 of 133

Page 57: SE 477  Software and Systems Project Management

Network AnalysisNetwork AnalysisThe First StepsThe First Steps

April 28, 2014 SE 477: Lecture 5 57 of 133

Page 58: SE 477  Software and Systems Project Management

Network AnalysisNetwork Analysis Network analysis is the technique that generates the

project schedule Network analysis may use several different analysis

methods to calculate the early and late start dates for project activities. These methods may be combined and include: Gantt Charts Critical Path Method (CPM) Critical Chain Method (CCM) What-if analysis Resource leveling

April 28, 2014 SE 477: Lecture 5 58 of 133

Page 59: SE 477  Software and Systems Project Management

Network AnalysisNetwork Analysis There are a number of network analysis techniques

available – we will concentrate on the Critical Path Method (CPM)

We have already seen a significant component of another network analysis technique, the PERT estimates for activity duration

The Precedence Diagram Method (PDM) is a graphical network technique that establishes activity sequencing

Network analysis may also make use of mandatory or discretionary parallelism in project activities to allow schedule compression

April 28, 2014 SE 477: Lecture 5 59 of 133

Page 60: SE 477  Software and Systems Project Management

Network Analysis TerminologyNetwork Analysis Terminology Activity. An activity always consumes time and may also consume

resources. I use task and activity equivalently

Critical. A critical activity or event is one that must be achieved by a certain time, having no latitude (slack or float)

Critical path. The critical path is the longest path through a project network. Because it has no slack, all activities on the critical path must be completed as scheduled, or the end date will slip

Events. Beginning and ending points of activities are known as events. An event is a specific point in time

Milestone. An event representing a point in a project of special significance. Usually the completion of a major phase of the work. Project reviews are often conducted at milestones

April 28, 2014 SE 477: Lecture 5 60 of 133

Page 61: SE 477  Software and Systems Project Management

Creating a precedence tableCreating a precedence table A Precedence table documents task durations and

interdependencies Estimating duration of each task

Duration estimated from historical information:» Ideally, based on organization’s historical experience,

if available»More likely: ‘expert’ knowledge

Estimation done by task leaders or functional managers Any potentially risky task (technology, skills,

dependencies) should include contingency factor Include contingencies to mitigate potential resource

shortages

April 28, 2014 SE 477: Lecture 5 61 of 133

Page 62: SE 477  Software and Systems Project Management

Creating a precedence tableCreating a precedence table Determining task interdependencies

Goal is to determine predecessor/successor relations Understanding interdependencies allows proper ordering

in scheduling tasks Understanding interdependencies also helps in finding

possible parallel tasks, which can shorten schedule Parallel tasks should be truly independent to minimize

risk of backtracking Determining task interdependencies must be a team

effort to avoid unpleasant surprises

April 28, 2014 SE 477: Lecture 5 62 of 133

Page 63: SE 477  Software and Systems Project Management

Sample evolutionary precedence tableSample evolutionary precedence table

April 28, 2014 SE 477: Lecture 5 63 of 133

Page 64: SE 477  Software and Systems Project Management

PlanningPlanningProject Time Management IIProject Time Management II

PERT Chart

CPM

April 28, 2014 SE 477: Lecture 5 64 of 133

Page 65: SE 477  Software and Systems Project Management

What is a PERT?What is a PERT?Program Evaluation & Review Technique or PERT Identify the tasks (or activities) required to complete the

given project Use the WBS

List the activities in a structured fashion, along with their interdependencies Use a Gantt Chart Precedence table

A "network" of the activities and their dependencies is drawn up. In MS Project, PERT is called Network Diagram

Each event may be represented by a node Before any activity can begin, all its predecessor activities

must have been completedApril 28, 2014 SE 477: Lecture 5 65 of 133

Page 66: SE 477  Software and Systems Project Management

• Program Evaluation and Review Technique.

• Help understand relationship between tasks and project activity flow.

Page 67: SE 477  Software and Systems Project Management

Slack TimeSlack Time Slack time, also known as float, is the amount of delay expressed in

units of time that could be tolerated in the starting time or completion time of an activity without causing a delay in the completion of the project.

Slack time is the difference between the late finish and the early finish (LF-EF). If the result is greater than zero, then the activity has a range of time in which it can start and finish without delaying the project completion date, as shown in the figure below:

A

ES

EF

LF

DurationSlack

April 28, 2014 SE 477: Lecture 5 67 of 133

Page 68: SE 477  Software and Systems Project Management

Slack TimeSlack Time If an activity has zero slack, it determines the project

completion date. In other words, all the activities on the critical path must be done on their earliest schedule or the project completion date will suffer.

If an activity with total slack greater than zero were to be delayed beyond its late finish date, it would become a critical path activity and cause the completion date to be delayed.

The sequence of activities that has zero slack is defined as the critical path

In general, the critical path is the path that has minimum slack.

April 28, 2014 SE 477: Lecture 5 68 of 133

Page 69: SE 477  Software and Systems Project Management

Critical path methodCritical path method The critical path method (CPM) focuses on calculating

theoretical start and finish dates for every activity in the project. In the context of the CPM, the following definitions are essential: Critical. A critical activity or event is one that must be achieved by

a certain time; a critical activity has no latitude (slack or float) Critical path. The critical path is the longest path through a project

network. Because it has no slack, all activities on the critical path must be completed as scheduled, or the end date will slip

CPM performs these calculation without regard for resource limitations, which can lead to resource over-allocation or inefficient multitasking

April 28, 2014 SE 477: Lecture 5 69 of 133

Page 70: SE 477  Software and Systems Project Management

Critical path method Critical path method A forward pass analysis performs schedule calculations that identify the

early start and finish dates of activities and the project A backward pass analysis performs schedule calculations that identify

the late start and finish dates of activities and the project, as well as total and free float

Total float (TF) is the amount of time an activity can be delayed without delaying the project as a whole

Free float (FF) is the amount of time an activity can be delayed without delaying its successor (dependent) activities

Note that total float is global to the project, while free float is local to the neighborhood of the activity

☛ See Appendix: CPM Details and Example for more details and a worked example of CPM calculations

April 28, 2014 SE 477: Lecture 5 70 of 133

Page 71: SE 477  Software and Systems Project Management

Simple critical path exampleSimple critical path example

April 28, 2014 SE 477: Lecture 5

Critical Path

71 of 133

Page 72: SE 477  Software and Systems Project Management

Carrying out the example critical path analysis above shows us:

• That if all goes well the project can be completed in 10 weeks

• That if we want to complete the task as rapidly as possible, we need:

• 1 analyst for the first 5 weeks

• 1 programmer for 6 weeks starting week 4

• 1 programmer for 3 weeks starting week 6

• Quality assurance for weeks 7 and 9

• Hardware to be installed by the end of week 7

• That the critical path is the path for development and installation of supporting modules

• That hardware installation is a low priority task as long as it is completed by the end of week 7

April 28, 2014 SE 477: Lecture 5 72 of 133

Page 73: SE 477  Software and Systems Project Management

Project Planning ToolsProject Planning Tools

Gantt Chart

April 28, 2014 SE 477: Lecture 5 73 of 133

Page 74: SE 477  Software and Systems Project Management

What is a Gantt chart?What is a Gantt chart? A Gantt Chart (named for Henry Laurence Gantt) consists of

a table of project task information and a bar chart that graphically displays project schedule, depicting progress in relation to time and often used in planning and tracking a project.

Horizontal bar chart format, with bars representing the phases and activities of the WBS

Time extends along the horizontal axis Able to show planned and actual progress on tasks as well

as task dependencies Effective communication tool but with limitations

Very low information density: lots of wasted space Not very useful for large projects

April 28, 2014 SE 477: Lecture 5 74 of 133

Page 75: SE 477  Software and Systems Project Management

GANTT Schedule

• View Project in Context of time.

• Critical for monitoring a schedule.

• Granularity 1 –2 weeks.

• 2 week window approach

Page 76: SE 477  Software and Systems Project Management

Sample evolutionary Gantt chartSample evolutionary Gantt chart

April 28, 2014 SE 477: Lecture 5 76 of 133

Page 77: SE 477  Software and Systems Project Management

Gantt Example Example::Suppose a project comprises five activities: A,B,C,D, and E. A and B have

no preceding activities, but activity C requires that activity B must be completed before it can begin. Activity D cannot start until both activities A and B are complete. Activity E requires activities A and C to be completed before it can start. If the activity times are A: 9 days; B: 3 days; C: 9 days; D: 5 days; and E: 4 days, determine the shortest time necessary to complete this project.

Identify those activities which are critical in terms of completing the project in the shortest possible time. [Critical path ]

  1 2 3 4 5 6 7 8 910

11

12

13

14

15

16

17

18

A                                    

B                                    

C                                    

D                                    

E                                    

Time is 16 daysCritical path is B, C, E

April 28, 2014 SE 477: Lecture 5 77 of 133

Page 78: SE 477  Software and Systems Project Management

Critical chain methodCritical chain method The critical chain method (CCM) focuses on the resources

required for project activities, attempting to keep them leveled throughout the project

CPM scheduling is rigid and brittle: most activities have little or no float, while the critical path, by definition, has no float whatsoever— any delay in a critical path activity leads to a project delay

CCM, by contrast, assumes that all activities have a statistically-probable range of durations and uses this assumption to create a more flexible and resilient schedule

April 28, 2014 SE 477: Lecture 5 78 of 133

Page 79: SE 477  Software and Systems Project Management

Critical chain methodCritical chain method Each activity is assigned two durations: a ‘most likely’ or

‘best guess’ duration and a ‘pessimistic’ or ‘safe’ duration The most likely duration represents the time it would take

to complete the activity 50% of the time; half of the time it would take less time, half of the time it would

take more time

The pessimistic duration represents the time it would take to complete the activity 90% of the time; 90% of the time it would take less time, only 10% of the time it

would take more time

Resources are assigned to the activities using the most likely durations

The longest sequence of activities in the project is called the critical chain

April 28, 2014 SE 477: Lecture 5 79 of 133

Page 80: SE 477  Software and Systems Project Management

Critical chain methodCritical chain method The pessimistic time ‘surpluses’ of all activity durations in the critical

chain are summed together to create a buffer that is placed at the end of the project, the project buffer The pessimistic time surplus of an activity is the difference

between the 50% (most likely) duration of the activity and the 90% (pessimistic) duration

Example: For an activity with a 50% duration of 5 days and a 90% duration of 9 days, the pessimistic time surplus is 4 days

All sequences of activities that feed into the critical chain have buffers (feeding buffers) placed at the points that they join the critical chain

During execution, project resources focus on completing the current activity within the 50% duration and avoiding multitasking

CCM project management focuses on monitoring and controlling buffer usage rather than on monitoring and controlling individual activity completion dates

April 28, 2014 SE 477: Lecture 5 80 of 133

Page 81: SE 477  Software and Systems Project Management

Critical chain methodCritical chain method

April 28, 2014 SE 477: Lecture 5 81 of 133

Page 82: SE 477  Software and Systems Project Management

What-if analysisWhat-if analysis Scenario-based analysis of schedule to determine effects of various

scenarios on different aspects of the project Example: Delay delivery of a critical component by various amounts

to determine effect on schedule Example: COTS supplier is unable to provide a critical component at

all What-if scenario analysis effectively tests the robustness of the project

schedule in response to adverse circumstances Most common technique uses Monte Carlo analysis to generate a

population of possible project schedule outcomes Think of executing the same project 10,000 times with the same

resources, different boundary conditions, and no memory between executions

Very useful in preparing contingency and response plans for project risks (to be discussed in upcoming lecture)

April 28, 2014 SE 477: Lecture 5 82 of 133

Page 83: SE 477  Software and Systems Project Management

Resource levelingResource leveling Resource leveling is applied to a schedule analyzed by CPM Addresses situation where resource availability is

constrained by time or amount of the resource available May also be used to keep resource usage at a constant

level during certain time periods in the project Resource leveling is needed when resources have been

over-allocated or assigned to two or more activities in the same time period

May change the critical path in the schedule model

☛Beware of automated resource leveling—the project schedule network may be nearly unrecognizable after leveling

April 28, 2014 SE 477: Lecture 5 83 of 133

Page 84: SE 477  Software and Systems Project Management

Resource levelingResource leveling Uses a number of different approaches, including:

Assign under-allocated resources to multiple tasks to keep them busy

Move key resources off of non-critical tasks Delay start of task until required resources are available,

possibly using lags Split tasks into two or more subtasks so the subtasks can

be assigned to different resources

April 28, 2014 SE 477: Lecture 5 84 of 133

Page 85: SE 477  Software and Systems Project Management

Keeping a sense of Keeping a sense of perspectiveperspective

Project management is not just scheduling.

(Though sometimes it seems that way.)

April 28, 2014 SE 477: Lecture 5 85 of 133

Page 86: SE 477  Software and Systems Project Management

Applying leads and lagsApplying leads and lags Applying leads and lags allows refinement of a schedule

once the major schedule network analysis effort has been completed

Use of leads and lags may be used to meet imposed constraints, help in resource leveling, or incorporate contingency reserves into a schedule

April 28, 2014 SE 477: Lecture 5 86 of 133

Page 87: SE 477  Software and Systems Project Management

CalendarsCalendars Identify days and dates when work can be performed Affect all project-related activities General project calendars govern overall limitations on when

project work may be performed Example: Work is performed at a client site, and the

client shuts down for three weeks during the summer Resource calendars govern limitations on when particular

resources (or resource groups) may perform project work Example: Individual project team member vacation

schedules Example: Development team training schedules

April 28, 2014 SE 477: Lecture 5 87 of 133

Page 88: SE 477  Software and Systems Project Management

Schedule development outputSchedule development output Project schedule network diagrams

Show both project network logic (sequencing) as well as critical path schedule activities

Usually displayed as an activity-on-node diagram Gantt charts

Specialized bar charts format to show activity start and end dates, along with durations

Easy to read but limited by low information density Milestone charts

‘Stripped-down’ version of Gantt chart, showing only milestones

April 28, 2014 SE 477: Lecture 5 88 of 133

Page 89: SE 477  Software and Systems Project Management

Reducing Project DurationReducing Project Duration How can you shorten the schedule? Via

Reducing scope (or quality) Adding resources Concurrency (perform tasks in parallel) Substitution of activities

April 28, 2014 SE 477: Lecture 5 89 of 133

Page 90: SE 477  Software and Systems Project Management

Schedule compressionSchedule compression Shortens the project schedule without changing the project

scope, to meet schedule constraints, imposed dates, or other schedule objectives

There are two types of schedule compression, crashing and fast-tracking

Crashing. Analyzes cost and schedule trade-offs to get the greatest amount of compression with the least cost Examples: Use of additional resources, being more

efficient, changing approach used to perform work, work overtime

Schedule crashing only works for activities where additional resources may shorten the duration of the activity

April 28, 2014 SE 477: Lecture 5 90 of 133

Page 91: SE 477  Software and Systems Project Management

Schedule compressionSchedule compression Fast-tracking. Activities that would normally be done

sequentially are done in parallel. Fast-tracking can lead to rework and increased risks due

to unforeseen dependencies Fast-tracking only works when activities can be

overlapped to shorten the total duration

April 28, 2014 SE 477: Lecture 5 91 of 133

Page 92: SE 477  Software and Systems Project Management

Compression TechniquesCompression TechniquesShorten the overall duration of the project Crashing

»Looks at cost and schedule tradeoffs»Gain greatest compression with least cost»Add resources to critical path tasks»Limit or reduce requirements (scope)»Changing the sequence of tasks

Fast Tracking»Overlapping of phases, activities or tasks that would

otherwise be sequential» Involves some risk»May cause rework

Barry Boehm says you cannot compress more than 25%

April 28, 2014 SE 477: Lecture 5 92 of 133

Page 93: SE 477  Software and Systems Project Management

TaskTask Name ID Description of work Duration (days)

Start Date (Earliest, Latest) Finish Date (Earliest, Latest)

Resources (People and equipment) Effort (In staff-days)

Predecessors (other tasks) Inputs (documents, decisions, information) Successors (other tasks) Outputs (documents, decisions, information)

April 28, 2014 SE 477: Lecture 5 93 of 133

Page 94: SE 477  Software and Systems Project Management

Mythical Man-MonthMythical Man-Month Book: “The Mythical Man-Month”

Author: Fred Brooks “The classic book on the human elements of software engineering” First two chapters are full of terrific insight (and quotes)

Sample Quotes “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”

April 28, 2014 SE 477: Lecture 5 94 of 133

Page 95: SE 477  Software and Systems Project Management

Mythical Man-MonthMythical Man-Month 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, manager lack courteous stubbornness

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.

April 28, 2014 SE 477: Lecture 5 95 of 133

Page 96: SE 477  Software and Systems Project Management

Mythical Man-MonthMythical Man-Month Optimism

“All programmers are optimists” 1st 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)»His formula: n(n-1)/2

How long does a 12 month project take?• 1 person: 12 months• 2 persons = 7 months (2 man-months extra)• 3 persons = 5 months (3 man-months extra)

Fix: don’t assume adding people will solve the problem

April 28, 2014 SE 477: Lecture 5 96 of 133

Page 97: SE 477  Software and Systems Project Management

Mythical Man-MonthMythical Man-Month 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 (the most linear process)

Why is this particularly bad? Occurs late in process and w/o warning Higher costs: primary and secondary

Fix: Allocate more test time Understand task dependencies

April 28, 2014 SE 477: Lecture 5 97 of 133

Page 98: SE 477  Software and Systems Project Management

Mythical Man-MonthMythical Man-Month Reliance on hunches and guesses

What is ‘gutless estimating’? The myth of additional manpower

Brooks Law:“Adding manpower to a late project makes it later”

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 was programming

Fixes No “fuzzy” milestones (get the “true” status) Reduce the role of conflict Identify the “true status”

April 28, 2014 SE 477: Lecture 5 98 of 133

Page 99: SE 477  Software and Systems Project Management

Schedule Development Schedule Development Workflow and ExampleWorkflow and Example

April 28, 2014 SE 477: Lecture 5 99 of 133

Page 100: SE 477  Software and Systems Project Management

Scheduling workflowScheduling workflow Define activities

Use of WBS template helps guide definition process and organize activities

Perform activity sequencing Develop schedule framework according to what is

logically possible – perform resource allocation later Estimate effort – the total number of labor units (e.g. staff-

days) for each activity Identify resources for each activity Apply calendars to schedule framework

April 28, 2014 SE 477: Lecture 5 100 of 133

Page 101: SE 477  Software and Systems Project Management

Scheduling workflowScheduling workflow Estimate activity duration based on resources for activity

Perform forward pass or backward pass critical path analysis to generate schedule model

Perform ‘what-if’ scenario analysis to identify contingency and risk response needs

Apply resource leveling to schedule model

Apply schedule compression, if needed

April 28, 2014 SE 477: Lecture 5 101 of 133

Page 102: SE 477  Software and Systems Project Management

WBS templateWBS template

Component groups with a ‘+’ in front of them are ‘rolled up’ – subcomponents are hidden to reduce clutter

April 28, 2014 SE 477: Lecture 5 102 of 133

Page 103: SE 477  Software and Systems Project Management

Activity Activity definitiondefinition

Note expansion and detailing of WBS template Architecture design modeling entry; renamed Software architecture description to Document software architecture

Note expansion and detailing of WBS template Design demonstration planning and conduct entry

Added System architecture definition WBS component

Note expansion and detailing of WBS template Critical component coding demo integration entry

Note rework of WBS template Elaboration phase assessment entry

April 28, 2014 SE 477: Lecture 5 103 of 133

Page 104: SE 477  Software and Systems Project Management

Activity Activity sequencingsequencing

Note dual predecessors.Default relationship is Finish-to-Start. Here, we have defined a Start-to-Start relationship with an added lag of 5 days

Here, we have defined a Finish-to-Finish relationship: this is common for implementation/integration task pairs

Page 105: SE 477  Software and Systems Project Management

Effort Effort EstimationEstimation

Effort (called work in MS Project) is the total number of labor units needed to complete a task

Measured in staff units (-hours, -days, -weeks, etc.)

Effort allocated among resources provides duration estimates

April 28, 2014 SE 477: Lecture 5 105 of 133

Page 106: SE 477  Software and Systems Project Management

Activity resource estimatingActivity resource estimating Walk through activities

and identify classes of resources needed

If possible, do not specify individuals at this point, only their role/title

Identify specific individuals as resources only if necessary

April 28, 2014 SE 477: Lecture 5 106 of 133

Page 107: SE 477  Software and Systems Project Management

Duration estimationDuration estimation The effort

estimated in the effort estimation step is the total labor units needed to complete a task

Duration estimation results from taking the effort and distributing it among the resources for task

April 28, 2014 SE 477: Lecture 5 107 of 133

Page 108: SE 477  Software and Systems Project Management

DurationDurationestimationestimation

The resource allocation for this task is detailed on the preceding slide. Note the 20 day work (effort) estimate vs. the 8 day duration

Long durations for these summary components are due to incomplete data entry for all subcomponents

April 28, 2014 SE 477: Lecture 5 108 of 133

Page 109: SE 477  Software and Systems Project Management

Critical path: early/late start and finish with float (slack)Critical path: early/late start and finish with float (slack)

Page 110: SE 477  Software and Systems Project Management

Schedule compressionSchedule compression

Note schedule compression of 5 days

Use Start-to-Start dependency with 5 day lag for successor to get reasonable relationship between two tasks

Use Finish-to-Start dependency with 5 day negative lag (-5) for successor to get reasonable relationship between two tasks. Equivalent to a 5 day lead for successor

Alternatively:

April 28, 2014 SE 477: Lecture 5 110 of 133

Page 111: SE 477  Software and Systems Project Management

Determining resource utilizationDetermining resource utilization Resource graphs

show the utilization of individual resources as a function of time

Resource graphs can be used to identify over- and under-utilized resources

Resource leveling can be used to balance utilization and/or to shift tasks to lower-cost resources

April 28, 2014 SE 477: Lecture 5 111 of 133

Page 112: SE 477  Software and Systems Project Management

Next ClassNext Class Topic:

Risk Management: Planning, risk identification, quantification and prioritization; Risk analysis, response planning, avoidance, mitigation, monitoring.

Reading: PMP Study Guide: Chapter 6 Kerzner: Chapter 17 Taylor: Chapter 7 Taylor (Survival Guide): Chapter 13

Assignment 3 – due May 5

April 28, 2014 SE 477: Lecture 5 112 of 133

Page 113: SE 477  Software and Systems Project Management

Journal ExercisesJournal Exercises Read the paper: Programmer Productivity: The "Tenfinity

Factor” <http://www.devtopics.com/programmer-productivity-the-tenfinity-factor/> Comment. Given the above, what about the impact on estimating?

Also, think about programmer style and lines of code measurements.

April 28, 2014 SE 477: Lecture 5 113 of 133

Page 114: SE 477  Software and Systems Project Management

Midterm ExaminationMidterm Examination

“Nobody expects the Spanish Inquisition!”

– Monty Python

April 28, 2014 SE 477: Lecture 5 114 of 133

Page 115: SE 477  Software and Systems Project Management

Mid-term ExaminationMid-term Examination Midterm Examination will be on the Desire2Learn system starting

Wednesday, April 30, through Monday, May 5 See important information about Taking Quizzes On-line

Login to the Desire2Learn System (https://d2l.depaul.edu/) On-line tutorial:

http://www.itd.depaul.edu/website/documentation/d2l/mp4based/quizzes/quizzes.html

On-line guide:http://www.itd.depaul.edu/website/documentation/d2l/Quizzes.pdf

Take the Mid-term examination. It will be made available Wednesday, April 30, 2014. You must take the exam by COB Monday, May 5, 2014. Allow 3 hours (should take about one hour if you are prepared);

note: books or notes should not be used. Midterm study guide [note solution to some problems on last page].

April 28, 2014 SE 477: Lecture 5 115 of 133

Page 116: SE 477  Software and Systems Project Management

SE 477 – Class 5: AppendicesSE 477 – Class 5: AppendicesThis is material that is relevant but not used often enough to present in the

main part of the class.

Topics: Scheduling

PERT Estimation technique Critical Path Method (CPM) Forward and backward pass analysis Calculating float

April 28, 2014 SE 477: Lecture 5 116 of 133

Page 117: SE 477  Software and Systems Project Management

Appendix: PERT Estimation Appendix: PERT Estimation TechniqueTechnique

April 28, 2014 SE 477: Lecture 5 117 of 133

Page 118: SE 477  Software and Systems Project Management

PERT estimation techniquePERT estimation technique Most widely used three-point estimate is PERT (Program Evaluation

and Review Technique) Defines three estimate points as:

Most likely: estimate that occurs with greatest frequency Optimistic: shortest duration, taken as 10th percentile value Pessimistic: longest duration, taken as 90th percentile value PERT activity duration estimate TE and its standard deviation (sE or

σ) are calculated according to:

6/)(

6/)4( _

optimisticcpessimistiE

cpessimistilikelymostoptimisticE

EEs

EEET

April 28, 2014 SE 477: Lecture 5 118 of 133

Page 119: SE 477  Software and Systems Project Management

Duration estimates distributionDuration estimates distribution

10th Percentile~ μ -2.24σ

Duration

Optimistic EstimateFor this activity, only 10% of the time activity will take less time than this. Conversely, 90% of the time activity will take more time than this.

μ

Pessimistic EstimateFor this activity, 90% of the time activity will take less time than this. Conversely, only 10% of the time activity will take more time than this.

Most Likely Estimate is peak of distribution. For symmetric distributions, Most Likely Estimate and mean coincide. However, for skewed distributions the peak will be shifted off-center and differ from the mean.

90th Percentile~ μ +2.24σ

Note that this is a symmetric, continuous distribution.Actual data will be discrete, will likely be skewed,and will best be displayed in a histogram.

April 28, 2014 SE 477: Lecture 5 119 of 133

Page 120: SE 477  Software and Systems Project Management

How to calculate PERT estimatesHow to calculate PERT estimates This is for statistics majors and rarely used except when analyzing data.

Calculate the sample mean:

Calculate the sample standard deviation:

Use Chebyshev’s rule to approximate optimistic and pessimistic estimates: At least (1 − 1/k2) · 100% of the values are within k standard

deviations from the mean So, solving for k when this equation equals 80% (for the 20% outside

the 10 and 90 percentiles), we get approximately:

N

i

ixN

x1

1

2

1

)(1

1

N

i

i xxN

s

sxOptimistic 24.2 sxcPessimisti 24.2

April 28, 2014 SE 477: Lecture 5 120 of 133

Page 121: SE 477  Software and Systems Project Management

PERT calculation examplePERT calculation example

7.34)208(6

1

)484840242424(6

1

x

x

You have the following estimates for an activity, in staff-hours:24, 24, 24, 40, 48, 48

Calculate the sample mean:

Calculate the sample standard deviation (s or σ):

s1

6 1(xi 34.7

i1

6

)2

s 15

((24 34.7)2 (24 34.7)2 (24 34.7)2 (40 34.7)2 (48 34.7)2 (48 34.7)2)

s (0.2)(114.5 114.5 114.5 28.1176.9 176.9)

s 0.2 725.4

s 145.1

s12

April 28, 2014 SE 477: Lecture 5 121 of 133

Page 122: SE 477  Software and Systems Project Management

PERT calculation examplePERT calculation exampleNow, calculate the PERT estimates :

Finally, the PERT estimated activity duration is:

997.8

6/)8.76.61(6/)(

6.27

6/4.1656/)6.61)244(8.7(

6/)4( _

E

optimisticcpessimistiE

E

E

cpessimistilikelymostoptimisticE

s

EEs

T

T

EEET

8.79.267.34

)1224.2(7.3424.2

Optimistic

sxOptimistic

6.619.267.34)1224.2(7.34

24.2

cPessimisti

sxcPessimisti

24_ LikelyMost

April 28, 2014 SE 477: Lecture 5 122 of 133

Page 123: SE 477  Software and Systems Project Management

PERT calculationPERT calculationBeta Distribution

See Journal exercise

April 28, 2014 SE 477: Lecture 5 123 of 133

Page 124: SE 477  Software and Systems Project Management

Journal ExercisesJournal Exercises Think about the problems with getting a good estimate. The PERT and three point estimations all rely on the assumption that

the distribution of estimates are Gaussian in nature. What if they are not? What if there is a large tail for pessimistic?

Hint: lookup Beta Distributions: Hint: Better Project Management Through Beta Distribution

http://www.isixsigma.com/methodology/project-management/better-project-management-through-beta-distribution/

April 28, 2014 SE 477: Lecture 5 124 of 133

Page 125: SE 477  Software and Systems Project Management

Appendix: CPM Details and Appendix: CPM Details and ExampleExample

April 28, 2014 SE 477: Lecture 5 125 of 133

Page 126: SE 477  Software and Systems Project Management

Critical path methodCritical path method A forward pass performs schedule calculations that identify

the early start and finish dates of tasks and the project A backward pass performs schedule calculations that

identify the late start and finish dates of tasks and the project, as well as total and free float

April 28, 2014 SE 477: Lecture 5 126 of 133

Page 127: SE 477  Software and Systems Project Management

Critical path methodCritical path method A forward pass analysis performs schedule calculations

that identify the early start and finish dates of activities and the project Early Start Date (ES). ES represents the theoretically earliest date

a activity can start‣ ES = Maximum EF of predecessor activity(-ies)

Early Finish Date (EF). EF represents the theoretically earliest date a activity can finish‣ EF = ES + duration of activity

April 28, 2014 SE 477: Lecture 5 127 of 133

Page 128: SE 477  Software and Systems Project Management

Critical path methodCritical path method A backward pass analysis performs schedule calculations

that identify the late start and finish dates of activities and the project, as well as total and free float Late Start Date (LS). LS represents the theoretically latest date a

activity can start without delaying the project‣ LS = LF – duration of activity

Late Finish Date (LF). LF represents the theoretically latest date a activity can finish without delaying the project‣ LF = Minimum LS of successor activity(-ies)

April 28, 2014 SE 477: Lecture 5 128 of 133

Page 129: SE 477  Software and Systems Project Management

Critical path methodCritical path method Total float (TF) is the amount of time a activity can be

delayed without delaying the project as a whole TF = LF - EF If LF < EF then TF < 0 If a project has a fixed finish date constraint then TF might be less

than zero, meaning it must complete before LF to satisfy the finish date constraint

Free float (FF) is the amount of time a activity can be delayed without delaying its successor (dependent) activities FF = Minimum ES (successor activities) – EF

Note that total float is global to the project, while free float is local to the neighborhood of the activity

April 28, 2014 SE 477: Lecture 5 129 of 133

Page 130: SE 477  Software and Systems Project Management

Critical Path MethodCritical Path Method List all activities in plan. Plot tasks onto chart. (Tasks = arrows. End Tasks = dots) Show dependencies. Schedule activities

Sequential activities on critical path. Parallel activities. Slack time for hold-ups.

Find longest path through chart. This is the critical path

What is the difference between critical path and critical chain? Critical chain also manages buffer activity durations and

resourcesApril 28, 2014 SE 477: Lecture 5 130 of 133

Page 131: SE 477  Software and Systems Project Management

Performing forward pass CP analysisPerforming forward pass CP analysis

ID TF DURName

ES EF

LS LF

10 TF 5 days

A

5/7 5/11

20 TF 10 days

B

5/7 5/16

30 TF 4 days

C

5/16 5/19

ES = Maximum EF of predecessor task(s)EF = ES + duration of task

Key

1

1

2

2 3

4

April 28, 2014 SE 477: Lecture 5 131 of 133

Page 132: SE 477  Software and Systems Project Management

Performing backward pass CP analysisPerforming backward pass CP analysis

ID TF DURName

ES EF

LS LF

10 TF 5 days

A

5/7 5/11

5/12 5/16

20 TF 10 days

B

5/7 5/16

5/7 5/16

30 TF 4 days

C

5/16 5/19

5/16 5/19

LF = Minimum LS of successor task(s)LS = LF – duration of task

Key

3

3

1

2

4

4

April 28, 2014 SE 477: Lecture 5 132 of 133

Page 133: SE 477  Software and Systems Project Management

Calculating floatCalculating float

ID TF DURName

ES EF

LS LF

10 6 days 5 days

A

5/7 5/11

5/12 5/16

20 0 days 10 days

B

5/7 5/16

5/7 5/16

30 0 days 4 days

C

5/16 5/19

5/16 5/19

TF = LF - EFFF = Minimum ES (successor task) – EF

Key

FF = 0

FF = 6

Critical path

April 28, 2014 SE 477: Lecture 5 133 of 133


Recommended