1 Chapter 7 Project Scheduling and Tracking
2 Write it Down! SoftwareProjectPlan Project Scope EstimatesRisksSchedule Control strategy
3 Why Are Projects Late? an unrealistic deadline changing customer requirements an honest underestimate of effort and/or resources predictable and/or unpredictable risks technical difficulties human difficulties miscommunication a failure to recognize a lack of action to correct
4 Comments on “Lateness” Determine the estimated effort and duration Use an incremental process model Explain it to the customer Offer the incremental development strategy
5 Scheduling Principles Compartmentalization — define distinct tasks Interdependency — indicate task interrelationship Time allocation — assign task start & finish time Effort validation — schedule no more than the allocated number of people Defined responsibilities — people must be assigned Defined outcomes — each task must have an output Defined milestones — review for quality
6 People/Work Relationship People/Work Not linear Counterproductive? Use fewer people over a somewhat longer time span to accomplish the same objective.
7 Effort Allocation 40-50% 30-40% “front end” activities customer communication analysis design review and modification construction activities coding or code generation testing and installation unit, integration white-box, black box regression 15-20%
8 Defining Task Sets determine type of project assess the degree of rigor required identify adaptation criteria compute task set selector (TSS) value interpret TSS to determine degree of rigor select appropriate software engineering tasks
9 Types of Project Concept development projects New application development projects Application enhancement projects Application maintenance projects Reengineering projects
10 Adaptation Criteria Size of the project Number of potential users Mission criticality Application longevity Stability of requirements Ease of customer/developer communication Maturity of applicable technology Performance constraints Embedded and nonembedded characteristics Project staff Reengineering factors
11 Task Set Selector (TSS) Select the appropriate task set Task set selector value Degree of rigor Task set selector value Degree of rigor TSS < 1.2 casual TSS < 1.2 casual 1.0 < TSS < 3.0 structured 1.0 < TSS < 3.0 structured TSS > 2.4 strict TSS > 2.4 strict
12 Degree of Rigor Select the appropriate task set Task set selector value Degree of rigor Task set selector value Degree of rigor TSS < 1.2 casual TSS < 1.2 casual 1.0 < TSS < 3.0 structured 1.0 < TSS < 3.0 structured TSS > 2.4 strict TSS > 2.4 strict
13 Software Engineering Tasks Depend on the project type and the degree of rigor. Decompose each major task into a set of subtasks. Be Distributed on the project time line. Flow smoothly into the next.
14Example
15 Example
16 Define a Task Network
17 Scheduling Information Estimates of effort A decomposition of the product function The selection of the appropriate process model and task set Decomposition of task A task network Methods Program evaluation and review technique (PERT) Critical path method (CPM)
18 PERT & CPM Determine the “critical path” Establish “most likely time” Calculate “boundary times” earliest time latest time earliest finish latest finish time the total float
19 PERT
20 Timeline/Gantt Chart
21 Project Table
22 Tracking/Controlling the Schedule Tracking Periodic project status meeting The results of all reviews Project milestones Actual start-date Earned value analysis Controlling Additional resource Redefine the project schedule Time-boxing
23 Earned Value Analysis Budgeted Cost of Work Scheduled (BCWS) BCWS values for all tasks k, BAC = (BCWS k ) Budgeted Cost of Work Performed (BCWP) Schedule Performance Index, SPI = BCWP/BCWS Schedule Variance, SV = BCWP - BCWS Percent complete = BCWP/BAC Actual Cost of Work Performed (ACWP) Cost Performance Index, CPI = BCWP / ACWP Cost Variance, CV = BCWP - ACWP
24 Error Tracking DRE = E/E(E+D) Errors per requirements specification page, E req Errors per component -- design level, E design Errors per component -- code level, E code DRE -- requirements analysis DRE -- architectural design DRE -- Component level design DRE -- coding
25 Milestones
26 Scheduling Process
27 Task Durations & Dependencies
28 Activity Network
29 Activity Bar Chart
30 Allocation of People to Activities
31 Staff Allocation vs. Time