
b11f633f3e4ae2577e388e8f5a466aa5.ppt
- Количество слайдов: 134
SE 477 Software and Systems Project Management Dennis Mumaugh, Instructor dmumaugh@depaul. edu Office: CDM, Room 428 Office Hours: Wednesday, 4: 00 – 5: 30 February 1, 2017 SE 477: Lecture 5 1 of 134
Administrivia § Comments and feedback § Midterm Examination this coming week [February 3 – February 7] Ø Will use Desire 2 Learn Ø See important information about Taking Quizzes On-line Ø Midterm study guide [note solution to some problems on last page]. February 1, 2017 SE 477: Lecture 5 2 of 134
Team Project Start working on § Project Time Management Ø Perform activity definition, sequencing, and duration estimation; Ø Perform activity resource estimation; Ø Develop schedule based on estimates February 1, 2017 SE 477: Lecture 5 3 of 134
Assignment 3 § Effort conversion factors § § 8 working hours per day, 5 days per week person-months = person-days times 19 person-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 February 1, 2017 SE 477: Lecture 5 4 of 134
SE 477 – Class 5 Topics: § Size and complexity Estimation § Activity Resource Estimating § Activity Duration Estimating § Project Planning – Schedule Development § Scheduling Ø Schedule network analysis Ø Calculating float Ø Schedule compression § Resource leveling February 1, 2017 § Schedule development output § Mythical Man Month § Project Planning – Schedule Development Workflow and Example § Reading: Ø PMBOK-SWE Ch. 6 Intro & Ch. 6. 1 -Ch. 6. 6 § Appendix Ø PERT Estimation Ø Critical Path Method (CPM) Ø Forward and backward pass analysis SE 477: Lecture 5 5 of 134
Thought 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, “Quality Software Project Management” February 1, 2017 SE 477: Lecture 5 6 of 134
Last time § Charter § Project Planning Ø Ø WBS details Activity: » Activity Definition » Activity Sequencing February 1, 2017 SE 477: Lecture 5 7 of 134
Project Planning Project Time Management I Size and Complexity Estimation Activity Resource Estimating Activity Duration Estimating February 1, 2017 SE 477: Lecture 5 8 of 134
Estimating Project Size And Complexity February 1, 2017 SE 477: Lecture 5 9 of 134
The Dilbert Report February 1, 2017 SE 477: Lecture 5 10 of 134
Estimations § § 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 process 1) Estimate the size of the product 2) Estimate the effort (person-months) 3) Estimate the schedule Ø NOTE: Not all of these steps are always explicitly performed February 1, 2017 SE 477: Lecture 5 11 of 134
Estimations § 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% February 1, 2017 SE 477: Lecture 5 12 of 134
Estimation § 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 postrequirements estimates Ø Medium (100 -999 FPs), 22% variance Ø Large (1000 -9999 FPs) 38% variance Ø Very large (> 10 K FPs) 51% variance Ø February 1, 2017 SE 477: Lecture 5 13 of 134
Estimation 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 … February 1, 2017 SE 477: Lecture 5 14 of 134
Top-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 Ø February 1, 2017 SE 477: Lecture 5 15 of 134
Bottom-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 Ø February 1, 2017 SE 477: Lecture 5 16 of 134
Expert 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 February 1, 2017 SE 477: Lecture 5 17 of 134
Estimation 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 Ø February 1, 2017 SE 477: Lecture 5 18 of 134
Priced 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? February 1, 2017 SE 477: Lecture 5 19 of 134
Algorithmic 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 Ø February 1, 2017 SE 477: Lecture 5 20 of 134
Code-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 Ø February 1, 2017 SE 477: Lecture 5 21 of 134
LOC 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) February 1, 2017 SE 477: Lecture 5 22 of 134
Function 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 February 1, 2017 SE 477: Lecture 5 23 of 134
Function Point Process 1. 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]. February 1, 2017 SE 477: Lecture 5 24 of 134
Wideband 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 February 1, 2017 SE 477: Lecture 5 25 of 134
Effort 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 February 1, 2017 SE 477: Lecture 5 26 of 134
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 February 1, 2017 SE 477: Lecture 5 27 of 134
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? February 1, 2017 SE 477: Lecture 5 28 of 134
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 February 1, 2017 SE 477: Lecture 5 29 of 134
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 … February 1, 2017 SE 477: Lecture 5 30 of 134
Causes 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. February 1, 2017 SE 477: Lecture 5 31 of 134
Estimation 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 Ø February 1, 2017 SE 477: Lecture 5 32 of 134
Over 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 Ø February 1, 2017 SE 477: Lecture 5 33 of 134
Estimation 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 February 1, 2017 SE 477: Lecture 5 34 of 134
Know 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, Y 2 K § Or ‘Artificial Deadlines’? Ø Set by arbitrary authority Ø May have some flexibility (if pushed) Ø February 1, 2017 SE 477: Lecture 5 35 of 134
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 [Q 4 17] Confidence Factors [June 1 – 10% probability, July 1 – 50%, etc. ] February 1, 2017 SE 477: Lecture 5 36 of 134
Other 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 Ø February 1, 2017 SE 477: Lecture 5 37 of 134
Other 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 Ø February 1, 2017 SE 477: Lecture 5 38 of 134
Activity Resource Estimating Resource Management Ø Assessing Competencies and Skills Ø Resource allocation Estimating tools Personal Software Process (PSP) Activity resource estimating output February 1, 2017 SE 477: Lecture 5 39 of 134
Introduction § 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 resourcespecific (Richard Parker as senior architect) § How much. Amount of resource(s) needed for activity § When the resource will be needed for activities February 1, 2017 SE 477: Lecture 5 40 of 134
Introduction § 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 February 1, 2017 SE 477: Lecture 5 41 of 134
Estimating 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) February 1, 2017 SE 477: Lecture 5 42 of 134
Estimating 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) February 1, 2017 SE 477: Lecture 5 43 of 134
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/ February 1, 2017 SE 477: Lecture 5 44 of 134
Activity 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 Ø February 1, 2017 SE 477: Lecture 5 45 of 134
Activity Duration Estimating tools PERT estimation technique February 1, 2017 SE 477: Lecture 5 46 of 134
Introduction § 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 February 1, 2017 SE 477: Lecture 5 47 of 134
Introduction § Controlling factors in duration estimating Ø Historical data. If available, enterprise- or industryspecific 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 February 1, 2017 SE 477: Lecture 5 48 of 134
Sidebar: 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 February 1, 2017 SE 477: Lecture 5 49 of 134
Estimating 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 February 1, 2017 SE 477: Lecture 5 50 of 134
Estimating 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 February 1, 2017 SE 477: Lecture 5 51 of 134
Three 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. February 1, 2017 SE 477: Lecture 5 52 of 134
Example: Estimation of LOC CAD program to represent mechanical parts Ø Estimated LOC = (Optimistic + 4(Likely)+ Pessimistic)/6 Optimistic 1, 500 Most Likely 2, 300 Pessimistic 3, 100 Estimated LOC 2, 300 2 DGA 3, 800 5, 200 7, 200 5, 300 3 DGA 4, 600 6, 900 8, 600 6, 800 DBM CGDF 1, 600 3, 700 3, 500 5, 000 4, 500 6, 000 3, 350 4, 950 1, 400 7, 200 23, 800 2, 200 8, 300 33, 400 2, 400 10, 000 41, 800 2, 100 8, 400 33, 200 Major Software Functions ID User interface and control facilities Two-dimensional geometric analysis Three-dimensional geometric analysis Database management Computer graphics display features Peripheral control Design analysis modules Estimated lines of code UICF February 1, 2017 PC DAM SE 477: Lecture 5 53 of 134
Schedule Development February 1, 2017 SE 477: Lecture 5 54 of 134
Definition § 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 February 1, 2017 SE 477: Lecture 5 55 of 134
Controlling factors in schedule development § Project scope statement Ø Ø Scope statement is the source of assumptions and constraints on the project (PMI) “Assumptions are those documented, schedulerelated 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 February 1, 2017 SE 477: Lecture 5 56 of 134
Controlling 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 riskassociated plans We will discuss risk and risk-related planning in an upcoming lecture February 1, 2017 SE 477: Lecture 5 57 of 134
Network Analysis The First Steps February 1, 2017 SE 477: Lecture 5 58 of 134
Network 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 February 1, 2017 SE 477: Lecture 5 59 of 134
Network Analysis § There 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 February 1, 2017 SE 477: Lecture 5 60 of 134
Network 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 February 1, 2017 SE 477: Lecture 5 61 of 134
Creating 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 February 1, 2017 SE 477: Lecture 5 62 of 134
Creating 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 February 1, 2017 SE 477: Lecture 5 63 of 134
Sample evolutionary precedence table February 1, 2017 SE 477: Lecture 5 64 of 134
Planning Project Time Management II PERT Chart CPM February 1, 2017 SE 477: Lecture 5 65 of 134
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 completed February 1, 2017 SE 477: Lecture 5 66 of 134
• Program Evaluation and Review Technique. • Help understand relationship between tasks and project activity flow.
Slack 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 Duration E S February 1, 2017 Slack EF SE 477: Lecture 5 LF 68 of 134
Slack 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. February 1, 2017 SE 477: Lecture 5 69 of 134
Critical 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 overallocation or inefficient multitasking February 1, 2017 SE 477: Lecture 5 70 of 134
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 February 1, 2017 SE 477: Lecture 5 71 of 134
Simple critical path example Critical Path February 1, 2017 SE 477: Lecture 5 72 of 134
Carrying out the example critical path analysis above shows us: • • 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 • February 1, 2017 That if all goes well the project can be completed in 10 weeks That hardware installation is a low priority task as long as it is completed by the end of week 7 SE 477: Lecture 5 73 of 134
Project Planning Tools Gantt Chart February 1, 2017 SE 477: Lecture 5 74 of 134
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 February 1, 2017 SE 477: Lecture 5 75 of 134
GANTT Schedule • View Project in Context of time. • Critical for monitoring a schedule. • Granularity 1 – 2 weeks. • 2 week window approach
Sample evolutionary Gantt chart February 1, 2017 SE 477: Lecture 5 77 of 134
Gantt 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 1 0 9 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 A B C D E Time is 16 days Critical path is B, C, E February 1, 2017 SE 477: Lecture 5 78 of 134
Critical 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 February 1, 2017 SE 477: Lecture 5 79 of 134
Critical 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 February 1, 2017 SE 477: Lecture 5 80 of 134
Critical 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 February 1, 2017 SE 477: Lecture 5 81 of 134
Critical chain method February 1, 2017 SE 477: Lecture 5 82 of 134
What-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) February 1, 2017 SE 477: Lecture 5 83 of 134
Resource 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 February 1, 2017 SE 477: Lecture 5 84 of 134
Resource 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 February 1, 2017 SE 477: Lecture 5 85 of 134
Keeping a sense of perspective Project management is not just scheduling. (Though sometimes it seems that way. ) February 1, 2017 SE 477: Lecture 5 86 of 134
Applying 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 February 1, 2017 SE 477: Lecture 5 87 of 134
Calendars § 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 February 1, 2017 SE 477: Lecture 5 88 of 134
Schedule 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 Ø February 1, 2017 SE 477: Lecture 5 89 of 134
Reducing Project Duration § How can you shorten the schedule? § Via Ø Ø Reducing scope (or quality) Adding resources Concurrency (perform tasks in parallel) Substitution of activities February 1, 2017 SE 477: Lecture 5 90 of 134
Schedule 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 February 1, 2017 SE 477: Lecture 5 91 of 134
Schedule 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 February 1, 2017 SE 477: Lecture 5 92 of 134
Compression Techniques Shorten 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% February 1, 2017 SE 477: Lecture 5 93 of 134
Task § § § § § 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) February 1, 2017 SE 477: Lecture 5 94 of 134
Mythical 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” Ø February 1, 2017 SE 477: Lecture 5 95 of 134
Mythical 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. February 1, 2017 SE 477: Lecture 5 96 of 134
Mythical Man-Month § 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) » 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 Ø February 1, 2017 SE 477: Lecture 5 97 of 134
Mythical 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 Ø February 1, 2017 SE 477: Lecture 5 98 of 134
Mythical 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” Ø § § February 1, 2017 SE 477: Lecture 5 99 of 134
Schedule Development Workflow and Example February 1, 2017 SE 477: Lecture 5 100 of 134
Scheduling 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. staffdays) for each activity Identify resources for each activity Apply calendars to schedule framework Ø § § February 1, 2017 SE 477: Lecture 5 101 of 134
Scheduling 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 February 1, 2017 SE 477: Lecture 5 102 of 134
WBS template Component groups with a ‘+’ in front of them are ‘rolled up’ – subcomponents are hidden to reduce clutter February 1, 2017 SE 477: Lecture 5 103 of 134
Activity definition Added System architecture definition WBS component 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 Note rework of WBS template Elaboration phase assessment entry Note expansion and detailing of WBS template Critical component coding demo integration entry February 1, 2017 SE 477: Lecture 5 104 of 134
Activity sequencing Note dual predecessors. Default relationship is Finishto-Start. Here, we have defined a Start-to-Start relationship with an added lag of 5 days Here, we have defined a Finishto-Finish relationship: this is common for implementation/integration task pairs
Effort Estimation 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 February 1, 2017 SE 477: Lecture 5 106 of 134
Activity 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 February 1, 2017 SE 477: Lecture 5 107 of 134
Duration 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 February 1, 2017 SE 477: Lecture 5 108 of 134
Duration estimation 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 February 1, 2017 SE 477: Lecture 5 109 of 134
Critical path: early/late start and finish with float (slack)
Schedule compression 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: Use Start-to-Start dependency with 5 day lag for successor to get reasonable relationship between two tasks Note schedule compression of 5 days February 1, 2017 SE 477: Lecture 5 111 of 134
Determining resource utilization q Resource graphs show the utilization of individual resources as a function of time q Resource graphs can be used to identify over- and underutilized resources q Resource leveling can be used to balance utilization and/or to shift tasks to lower-cost resources February 1, 2017 SE 477: Lecture 5 112 of 134
Next Class Topic: Ø Risk Management: Planning, risk identification, quantification and prioritization; Risk analysis, response planning, avoidance, mitigation, monitoring. Reading: Ø PMBOK-SWE Ch. 11 Intro & Ch. 11. 1 -11. 6 Assignment 3 – due February 8 February 1, 2017 SE 477: Lecture 5 113 of 134
Journal Exercises § Read the paper: Programmer Productivity: The "Tenfinity Factor”
Midterm Examination “Nobody expects the Spanish Inquisition!” – Monty Python February 1, 2017 SE 477: Lecture 5 115 of 134
Mid-term Examination § Midterm Examination will be on the Desire 2 Learn system starting Friday, February 3, through Tuesday, February 7 § See important information about Taking Quizzes On-line Ø Login to the Desire 2 Learn System (https: //d 2 l. depaul. edu/) Ø Take the Mid-term examination. Ø It will be made available Friday, February 3, 2017. Ø You must take the exam by COB Tuesday, February 7. Ø 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]. February 1, 2017 SE 477: Lecture 5 116 of 134
SE 477 – Class 5: Appendices This 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 February 1, 2017 SE 477: Lecture 5 117 of 134
Appendix: PERT Estimation Technique February 1, 2017 SE 477: Lecture 5 118 of 134
PERT 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 10 th percentile value Ø Pessimistic: longest duration, taken as 90 th percentile value Ø PERT activity duration estimate TE and its standard deviation (s. E or σ) are calculated according to: February 1, 2017 SE 477: Lecture 5 119 of 134
Duration estimates distribution 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. Optimistic Estimate For 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 Estimate For 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. 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. 10 th Percentile ~ μ -2. 24σ February 1, 2017 μ Duration SE 477: Lecture 5 90 th Percentile ~ μ +2. 24σ 120 of 134
How 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/k 2) · 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: February 1, 2017 SE 477: Lecture 5 121 of 134
PERT calculation example You have the following estimates for an activity, in staff-hours: 24, 24, 40, 48 Calculate the sample mean: Calculate the sample standard deviation (s or σ): February 1, 2017 SE 477: Lecture 5 122 of 134
PERT calculation example Now, calculate the PERT estimates : Finally, the PERT estimated activity duration is: February 1, 2017 SE 477: Lecture 5 123 of 134
PERT calculation Beta Distribution § See Journal exercise February 1, 2017 SE 477: Lecture 5 124 of 134
Journal 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/betterproject-management-through-beta-distribution/ February 1, 2017 SE 477: Lecture 5 125 of 134
Appendix: CPM Details and Example February 1, 2017 SE 477: Lecture 5 126 of 134
Critical 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 February 1, 2017 SE 477: Lecture 5 127 of 134
Critical 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 theoretically earliest date a activity can start ‣ ES = Maximum EF of predecessor activity(-ies) Early Finish Date (EF). EF represents theoretically earliest date a activity can finish ‣ EF = ES + duration of activity February 1, 2017 SE 477: Lecture 5 128 of 134
Critical 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 theoretically latest date a activity can start without delaying the project ‣ LS = LF – duration of activity Late Finish Date (LF). LF represents theoretically latest date a activity can finish without delaying the project ‣ LF = Minimum LS of successor activity(-ies) February 1, 2017 SE 477: Lecture 5 129 of 134
Critical 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 February 1, 2017 SE 477: Lecture 5 130 of 134
Critical 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 resources February 1, 2017 SE 477: Lecture 5 131 of 134
Performing forward pass CP analysis 10 TF ES = Maximum EF of predecessor task(s) EF = ES + duration of task 5 days 2 A 5/11 5/7 30 1 4 days C 5/16 1 TF 20 TF 4 5/19 10 days B 5/7 February 1, 2017 5/16 2 3 SE 477: Lecture 5 Key ID TF DUR Name EF ES LS LF 132 of 134
Performing backward pass CP analysis 10 TF LF = Minimum LS of successor task(s) LS = LF – duration of task 5 days 3 A 5/7 5/11 5/12 5/16 30 4 days C 4 4 TF 5/16 20 TF 5/16 10 days 5/19 1 B 5/7 February 1, 2017 Key 5/16 3 2 SE 477: Lecture 5 ID TF DUR Name EF ES LS LF 133 of 134
Calculating float FF = 6 10 6 days TF = LF - EF FF = Minimum ES (successor task) – EF 5 days A 5/11 5/7 5/12 30 5/16 0 days 4 days C 5/16 20 0 days 10 days Critical path 5/19 5/16 5/19 B Key 5/16 5/7 ID 5/7 TF DUR Name EF ES LS LF 5/16 FF = 0 February 1, 2017 SE 477: Lecture 5 134 of 134