Time Management (Part 9) Dr.Çağatay ÜNDEĞER Instructor Bilkent University, Computer Engineering Middle East Technical University, Game Technologies & General Manager SimBT Inc. e-mail : undeger@simbt.com.tr CS-413 Bilgisayar Mühendisliği Bölümü – Bilkent Üniversitesi – Fall 2009 1 Time Management • Project Management Components (knowledge areas) – Project Integration Management – Project Scope Management – Project Time Management – Project Cost Management – Project Human Resource Management – Project Communication Management – Project Quality Management – Project Risk Management – Project Procurement Management CS-413 2 Time Management • • • • • • CS-413 Introduction Activity Definition Activity Sequencing Activity Duration Estimation Schedule Development Schedule Control 3 Time Management (Introduction) • Includes the process required to ensure timely completion of project. • Follows a “divide and conquer” strategy of breaking down a project into components that can be managed and controlled more easily. • Once components are determined, – A sequence for doing the work tasks (schedule) is established, – Resources are assigned to those tasks, – Durations of tasks are estimated. CS-413 4 Time Management (Introduction) • A project schedule generally created early in the project, – During initiation and planning. • However, – Schedules are used in execution phases to help development; and – They will force development team to met some timing constraints (milestones). CS-413 5 Time Management (Introduction) • Schedules (except some milestones) may frequently need to be updated as the project progress. • As project moves forward, – Estimations become more accurate. • This is reffered as cone of uncertainty [Barry Boehm 1981]. CS-413 6 Time Management (Introduction) • Cone of uncertainty: – A progressively more detailed and accurate projection of project schedule and duration as project deliverables and activities are specified in more detail. 10 Cone of uncertainty from Boehm 2 1 0.5 0.1 Feasibility CS-413 Concept Operation Requirements Specification Product Design Detail Specification Accepted Software 7 Time Management (Introduction) • According to PMI; – At very early phases: • Magnitude estimates: +75% -25%. – After components are specified in more details, budget is estimated: • Budgetary estimates: +25% -10%. – When project resources and activities are highly detailed: • Definite estimates: +10% -5%. CS-413 8 Time Management (Major Phases) • Activity Definition: – Identifying specific activities that must be performed to produce project deliverables. • Activity Sequencing: – Identifying and documenting interactivity dependencies. • Activity Duration Estimation: – Estimating the number of work periods required to complete individual activities. • Schedule Development: – Analyzing activity sequences, activity durations, and resource requirements to create a schedule. • Schedule Control: – Controlling changes to project schedule. CS-413 9 Time Management • • • • • • CS-413 Introduction Activity Definition Activity Sequencing Activity Duration Estimation Schedule Development Schedule Control 10 Activity Definition (Introduction) • CS-413 Involves identifying and documenting specific activities that must be performed to produce deliverables and sub-deliverables in work breakdown structures. 11 Activity Definition (Introduction) • CS-413 Work breakdown structures: – Deliverable-Oriented: • Deliverables are listed in WBS. – Task-Oriented: • Tasks to produce deliverables are listed in WBS. 12 Activity Definition (Introduction) • If WBS is deliverable-oriented, – Activity definition generates activities for creating deliverables defined in WBS. – So output is called the activity list. • If WBS is task-oriented, – Activity definition is performed in coordination with scope definition to determine both deliverables and tasks in WBS. CS-413 13 Activity Definition (Inputs) • • • • • • CS-413 Work breakdown structure Scope statement Historical information Constraints Assumptions Expert judgement 14 Activity Definition (Inputs) • Work breakdown structure: – A deliverable-oriented WBS • Scope statement: – Contains project objectives. • Historical information: – Historical information collected in previous projects could be helpful for doing estimations. CS-413 15 Activity Definition (Inputs) • Constraints: – Factors limiting development options. • Assumptions: – Factors that are accepted as true. • Expert judgement: – Experts could be very useful in clarifying inputs. CS-413 16 Activity Definition (Tools & Techniques) • • CS-413 Templates Decomposition 17 Activity Definition (Tools & Techniques) • CS-413 Templates: – An activity list from a previous project can be used as a template for the new project. – These templates, may also include; • Resource skills and • Required hours of effort for common activities. 18 Activity Definition (Tools & Techniques) • CS-413 Decomposition: – Involves sub-dividing project work packages into smaller components. – Final outputs should be described as activities, not as deliverables. 19 Activity Definition (Tools & Techniques) • CS-413 Decomposition: – Decompose an activity until the activity; • Can be performed by one person or a well-defined group; • Has a single, clearly identifiable deliverable; • Has a known method or technique; • Has well-defined predecessor and successor steps; • Is measurable so that level of completion can be determined. 20 Activity Definition (Tools & Techniques) • CS-413 Decomposition: – Rolling wave planning: • Often, activities for the next few steps can be planned at a sufficient level of detail. • In this case, rolling wave planning technique is used. • Closest activities are planned at a detailed level; • Activities farther in the future are planned only at a general level. 21 Activity Definition (Outputs) • • • CS-413 Activity list Supporting detail Work breakdown structure updates 22 Activity Definition (Outputs) • CS-413 Activity list: – Includes all activities that will be performed within the project. – Should be an extention to WBS if a delivery-oriented WBS is used. – Should be clear enough to let team members understand the content. 23 Activity Definition (Outputs) • Supporting detail: – Includes all identified constraint and assumptions, and other related details. • Work breakdown structure updates: – Any missing deliverable identified during the activity definition should be integrated to WBS. CS-413 24 Time Management • • • • • • CS-413 Introduction Activity Definition Activity Sequencing Activity Duration Estimation Schedule Development Schedule Control 25 Activity Sequencing (Introduction) • • • CS-413 Involves identifying and documenting interactivity logical relationships. Activities must be sequenced accurately to support later development of realistic and achievable schedule. In this phase, a network diagram will be generated to identify sequence. 26 Activity Sequencing (Inputs) • • • • • • CS-413 Activity list Product description Mandatory dependencies Discretionary dependencies External dependencies Milestones 27 Activity Sequencing (Inputs) • Activity list: – List of activities for producing deliverables. • Product description: – Product characteristics may affect sequencing, – So they should be reviewed to ensure accuracy. CS-413 28 Activity Sequencing (Inputs) • CS-413 Mandatory dependencies: – Those that are inherent in the nature of work being done. – For instance, implementation should be started before testing. – Also called hard logic. 29 Activity Sequencing (Inputs) • CS-413 Discretionary dependencies: – Those that are defined by the project management team. – Should be used with care, • Since they may limit later scheduling options. – Also called; • Soft logic, • Preferred logic or • Preferential logic. 30 Activity Sequencing (Inputs) • CS-413 External dependencies: – Those that involve a relationship between project activities and nonproject activities. – For instance, programming language software should be delivered before implementation starts. 31 Activity Sequencing (Inputs) • CS-413 Milestones: – Deadlines that are forced by the stakeholders’ requirements. – Milestone events need to be part of activity sequencing to assure that requirements for meeting milestones are met. 32 Activity Sequencing (Tools & Techniques) • • • • CS-413 Precedence diagramming method (PDM) Arrow diagramming method (ADM) Conditional diagramming method Network templates 33 Activity Sequencing (Tools & Techniques) • Precedence diagramming method (PDM): – A method of constructing a project network diagram; • That uses boxes or rectangles (nodes) to represent activities, and • Connects them with arrows that show dependencies. A Dummy node Dummy node F Start B C CS-413 D E End G 34 Activity Sequencing (Tools & Techniques) • CS-413 Precedence diagramming method (PDM): – Has the ability to illustrate four types of task dependencies among activities. – Types of dependencies: • Finish-to-start • Start-to-start • Finish-to-finish • Start-to-finish 35 Activity Sequencing (Tools & Techniques) • Precedence diagramming method (PDM): – Finish-to-start: • One activity cannot start until another activity has been completed. • For instance, programmers cannot start programming until programming language has been chosen. • The most commonly used logical relationship type. P.L. chosen CS-413 Programming 36 Activity Sequencing (Tools & Techniques) • Precedence diagramming method (PDM): – Start-to-start: • The start of sucessor depends on the start of predecessor. • For instance, programming cannot start until some portion of program design is decided on. Designing Programming CS-413 37 Activity Sequencing (Tools & Techniques) • Precedence diagramming method (PDM): – Finish-to-finish: • Completion of successor activity depends on the completion of the predecessor. • For instance, testing a system cannot be finished until programming is completed. Programming Testing CS-413 38 Activity Sequencing (Tools & Techniques) • Precedence diagramming method (PDM): – Start-to-finish: • Completion of the successor activity depends on the beginning of the predecessor. • For instance, backuping first version of code segment cannot be completed until programming begins. • Rarely used. Programming Backuping code CS-413 39 Activity Sequencing (Tools & Techniques) • Arrow diagramming method (ADM): – Another network diagramming technique that represents project activities as arrows and connects them at nodes to show their dependencies. C=1 4 2 H=5 A=2 D=1 1 E=5 B=3 I=3 7 G=2 3 J=4 F=2 CS-413 6 5 40 Activity Sequencing (Tools & Techniques) • Arrow diagramming method (ADM): – Uses only finish-to-start dependencies. – May require use of dummy activities to define all logical relationships correctly. 2 C 4 A 1 E 6 Dummy activity B 5 3 F D CS-413 41 Activity Sequencing (Tools & Techniques) • Conditional diagramming method: – Used for defining nonsequential activities such as conditional branches and loops. Implementation Completed? Perform testing Start implementation No Yes End implementation Perform implementation CS-413 42 Activity Sequencing (Tools & Techniques) • CS-413 Network templates: – Standardized networks can be used to accelarate preparation of network diagrams. – Portions of networks are offen reffered to as subnets or fragnets. 43 Activity Sequencing (Outputs) • • CS-413 Project network diagram Activity list updates 44 Activity Sequencing (Outputs) • Project network diagram: – May include full project details or have summary activities. – Any unusual sequence should be fully described. • Activity list updates: – Activity definition process may generate updates to activity lists. CS-413 45 Time Management • • • • • • CS-413 Introduction Activity Definition Activity Sequencing Activity Duration Estimation Schedule Development Schedule Control 46 Activity Duration Estimation (Introduction) • Process of taking information on project scope and resources, and – Then developing durations for input to schedules. • Inputs for estimates of a duration typically originate from person or group on project team who is most familiar with the nature of a specific activity. • Estimates are often progressively elaborated. CS-413 47 Activity Duration Estimation (Introduction) • CS-413 Estimating number of work periods required to complete an activity will often require consideration of elapsed time. – Weekends and holidays should be considered. – For instance, • If a task requires 3 days of work, but first day begins on Friday, • Then elapsed time will be 5 days because of weekend. 48 Activity Duration Estimation (Inputs) • • • • • • • CS-413 Activity list Constaints Assumptions Resource requirements Resource capabilities Historical information Identified risks 49 Activity Duration Estimation (Inputs) • Activity list: – List of activities for producing deliverables. • Constaints: – Factors limiting the development options. • Assumptions: – Factors that are accepted as true. CS-413 50 Activity Duration Estimation (Inputs) • CS-413 Resource requirements: – Duration of most activities will be significantly influenced by the resources assigned to them. – For instance; • Allocating two people to a task may halve the time required to complete the task. • Allocating a half-time person to a task may double the time required to complete task. 51 Activity Duration Estimation (Inputs) • CS-413 Resource requirements: – Increasing number of personnel assigned to a task does not necessarily mean reducing the time linearly. – Because additional resources will increase communication overload. – Also some tasks may not be performed in parallel. 52 Activity Duration Estimation (Inputs) • CS-413 Resource capabilities: – Duration of most activities will be significantly affected by the capabilities of human and material resources assigned to them. – For instance, assigning an experienced person to a task will reduce the time required to complete the task. 53 Activity Duration Estimation (Inputs) • CS-413 Historical information: – Likely durations of activities can be estimated from historical information. – Possible sources: • Project files • Commercial duration estimation databases • Project team knowledge 54 Activity Duration Estimation (Inputs) • CS-413 Historical information: – Possible sources: • Project files: – Records of previous projects that the organizations in the current project were involved in. 55 Activity Duration Estimation (Inputs) • CS-413 Historical information: – Possible sources: • Commercial duration estimation databases: – Some historical information that could be available commercially (e.g. How long a governmental agency usually takes to respond to certain types of requests). 56 Activity Duration Estimation (Inputs) • CS-413 Historical information: – Possible sources: • Project team knowledge: – Individual members of team may » Remember previous actuals or estimates, and » Use their experience. – These estimations are generally less reliable than documented results. 57 Activity Duration Estimation (Inputs) • CS-413 Identified risks: – Project team should consider identified risks when producing duration estimates. – Since risks can have significant influence on durations. – Revise baseline duration estimations for activities having risks with high probability of impact. 58 Activity Duration Estimation (Tools & Techniques) • • • • CS-413 Expert judgement Analogous estimating Quantitatively based durations Reserve time (contingency) 59 Activity Duration Estimation (Tools & Techniques) • CS-413 Expert judgement: – Durations are often difficult to estimate Because of number of factors that can influence them. – Expert judgement should be used if possible, else it would be risky. 60 Activity Duration Estimation (Tools & Techniques) • CS-413 Analogous estimating: – Means using actual duration of a previous, similar activity as the basis for estimating duration of a future activity. – Also called top-down estimating. – A form of expert judgement. 61 Activity Duration Estimation (Tools & Techniques) • Quantitatively based durations: – Quantities to be performed for each work category, when multiplied by productivity unit rate, can be used to estimate activity durations ( Quantity x Productivity ) – – CS-413 Quantities: e.g. number of drawings, number of functions. Productivity unit rate: e.g. hours per drawing, hours per function. 62 Activity Duration Estimation (Tools & Techniques) • CS-413 Reserve time (contingency): – To reduce risks, • Project team may add some extra time frame to risky activity durations or elsewhere in schedule. – This extra time is called; • Time reserve, • Contingency or • Buffer. – Can be either in percentage or a fixed amount. 63 Activity Duration Estimation (Outputs) • • • CS-413 Activity duration estimates Basis of estimates Activity list updates 64 Activity Duration Estimation (Outputs) • CS-413 Activity duration estimates: – Should always include some indication of range of possible results. – For instance, • With high probability, activity will take 2 weeks ±2 days. 65 Activity Duration Estimation (Outputs) • Basis of estimates: – Assumptions made in developing estimates must be documented. • Activity list updates: – Process may generate updates to activity lists. CS-413 66 Time Management • • • • • • CS-413 Introduction Activity Definition Activity Sequencing Activity Duration Estimation Schedule Development Schedule Control 67 Schedule Development (Introduction) • • CS-413 Means determining start and finish dates for project activities. Schedule development process must often be iterated a number of times prior to determination of final project schedule. 68 Schedule Development (Inputs) • • • • • • • • • • CS-413 Project network diagram Activity duration estimations Resource requirements Resource pool description Calenders Constraints Assumptions Leads and lags Risk management plan Activity attributes 69 Schedule Development (Inputs) • Project network diagram: – Shows activity sequencing. • Activity duration estimations: – Shows number of work periods required for each activity. • Resource requirements: – Include number of resources assigned to tasks. CS-413 70 Schedule Development (Inputs) • CS-413 Resource pool description: – Stores knowledge of what resources will be available at what times and in what patterns. – For instance, a shared or critical resources can be difficult to schedule • Since their availability may be highly variable. 71 Schedule Development (Inputs) • CS-413 Resource pool description: – Amount of detail may vary in time. – For instance, • For preliminary schedule, – One may only need to know number of consultants required. • For final schedule, – One may need to know which specific consultants are required. 72 Schedule Development (Inputs) • CS-413 Calenders: – Project and resource calenders identify periods when work is allowed. – Project calenders affect all resources (e.g. 5 day work in a week). – Resource calenders affect a specific resource or a category of resources (e.g. A staff may be on vacation, a half-time staff). 73 Schedule Development (Inputs) • CS-413 Constraints: – Factors that will limit the development options. – Major time constraints: • Imposed dates • Key events or milestones 74 Schedule Development (Inputs) • CS-413 Constraints: – Major time constraints: • Imposed dates: – Restrics activities as to; » Start no earlier than a specific date or » Finish no later than a specific date. 75 Schedule Development (Inputs) • CS-413 Constraints: – Major time constraints: • Key events or milestones: – Completion of certain deliverables by a specific date may be requested » By customer, sponsor or Other stakeholders. – Once scheduled, » These days become expected, and » Often may be moved with great difficulty. 76 Schedule Development (Inputs) • CS-413 Assumptions: – Factors that are accepted as true. 77 Schedule Development (Inputs) • Lead time: – Time required by one task before another task can begin. – For instance, in start-to-start relation, • Testing can only be started after some portion of code is implemented. Implementation Testing Lead time CS-413 Development Quality Inspection Lead time 78 Schedule Development (Inputs) • Lag time: – Time delay between completion of one task and start of its successor. – For instance, in finish-to-start relation, • Testing can only be started after implemention and compiling code are completed. Implementation Testing Lag time (Compiling) CS-413 79 Schedule Development (Inputs) • Risk management plan: – A plan for detecting, monitoring risks and minimizing their impacts. • Activity attributes: – Attributes of activities including; • Responsibility (who), • Geographic area or building (where), • WBS classification (which branch), • Activity type (other details), CS-413 80 Schedule Development (Tools & Techniques) • • • • • • CS-413 Matematical analysis Duration compression Simulation Resource leveling Project management software Coding structure 81 Schedule Development (Tools & Techniques) • CS-413 Matematical analysis: – Involves calculating; • Theoretical early and late start and finish dates for all project activities – Without regard for any resource pool limitations. – Result is not a schedule, • But indicate time periods within which activity could be scheduled – Given resource limits and other known constraints. 82 Schedule Development (Tools & Techniques) • CS-413 Matematical analysis: – Most widely known techniques: • Critical path method (CPM) • Graphical evaluation and review technique (GERT) • Program Evaluation and Review Technique (PERT) 83 Schedule Development (Tools & Techniques) • Matematical analysis: – Critical path method (CPM): • Calculates a single, deterministic early and late start and finish date for each activity; • Based on deterministic network logic and duration estimates. Early finish Late start Early start 1 Late finish 3 5 6 D=1 6 2 CS-413 4 7 84 Schedule Development (Tools & Techniques) • CS-413 Matematical analysis: – Graphical evaluation and review technique (GERT): • A network analysis technique that allows probabilistic network logic and duration estimates. • Nowadays, not considered as a generally accepted and used scheduling technique. 85 Schedule Development (Tools & Techniques) • CS-413 Matematical analysis: – Program Evaluation and Review Technique (PERT): • Uses a weighted average duration estimate to calculate activity durations. • Nowadays, seldomly used. 86 Schedule Development (Tools & Techniques) • CS-413 Matematical analysis: – Program Evaluation and Review Technique (PERT): • Optimistic, most likely and pessimistic durations are used. 87 Schedule Development (Tools & Techniques) • CS-413 Duration compression: – A special case of mathematical analysis; • That looks for ways to shorten project schedule. – Techniques: • Crashing • Fast tracking 88 Schedule Development (Tools & Techniques) • CS-413 Duration compression: – Crashing: • Dedicating extra resources to an activity in an attempt to finish activity sooner than its normal schedule. • For example, hiring an extra personnel for an activity. 89 Schedule Development (Tools & Techniques) • CS-413 Duration compression: – Fast tracking: • Means performing activities in parallel that would normally be done in sequence. • For instance, – Starting to write code before design is completed. • Often results in rework and usually increases risks. 90 Schedule Development (Tools & Techniques) • CS-413 Simulation: – A process of calculating different scenarios and their effects on the project schedule. – Scenarios, Project and activity durations, are generated using different assumptions, constraints and resource allocations. 91 Schedule Development (Tools & Techniques) • CS-413 Simulation: – Common used types are: • Monte Carlo simulations • What-if analysis. 92 Schedule Development (Tools & Techniques) • CS-413 Simulation: – Monte Carlo simulations: • Probabilistic analysis used to calculate a distribution of likely results. • In our case, we analyze likely task and project durations. 93 Schedule Development (Tools & Techniques) • CS-413 Simulation: – What-if analysis: • A process of evaluating alternative scenarios – By observing how changes to selected factors affect other factors and outcomes. • For instance, asks “what if a major component for a system is delayed”. 94 Schedule Development (Tools & Techniques) • CS-413 Simulation: – What-if analysis: • Tries to assess the feasibility of schedule under unsuitable conditions. • Helps preparing contingency/response plans for risks. 95 Schedule Development (Tools & Techniques) • CS-413 Resource leveling: – Any form of network analysis where resource management issues drive scheduling decisions. 96 Schedule Development (Tools & Techniques) • CS-413 Resource leveling: – Matematical analysis produce early-start schedules, • But these schedules may not be feasible during some periods of time because of high resource requirements that exceeded available amount within the project. – Resource leveling techniques reschedule activites in order to reduce resource requirements. 97 Schedule Development (Tools & Techniques) • Resource leveling: – For instance, • If we have one person and two tasks that were scheduled at the same time, • Resource leveling may push one of the tasks further in the future. Implementing A Implementing B Initial schedule CS-413 Implementing A Implementing B Resource leveled schedule 98 Schedule Development (Tools & Techniques) • CS-413 Resource leveling: – Allocate scare resource to critical path activities first approach can be applied; • To develop a schedule that reflects such contraints. – Often results in a project duration longer than the preliminary schedule. 99 Schedule Development (Tools & Techniques) • CS-413 Project management software: – Widely used to assist with schedule development. – These products automate calculation of matematical analysis and resource leveling, – Therefore allow rapid consideration of schedule alternatives. 100 Schedule Development (Tools & Techniques) • CS-413 Coding structure: – Use coding structures to help identifying, sorting, categorizing activities. – For instance, • Code: – Project phase, – Activity responsibility, – Schedule level, etc. 101 Schedule Development (Outputs) • • • • CS-413 Project schedule Supporting detail Schedule management plan Resource requirement updates 102 Schedule Development (Outputs) • CS-413 Project schedule: – Includes at least planned start and expected finish dates for each activity. – Remains preliminary until resource assignments are confirmed. 103 Schedule Development (Outputs) • Supporting detail: – Includes at least documentation of all identified constraints and assumptions. – For instance; • Resource histograms • • CS-413 Alternative schedules Schedule contingency reserves 104 Schedule Development (Outputs) • Schedule management plan: – Defines how changes to schedule will be managed. • Resource requirement updates: – Resource leveling may have significant effects on resource requiements. CS-413 105 Time Management • • • • • • CS-413 Introduction Activity Definition Activity Sequencing Activity Duration Estimation Schedule Development Schedule Control 106 Schedule Control (Introduction) • • • • CS-413 Influencing factors that create schedule changes to ensure that changes are agreed upon. Determining that schedule has changed. Managining actual changes when and as they occur. Should be integrated with other control processes (e.g. integration change control, scope change control...). 107 Schedule Control (Inputs) • • • • CS-413 Project schedule Performance reports Change requests Schedule management plan 108 Schedule Control (Inputs) • Project schedule: – The approved project schedule is called the schedule baseline. – Basis for measuring and reporting project performance. • Performance reports: – Provide information on schedule performance. – For instance, which dates have been met and which have not. CS-413 109 Schedule Control (Inputs) • Change requests: – May occur in many forms – May require extending schedule or – May allow accelerating it. • Schedule management plan: – Defines how changes to schedule will be managed. CS-413 110 Schedule Control (Tools & Techniques) • • • • • CS-413 Schedule change control system Performance measurement Additional planning Project management software Variance analysis 111 Schedule Control (Tools & Techniques) • Schedule change control system: – A system that defines procedures by which project schedule may be changed. – Includes tracking systems, paperwork... • Performance measurement: – Any technique to asses magnitude of variations that occur. – Helps to decide if schedule variations requires corrective actions. CS-413 112 Schedule Control (Tools & Techniques) • CS-413 Additional planning: – If any changes are required on schedule, • Includes revising activity durations, activity sequences, and alternative schedules. 113 Schedule Control (Tools & Techniques) • CS-413 Project management software: – Very useful for; • Tracking planned dates versus actual dates, • Forecasting effects of schedule changes. 114 Schedule Control (Tools & Techniques) • CS-413 Variance analysis: – During schedule monitoring, regularly performing variance analysis is important. – Includes comparison of planned and actual or forcast start and finish dates • In order to see affects of variations. – Particular attention should be given to critical and sub-critical activities. 115 Schedule Control (Outputs) • • • CS-413 Schedule updates Corrective actions Lessons learned 116 Schedule Control (Outputs) • Schedule updates: – Any modification to schedule information. – Approved schedule updates are called revisions. • Corrective actions: – Anything done to bring expected future performance in line with baseline schedule. CS-413 117 Schedule Control (Outputs) • CS-413 Lessons learned: – Causes of variances, – Reasoning behind corrective actions, – Other types of lessons learned should be documented for the future use. 118