Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Software Project Management Resource availability and critical chain INFO 638 Glenn Booker INFO 638 Lecture #4 1 Resource Availability To make a project schedule complete, resources need to be assigned to each task Need to identify the number of resources, and their roles 3 senior programmers 0.1 program manager 1 database analyst, etc. INFO 638 Lecture #4 2 Resource Availability Now we need to determine if the project can be completed with the resources available The key is to balance the resources with the tasks they need to accomplish – some refinement of the tasks and activities in the project is often needed INFO 638 Lecture #4 3 Leveling Resources Resource assignments are generally done task-by-task at first Then need to add up the planned resources and look for potential problems Over committing people Resources inconsistent with project priorities INFO 638 Lecture #4 4 Leveling Resources Lack of management to monitor the project resources Lack of accounting for employee turnover Leveling should result in no resource being planned to work more than 100% of the time And we want a logical flow of resources needed – no wild fluctuations INFO 638 Lecture #4 5 Leveling Resources No schedule is typically perfect – we want to get reasonably close however Strategies to level resources include Use available schedule slack Shift the project finish date Smoothing INFO 638 Lecture #4 6 Use available schedule slack Slack is the amount of time a task’s start or completion could be changed without affecting project completion Hence we can slide tasks left & right on the schedule within the limits of their slack time to smooth out resource needs INFO 638 Lecture #4 7 Shift the project finish date If the completion date isn’t critical, consider moving it to the right (later) in order to avoid resource conflicts (multiple tasks needing the same resource at once) Otherwise might need to reduce the project scope to eliminate conflicting tasks, or defer feature completion to later releases INFO 638 Lecture #4 8 Smoothing Here, smoothing refers to deliberately planning people to work overtime to accomplish certain tasks Done by scheduling >8 hours of work per day, or using weekends and/or holidays as work days INFO 638 Lecture #4 9 More Approaches Other ways to help smooth the resource needs include Decompose activities into smaller tasks, and spread out when those tasks are done Stretch the duration of tasks, thereby reducing the number of resources needed Use less skilled resources, and extend the schedule for the task accordingly INFO 638 Lecture #4 10 Cost of Resource Leveling Often leveling or smoothing resources can lead to a longer project schedule This may increase the cost of the project, particularly if fixed project costs are affected (e.g. facility rent) More direct costs could include failure to earn early completion incentives, or penalties for late project completion INFO 638 Lecture #4 11 Micro-level Planning It’s possible to plan subtasks to a very fine amount of detail (day or two subtask task durations) This can be a good strategy for understanding serious estimation problems In general, however, the added cost of planning and tracking isn’t worth it INFO 638 Lecture #4 12 Work Packages Earlier we defined a project as having activities, which are broken into tasks A way to describe and manage the tasks within an activity are work packages The work package describes the tasks to be accomplished, relevant dates, and who will do the work INFO 638 Lecture #4 13 Work Packages Sometimes a work package is also a contractual mechanism to describe a chunk of work to be accomplished The manager of a work package is responsible for managing the tasks needed to get the work done, and report the time and effort needed, and the work package’s status INFO 638 Lecture #4 14 Work Packages = Insurance The work package can also be seen as insurance to describe the work in enough detail to help recover if turnover is a problem During the peak of the dot-com boom, this would have been a very wise strategy to follow INFO 638 Lecture #4 15 Work package assignment (p. 155) WP WP # Name A Design B C D INFO 638 Product eval Place locate Product forecast Early Start 3/4/0 5 Etc. Late WP Finish Manager 4/1/0 F Smith 5 Lecture #4 Contact info 3455678 16 Work Packages The list of all work packages are summarized, like shown on the previous slide Then each work package (A, B, etc.) is described in task-level detail using the form on page 156 of the text Notice that several fields in the top of the form come from the main schedule – predecessors, successors, critical path, etc. INFO 638 Lecture #4 17 WP Implications on schedule Whether you use work packages has strong implications on the level of detail that appears in your master schedule If using work packages, you could plan to the activity level, and leave the details of each activity to the work package managers to define If not using work packages, the main schedule needs to plan to the task level INFO 638 Lecture #4 18 Complete Project Plan With the project defined to the task level you have enough detail to estimate the labor costs, and are able to provide a complete project proposal to upper management for approval to proceed INFO 638 Lecture #4 19 Critical Chain Project Management Critical Chain Project Management (CCPM) is another approach to managing resource conflicts Key additional reference is “Critical Chain Project Management” by L. Leach, ISBN 1580539033 INFO 638 Lecture #4 20 Critical chain vs. critical path The critical path is the longest duration through the project Doesn’t consider the resources needed for tasks along the critical path Critical chain is the longest path through the project, considering both task dependencies and resource constraints INFO 638 Lecture #4 21 How is CCPM different? CCPM is based partly on some statistical concepts The duration of any task will vary, depending on various reasons Those reasons could be due to common causes (normal random fluctuations) or special causes (specific causes which could be identified) INFO 638 Lecture #4 22 Common & Special Causes Common causes are accounted for in the contingency planning for each task – the amount of time needed to ensure it’s completed on time Special causes are dealt with as part of risk management INFO 638 Lecture #4 23 Plan for 50% Completion Time Normally we plan each task so that 90% of the time we’d finish on time This includes a lot of time for each task compared to the 50% completion time (the task time we’d finish in 50% of the time) CCPM plans for the 50% completion time, and adds the additional time as contingency time INFO 638 Lecture #4 24 Figure 12.1, page 254 This is what the cited figure means – the white part of each task is the time needed to finish it 50% of the time The grey part is the difference between 90% and 50% completion times In CCPM we lump the 50% times together, and lump the grey parts into a contingency time period INFO 638 Lecture #4 25 Notice the assumption The text assumes that the difference between 90% and 50% completion times is very large – typically half of the planned duration So tasks with a 90% duration of 6 days, have a 50% duration of 3 days Is this realistic? INFO 638 Lecture #4 26 To create a critical chain path 1. Start with the early schedule from traditional project management (TPM); figure 12.2, the critical path is tasks C1-C2-C3 2. Replace the 90% completion times with 50% completion times for every task INFO 638 Lecture #4 27 To create a critical chain path 3. Convert the early schedule to the late schedule, and show resources; the late schedule is shown in Fig 12.3 4. Look for resource conflicts, and adjust the start time for each task (here it’s assumed each person can work one task at a time) 5. Add time buffers INFO 638 Lecture #4 28 Time Buffers Buffers are time intervals added to the end of a series of tasks to allow for contingencies Buffers can be used for many reasons Project buffers Feeding buffers Resource buffers INFO 638 Lecture #4 29 Project buffers Project buffers are at the end of a critical chain, to protect the overall project schedule (allow for general contingencies) If T50i is the 50% completion time for task i on the critical chain, T90i is the 90% completion time for task i, then project buffer = sqrt{ S (T90i – T50i)2 } i INFO 638 Lecture #4 30 Feeding buffers A feeding buffer is a buffer at the end of a series of tasks which feed into the critical chain (like a stream which feeds a river) It is calculated the same as a project buffer INFO 638 Lecture #4 31 Resource buffers A resource buffer isn’t a time buffer at all; it’s a flag to warn that a particular resource will be needed soon So it’s an alarm clock! A resource buffer is established some time interval before the resource is needed (1 week, a month, etc.) INFO 638 Lecture #4 32 Return to CCPM example Resume the example from slide 28 Add feeding buffers onto the end of tasks A1-A2 and B1-B2 (since they feed the critical chain C) Add project buffer onto the end of tasks C1-C2-C3 (since it is the critical chain) Notice that resource conflicts aren’t considered for buffer time periods INFO 638 Lecture #4 33 Return to CCPM example The project which was 16 days originally (under TPM) is 13.7 days using CCPM A schedule reduction of 14% INFO 638 Lecture #4 34 Managing a project using CCPM Since the nominal task duration is only met 50% of the time, there have to be careful rules for managing the buffers Three levels of warning are established When the first, second, and final thirds of the buffer are entered None for when the buffer is exceeded? INFO 638 Lecture #4 35 Managing a project using CCPM How seriously each of these warnings is treated depends on how far into the series of tasks you are when the buffer is used Again using a scale of first, second, and final third of the tasks accomplished This produces the chart on page 261 INFO 638 Lecture #4 36 Managing a project using CCPM So if a series of tasks is 15 days long, and has a 10 day buffer If you are 8 days into the buffer after completing 7 days of the tasks’ work The tasks are 7/15 into the work, which is the second third of the tasks The buffer used is 8/10, which is the final third of the buffer Hence the diagnosis is “Serious problem; implement the solution” INFO 638 Lecture #4 37 CCPM Summary So CCPM uses a little statistics, and a little risk management theory to reduce the planned schedule for completing a project Several examples of success using CCPM are cited INFO 638 Lecture #4 38