Project Scheduling & Tracking
Why Software Is Delivered Late? An unrealistic deadline Changing but unpredicted customer requirements Underestimation of efforts needed Risks not considered at the project start Unforeseen technical difficulties Unforeseen human difficulties Miscommunication among project staff Failure to recognize that project is falling behind schedule
“One day a time”,All technical projects involve 100s of small tasks,Some tasks do no affect the project completion critical,Other tasks are critical for project completion,Project manager must: *define all project tasks *build a network that depicts their interdependence *identify the critical tasks *track the progress of these tasks one day at a time” *recognize the delay “one day at a time”
Two different Perspectives to view Scheduling End date for completion has been finalized Only Rough time-frame is given
Basic Principles for SE Scheduling Compartmentalization – define distinct tasksCompartmentalization – define distinct tasks Interdependency- parallel and sequential tasksInterdependency- parallel and sequential tasks Time allocation - assigned person days, start time, ending time )Time allocation - assigned person days, start time, ending time ) Effort validation -Effort validation - be sure resources are available Defined responsibilitiesDefined responsibilities — people must be assigned Defined Outcomes- each task must have an outputDefined Outcomes- each task must have an output Defined milestones - review for qualityDefined milestones - review for quality
People and Effort “If we fall behind schedule we can always add more programmersand catch uo late in the project” Has a disruptive effect on the project Schedules slip even further
People and Effort The relationship between the number of people working in software project and overall productivity is not linear The relationship between the number of people working in software project and overall productivity is not linear Fewer people and longer time period is a better option for software development
Effort Distribution Front-end Analysis & Design Back-end testing Coding
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%
Effort Distribution (2-3%) (20-25%) (15 -20%) (20-25%) ( %)
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
Software Project Types Concept Development projectsConcept Development projects New Application Development ProjectsNew Application Development Projects Application Enhancement ProjectApplication Enhancement Project Application Maintenance ProjectApplication Maintenance Project Reengineering ProjectReengineering Project
Degree of Rigor Casual Minimum task set is required Umbrella tasks are minimized Documentation requirements are reduced Basic principles of SE are applicableCasual Minimum task set is required Umbrella tasks are minimized Documentation requirements are reduced Basic principles of SE are applicable Structured Framework activities will be applied Umbrella tasks are applied Documentation and measurement tasks will be done in a streamlines mannerStructured Framework activities will be applied Umbrella tasks are applied Documentation and measurement tasks will be done in a streamlines manner Strict Full process will be applied Degree of discipline ensures high quality All umbrella activities will be applied Robust work products will be producedStrict Full process will be applied Degree of discipline ensures high quality All umbrella activities will be applied Robust work products will be produced Quick Reaction Process framework will be applied Only essential tasks will be undertaken Documentation will be provided after product delivery Quick Reaction Process framework will be applied Only essential tasks will be undertaken Documentation will be provided after product delivery
Adaptation Criteria Size of the ProjectSize of the Project Number of potential usersNumber of potential users Mission criticalityMission criticality Application LongevityApplication Longevity Stability requirementsStability requirements Ease of communicationEase of communication Maturity of technologyMaturity of technology Performance constraintsPerformance constraints Embedded and non-embedded characteristicsEmbedded and non-embedded characteristics Project staffProject staff Reengineering factorsReengineering factors 51
Task Set selector Based on adaptation criteria, TSS is computedBased on adaptation criteria, TSS is computed TSS > 1.2 Strict 1.0 < TSS < 3.0 Casual TSS > 2.4 Structured
Defining a task Network Task Network is a graphic representation of the task flow for the project. It shows all the SE tasks First it is created at a macroscopic level Tasks on the critical path (chain of tasks determining the duration of the project) are marked Size of the Project
Project Scheduling Program Evaluation and Review Technique (PERT) Critical Path Method (CPM)
Project Scheduling Both techniques (PERT and CPM) are driven by information already developed in earlier project planning activities: –Estimates of efforts –Decomposition of product function –selection of appropriate process model and task set –Decomposition of tasks
Project Scheduling Both PERT and CPM provides quantitative tools toBoth PERT and CPM provides quantitative tools to – determine the critical path –establish the most likely time estimated for individual tasks by applying statistical models –calculate boundary time (window) for a particular task
Project Scheduling Important boundary times for PERT and CPM Earliest time Earliest time a task can begin when all preceding tasks are completed in shores possible time Latest time Latest time for task initiation before the minimum project completion time is delayed Earliest finish - Earliest finish - the sum of the earliest start and the task duration Latest finish Latest finish - the latest start time added to task duration T otal float T otal float - the amount of surplus time allowed in scheduling tasks so that the network critical path is maintained on schedule
Timeline/Gantt Chart Jan Feb MarAprMayJune Project Activities Milestone
Project Table
Tracking the Project Schedule It is a road map for the Software Project It defines the tasks and milestones Tracking can be done by: –Conducting periodic project status meetings –Evaluating the results of all reviews –Determining whether milestones were reached by the scheduled date –Compare actual start date to planned start date –Meeting informally with professionals to get their subjective opinion –Using earned value analysis
Tracking the Project Schedule Administer Project Resources Cope with problems Direct Project staff Control
Tracking the Project Schedule Project is on schedule and within budget Problem diagnosed Additional resources focussed on problem area Project Tracking Staff may be redeployed Project Schedule can be redefined