Project Scheduling & Tracking. Why Software Is Delivered Late? An unrealistic deadline Changing but...
-
Upload
sharlene-knight -
Category
Documents
-
view
214 -
download
0
Transcript of Project Scheduling & Tracking. Why Software Is Delivered Late? An unrealistic deadline Changing but...
Project Scheduling & Project Scheduling & TrackingTracking
Why Software Is Delivered Late?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”One day a time”
All technical projects involve 100s of small tasksSome tasks do no affect the project completionOther tasks are criticalcritical for project completionProject manager must:
define all project tasks build a network that depicts their interdependence identify the critical tasks track the progress of these tasks recognize the delay “one day at a time”one day at a time”
Two different Perspectives to Two different Perspectives to view Schedulingview Scheduling
End date for completion has been finalized
End date for completion has been finalized
Only Rough time-frame is
given
Only Rough time-frame is
given
Basic Principles for SE SchedulingBasic Principles for SE Scheduling
• Compartmentalization – Compartmentalization – define distinct tasksdefine distinct tasks
• Interdependency- Interdependency- parallel and sequential tasksparallel and sequential tasks
• Time allocation - Time allocation - assigned person days, start time, assigned person days, start time,
ending timeending time))• Effort validation - Effort validation - be sure resources are available
• Defined responsibilities Defined responsibilities — people must be assigned
• Defined Outcomes- Defined Outcomes- each task must have an outputeach task must have an output
• Defined milestones - Defined milestones - review for qualityreview for quality
People and EffortPeople and Effort
“If we fall behind schedule we can always add more programmersand catch uo late in the project”
“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 EffortPeople 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
Fewer people and longer time period is a better option for software
development
Effort DistributionEffort Distribution
Front-end Analysis &
Design
40-20-4040-20-40
Back-end testing
Coding
Effort Allocation
40-50%40-50%
30-40%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%15-20%
Effort DistributionEffort Distribution
RA
SD
Coding
PI
Testing
(2-3%)
(20-25%)
(15 -20%)
(20-25%)
(30 - 40%)
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 TypesSoftware Project Types
• Concept Development projects Concept Development projects
• New Application Development Projects New Application Development Projects
• Application Enhancement ProjectApplication Enhancement Project
• Application Maintenance ProjectApplication Maintenance Project
• Reengineering ProjectReengineering Project
Degree of RigorDegree of RigorCasualCasual• Minimum task set is required•Umbrella tasks are minimized•Documentation requirements are reduced•Basic principles of SE are applicable
CasualCasual• Minimum task set is required•Umbrella tasks are minimized•Documentation requirements are reduced•Basic principles of SE are applicable
StructuredStructured•Framework activities will be applied•Umbrella tasks are applied•Documentation and measurement tasks will be done in a streamlines manner
StructuredStructured•Framework activities will be applied•Umbrella tasks are applied•Documentation and measurement tasks will be done in a streamlines manner
StrictStrict•Full process will be applied•Degree of discipline ensures high quality•All umbrella activities will be applied•Robust work products will be produced
StrictStrict•Full process will be applied•Degree of discipline ensures high quality•All umbrella activities will be applied•Robust work products will be produced
Quick ReactionQuick Reaction•Process framework will be applied•Only essential tasks will be undertaken• Documentation will be provided after product delivery
Quick ReactionQuick Reaction•Process framework will be applied•Only essential tasks will be undertaken• Documentation will be provided after product delivery
Adaptation CriteriaAdaptation Criteria
• Size of the ProjectSize of the Project• Number of potential usersNumber of potential users• Mission criticalityMission criticality• Application Longevity Application 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
5511
Task Set selectorTask Set selector• Based on adaptation criteria, TSS is computedBased on adaptation criteria, TSS is computed
TSS > 1.2
StrictStrict
1.0 < TSS < 3.0
CasualCasual
TSS > 2.4
StructuredStructured
Defining a task NetworkDefining 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
Figure 7.2 Concept development tasks using anevolutionary model
Project Definition
I.1 Concept scoping
Concept Development
New ApplicationDevelopmentApplication
EnhancementApplicationMaintenance
I.4 Proof of concept
I.5 Concept implementation
Planning
ReleaseCustomerEvaluation
Engineering/Construction
I.6 Customer reaction
I.2 Preliminary concept planningI.3 Technology risk assessment
Reengineering
Project SchedulingProject Scheduling
Program Evaluation and Review Technique
(PERT)
Critical Path
Method (CPM)
I.1Conceptscoping
I.3aTech. Risk
Assessment
I.3bTech. Risk
Assessment
I.3cTech. Risk
Assessment
Three I.3 tasks areapplied in parallel to3 different conceptfunctions
Three I.3 tasks areapplied in parallel to3 different conceptfunctions
I.4Proof ofConcept
I.5aConcept
Implement.
I.5bConcept
Implement.
I.5cConcept
Implement.
I.2Conceptplanning
I.6CustomerReaction
Integratea, b, c
Project SchedulingProject 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 SchedulingProject Scheduling
• Both PERT and CPM provides Both PERT and CPM provides quantitative quantitative tools totools to
– determine the critical pathdetermine the critical path
– establish the most likely time estimated for establish the most likely time estimated for individual tasks by applying statistical individual tasks by applying statistical modelsmodels
– calculate boundary time (window) for a calculate boundary time (window) for a particular taskparticular task
Project SchedulingProject SchedulingImportant boundary times for PERT and CPMImportant boundary times for PERT and CPM
Earliest timeEarliest time a task can begin when all preceding tasks are completed in shores possible time
Latest timeLatest 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 Latest finishfinish - the latest start time added to task duration
TTotal floatotal 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 Mar Apr May June
Pro
ject
Act
ivit
ies
Milestone
Project TableWorkTasks
PlannedStart
ActualStart
PlannedComplete
ActualComplete
PersonAssigned
EffortNeeded
Notes
Tracking the Project ScheduleTracking 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 ScheduleTracking the Project ScheduleAdminister
Project Resources
Cope with problems
Direct Project
staff
Control
Tracking the Project ScheduleTracking the Project Schedule
Project is on schedule and within budget
Problem diagnosed
Additional resources focussed on problem area
Additional resources focussed on problem area
Project Tracking
Staff may be redeployedStaff may be redeployed
Project Schedule can be redefinedProject Schedule can be redefined