Software project management (intro)Software project management (intro)
Project controlProject control
IntroductionIntroduction
How information about project progress is How information about project progress is gathered and what actions must be taken gathered and what actions must be taken to ensure a project meets its targetto ensure a project meets its target
How can we deal with changes in How can we deal with changes in requirementsrequirements
Introduction (2)Introduction (2)
If there is a mismatch between the planned If there is a mismatch between the planned outcomes and the actual onesoutcomes and the actual ones Re-planning to bring the project back on targetRe-planning to bring the project back on target The target will have to be revisedThe target will have to be revised
Departures from the planDepartures from the plan Delays in meeting the target datesDelays in meeting the target dates Shortfall in qualityShortfall in quality Inadequate functionalityInadequate functionality Costs going over targetCosts going over target
Project control - overviewProject control - overview
The project control life-cycleThe project control life-cycle
What’s going on? Collecting control What’s going on? Collecting control informationinformation
Excuses, excuses… Reporting upwardsExcuses, excuses… Reporting upwards
Doing something about it. Corrective Doing something about it. Corrective action.action.
The project control life-cycleThe project control life-cycle
StartPublish initial
plan
Gather project information
Compare progress vs
targets
Satisfactory?
Project complete
d?End project
Take remedial action
Publish revised plan
NoNo
NoNo
YesYes
YesYes
What needs controllingWhat needs controlling
Costs of project must be less than benefitsDelays in implementation reduce benefits
What tasks have been completed?
Project may be on time but only because more resources have been used than were originally budgeted
Conversely, project may be late because planned resources have not been used
1. Technical1. Technical integrity
2. Business integrity of project2. Business integrity of project
What needs controlling (2)What needs controlling (2)
3. Quality3. Quality a task has not really been finished unless the a task has not really been finished unless the
product of that task is satisfactoryproduct of that task is satisfactory activity reported as finished could need to be activity reported as finished could need to be
re-workedre-worked testing is difficult to control: depends on an testing is difficult to control: depends on an
unknown number of errorsunknown number of errors
The bug chainThe bug chain
Requirementsgathering
errors
Design
more errors
build
even more errors
test
errors
errors
errorsHELP!
Some problems with controlling Some problems with controlling projectsprojects
99% completion syndrome99% completion syndrome job reported as ‘on time’ until last scheduled job reported as ‘on time’ until last scheduled
weekweek job reported as ‘99% complete’ for each job reported as ‘99% complete’ for each
remaining week until task is completedremaining week until task is completed
Solution?Solution? control on deliverables control on deliverables
Further problemFurther problem
Scope creepScope creep tendency for system to increase in size during tendency for system to increase in size during
developmentdevelopment
Solution?Solution? re-estimatingre-estimating change controlchange control
Progress check listProgress check list
tasks completedtasks completed
staffingstaffing
scope (more scope (more requirements)requirements)
external external dependenciesdependencies
cost of qualitycost of quality
financefinance
risk analysisrisk analysis can identify sensitive can identify sensitive
factors that need factors that need monitoringmonitoring
Levels of controlLevels of control
project board
project manager(stage manager)
project team
checkpoint reports
checkpoint meetings e.g. weekly
End-stage assessment event-driven
Mid-stage assessment time-driven e.g. monthly
Ensuring satisfactory progress
Day-to-day responsibility
Levels of controlLevels of controlinformation control
decision-making
reporting on actions
• As information goes to higher levels it becomes more summarised• General directives are filled in with operational details as they filter down• Danger of ‘information overload’
Collecting project informationCollecting project information
SourcesSources checkpoint meetingscheckpoint meetings time sheetstime sheets machine generated statistics e.g. connect machine generated statistics e.g. connect
timetime configuration management dataconfiguration management data internal documents e.g. error reportsinternal documents e.g. error reports
Example of TimesheetExample of Timesheet
Risk Reporting:Risk Reporting:Red, amber, greenRed, amber, green
• red not on plan: recoverable only with difficulty• amber not on plan: recoverable• green on schedule
PresentationPresentation
avoid ‘information overload’avoid ‘information overload’focus on real problems - exceptions to focus on real problems - exceptions to planned activityplanned activitysome approaches some approaches graphical representationgraphical representation
Gantt ChartGantt ChartSlip ChartSlip ChartBall ChartBall ChartTimelineTimeline
high-light problem caseshigh-light problem cases
Progress report contentProgress report content
Achievements in reporting periodAchievements in reporting period Tasks that should have been finishedTasks that should have been finished Tasks that should have been startedTasks that should have been started
Costs - Costs - actual costs compare to budgetedactual costs compare to budgeted
Staffing - Staffing - joiners, leavers, sickness etc.joiners, leavers, sickness etc.
Risk monitoring Risk monitoring - status of identified risks- status of identified risks
OutlookOutlook how things are likely to progress in next periodhow things are likely to progress in next period
Graphical representationGraphical representation
Gantt ChartGantt Chart
Gavin
Purdy
Justin
Spencer
Amanda
3/01
4/01
5/01
6/01 7/01 8/01 9/
01
Graphical representationGraphical representation
Slip ChartSlip Chart
Gavin
Purdy
Justin
Spencer
Amanda
3/01
4/01
5/01
6/01 7/01 8/01 9/
01
‘Slip-chart’ red-line indicates position as of todayA very uneven line suggests need for rescheduling
Graphical representationGraphical representation
Ball ChartBall Chart
31/3/9931/3/99
11/5/9921/5/99
Code and test module A
6/4/998/4/99
13/5/9917/5/99
Code and test module B
originalActual
Encourage competitiveness between teamsRelatively easy to keep up to date
Graphical representationGraphical representation
TimelineTimelineA method of recording A method of recording and displaying the way and displaying the way
in which the targets have in which the targets have changed throughout the changed throughout the
duration of the projectduration of the project
Corrective actionCorrective actionToleranceTolerance acceptable margins of overshoot may be specified acceptable margins of overshoot may be specified
in planin plan
ContingencyContingency this is not owned by the activity but by the project: this is not owned by the activity but by the project:
give and take between activitiesgive and take between activities
Exception plansException plans drawn up when the original plan needs major drawn up when the original plan needs major
change: especially change to scope or costschange: especially change to scope or costs requires project board authorityrequires project board authority
Some possible actions to Some possible actions to recover projectrecover project
Re-scheduleRe-schedule
make more resources availablemake more resources available
redefine scoperedefine scope
modify quality requirementsmodify quality requirements
enhance productivity e.g. through training, enhance productivity e.g. through training, toolstools
Cost MonitoringCost Monitoring
Accumulative chartAccumulative chart
0
20
40
60
80
100
120
1 2 3 4 5 6 7 8 9 10 11
week number
% c
om
ple
te planned
actual
-- behind schedule and over budget
Earned value analysisEarned value analysis
1. Identify ‘modules’1. Identify ‘modules’good if users can recognize thesegood if users can recognize these
2. Identify ‘checkpoints’2. Identify ‘checkpoints’
when a phase finishes - should be when a phase finishes - should be specific and measurablespecific and measurable
3. Identify %durations3. Identify %durations
e.g. design 30% code 25% test e.g. design 30% code 25% test 45%45%
Earned value analysis -Earned value analysis -continuedcontinued
4. Estimate size/effort for each module4. Estimate size/effort for each module
5. When phase is completed for a module5. When phase is completed for a modulethat percentage of the project has been that percentage of the project has been ‘earned’‘earned’
EARNED VALUE ANALYSIS EARNED VALUE ANALYSIS (EVA)(EVA)
Using only actual and planned costs can mislead management and Using only actual and planned costs can mislead management and customerscustomers
Eg.Eg. A project has duration of 10 month & a cost of A project has duration of 10 month & a cost of $200,000/month (total cost = $2 million)$200,000/month (total cost = $2 million)For the first 5 months, actual cost is $1,3 millionFor the first 5 months, actual cost is $1,3 million
Is there a cost overrun of $300,000?Is there a cost overrun of $300,000? Or, is it ahead of schedule?Or, is it ahead of schedule?
For the first 5 months, actual cost is $0.8 millionFor the first 5 months, actual cost is $0.8 million Is the cost less than expected by $200,000?Is the cost less than expected by $200,000? Or, is it behind schedule?Or, is it behind schedule?
Need to keep track schedules and budgets against Need to keep track schedules and budgets against timetime
++++
ExampleExample
10 20 30 40 50
25%
100%
50%
75%
85%
$400
$340
$300
$200
$100
BCWPEarned Value
BCWSBaseline
ACWPActual Cost
SV CV
duration
++++
Interpretation of Interpretation of GraphGraph
At the end of period 25, 75% of work was scheduled to At the end of period 25, 75% of work was scheduled to be accomplished (BSWS)be accomplished (BSWS)
At the end of period 25, the At the end of period 25, the valuevalue of the work of the work accomplished is 50% (BCWP)accomplished is 50% (BCWP)
At the end of period 25, the At the end of period 25, the actual costactual cost is $340 or 85% is $340 or 85%(ACWP)(ACWP)
Cost Variance shows that the project is over budget by Cost Variance shows that the project is over budget by $140 ($200 - $340)$140 ($200 - $340)
Schedule Variance suggests that the project is behind Schedule Variance suggests that the project is behind schedule ($200 - $300 = -$100)schedule ($200 - $300 = -$100)
++++
EVA indicators - costEVA indicators - cost
BCWP Budgeted cost of work performedBCWP Budgeted cost of work performed
ACWP Actual cost of work performed ACWP Actual cost of work performed i.e. what it actually cost to get BCWPi.e. what it actually cost to get BCWP
Cost variance BCWP - ACWPCost variance BCWP - ACWP
Example (using time)Example (using time) work should have taken 20 dayswork should have taken 20 days work actually took 30 dayswork actually took 30 days
EVA indicators - schedule EVA indicators - schedule performanceperformance
BCWS Budgeted cost of work scheduled: BCWS Budgeted cost of work scheduled: BCWP that would be achieved if all work BCWP that would be achieved if all work had been finished on timehad been finished on time
Schedule variance BCWP - BCWSSchedule variance BCWP - BCWS
ExampleExample three tasks each planned to take 10 days three tasks each planned to take 10 days
should have been completed: only two haveshould have been completed: only two have
EVA performance indicesEVA performance indices
Cost performance indicator (CPI)Cost performance indicator (CPI) BCWP/ACWPBCWP/ACWP
Schedule performance indicator (SPI)Schedule performance indicator (SPI) BCWP/BCWSBCWP/BCWS
less than 1.00 is not good!less than 1.00 is not good!
Prioritizing MonitoringPrioritizing Monitoring
Critical path activitiesCritical path activities
Activities with no free floatActivities with no free float
Activities with less than a specified floatActivities with less than a specified float
High risk activitiesHigh risk activities
Activities using critical resourcesActivities using critical resources
Getting the project back to targetGetting the project back to target
Shorten the critical pathShorten the critical path Staff to work harderStaff to work harder Increase resource levelIncrease resource level Allocate more efficient resource on the critical Allocate more efficient resource on the critical
activitiesactivities
Reconsider the precedence requirementsReconsider the precedence requirements Subdivide activity Subdivide activity
Reconsider: quality, riskReconsider: quality, risk
Change ControlChange Control
Request from userRequest from userThe user management consider the requestThe user management consider the requestAssess the products that would be affectedAssess the products that would be affectedThe development management decide – whether to go The development management decide – whether to go aheadaheadDevelopers are authorized to take copies of the master Developers are authorized to take copies of the master productproductThe copies are modifiedThe copies are modifiedThe user management is notifiedThe user management is notifiedWhen user is satisfied, the master copies will be When user is satisfied, the master copies will be replacedreplaced