Project Scheduling
•Why Project Delivery is
Late?
• An unrealistic deadline established by someone outside the
software team and forced on managers and practitioners on the
group.
• Changing customer requirements that are not refl ected in
schedule changes.
• An honest underestimate of the amount of effort and/or the
number of resources that will be required to do the job.
• Predictable and/or unpredictable risks that were not considered
when the project commenced.
• Technical difficulties that could not have been foreseen in
advance.
• Human difficulties that could not have been foreseen in advance.
• Miscommunication among project staff that results in delays.
• A failure by project management to recognize that the project is
falling behind schedule and a lack of action to correct the
problem.
Scheduling Principles
• compartmentalization—define distinct tasks
• interdependency—indicate task interrelationship
• effort validation—be sure resources are available
• defined responsibilities—people must be assigned
• defined outcomes—each task must have an
output
• defined milestones—review for quality
People and Effort
• “If we fall behind schedule, we can always add more
programmers and catch up later in the project.” <<<Your
valuable comments on this..
• NEW PEOPLE –LEARNING of the SYSTEM
• MORE PEOPLE- MORE COMMUNICATION CHANNELS
The Putnam-Norden-Rayleigh (PNR)
Curve
The PNR curve also indicates that the lowest cost
delivery option, to 5 2 td.
Effort Allocation
• “front end” activities
• customer
40-50% communication
• analysis
• design
• review and
modification
• construction activities
15-20%
• coding or code
generation
• testing and installation
• unit, integration
30-40% • white-box, black box
• regression
8
DEFINING TASK SET
A task set is a collection of software engineering work
tasks, milestones, work products, and quality assurance fi
lters that must be accomplished to complete a particular
project.
determine type of project
assess the degree of rigor required
identify adaptation criteria
select appropriate software engineering tasks
• Task definition: Task 1.1
Concept Scoping
Example of type of project
• Concept development projects that are initiated to explore some
new business concept or application of some new technology.
• New application development projects that are undertaken as a
consequence of a specifi c customer request.
• Application enhancement projects that occur when existing
software undergoes major modifi cations to function, performance,
or interfaces that are observable by the end user.
• Application maintenance projects that correct, adapt, or extend
existing software in ways that may not be immediately obvious to
the end user.
• Reengineering projects that are undertaken with the intent of
rebuilding an existing (legacy) system in whole or in part.
DEFINING A TASK NETWORK
• Individual tasks and subtasks have interdependencies based on
their sequence.
• When more than one person is involved in a software
engineering project, it is likely that development activities and
tasks will be performed in parallel.
• When this occurs, concurrent tasks must be coordinated so that
they will be complete when later tasks require their work
product(s)
• The task network is a useful mechanism for depicting
intertask dependencies and determining the critical path.
• A task network, also called an activity network, is a graphic
representation of the task flow for a project.
A task network for concept development
SCHEDULING
• Program evaluation and review technique (PERT) and
the critical path method (CPM) are two project
scheduling methods that can be applied to software
development.
• Both techniques are driven by information already
developed in earlier project planning activities:
estimates of effort, a decomposition of the product
function, the selection of the appropriate process model
and task set, and decomposition of the tasks that are
selected
• Both PERT and CPM provide quantitative tools that allow
you to
• (1) determine the critical path—the chain of tasks that
determines the duration of the project
• (2) establish “most likely” time estimates for individual
tasks by applying statistical models, and
• (3) calculate “boundary times” that defi ne a time
“window” for a particular task.
Time-Line Charts (Gantt chart)
Tasks Week 1 Week 2 Week 3 Week 4 Week n
A time-line chart Task 1
enables you to Task 2
determine what Task 3
Task 4
tasks will be Task 5
conducted at a Task 6
Task 7
given point in Task 8
time. Task 9
Task 10
Task 11
Task 12
Use Automated Tools to
Derive a Timeline Chart
Project Table
Tracking the Schedule
Tracking can be accomplished in a number of
different ways:
• Conducting periodic project status meetings in which each
team member reports progress and problems.
• Evaluating the results of all reviews conducted throughout the
software engineering process.
• Determining whether formal project milestones have been
accomplished by the scheduled date.
• Comparing the actual start date to the planned start date for
each project task listed in the resource table
• Meeting informally with practitioners to obtain their subjective
assessment of progress to date and problems on the horizon
• Using earned value analysis to assess progress quantitatively.
Time Boxing
• When faced with severe deadline pressure, experienced
project managers sometimes use a project scheduling
and control technique called time-boxing.
• The time-boxing strategy recognizes that the complete
product may not be deliverable by the predefined
deadline.
• Therefore, an incremental software paradigm is chosen,
and a schedule is derived for each incremental delivery.
Tracking Progress for an OO Project
• An iterative model is the best framework for an OO
project but Task Parallelism makes project tracking
difficult.
• You may have difficulty establishing meaningful
milestones for an OO project because many things are
happening simultaneously.
Tracking Progress for an OO Project
In general, the following major milestones can be
considered “completed” when the criteria noted have
been met.
• Technical milestone: OO analysis completed
• All classes and the class hierarchy have been defined and
reviewed.
• Class attributes and operations associated with a class have
been defined and reviewed.
• Class relationships have been established and reviewed.
• A behavioural model has been created and reviewed.
• Reusable classes have been noted.
EARNED VALUE ANALYSIS
• A technique for performing quantitative analysis of
progress is called earned value analysis (EVA).
• It enables you to assess the “percent of completeness”
of a project using quantitative analysis rather than
relying on a gut feeling.
To determine the earned value, the
following steps are performed
1. Budgeted cost of work scheduled (BCWS)
• BCWS is determined for each work task represented in
the schedule.
• During estimation, the work (in person-hours or person-
days) of each software engineering task is planned.
• Hence, BCWS i is the effort planned for work task i
2. The BCWS values for all work tasks are summed to
derive the budget at completion (BAC). Hence,
3. Next, the value for the budgeted cost of work
performed (BCWP) is computed. The value for BCWP is
the sum of the BCWS values for all work tasks that have
actually been completed by a point in time on the project
schedule.
SPI is an indication of the efficiency with which the project is
utilizing scheduled resources.
• It provides an indication of the percentage of work that
should have been completed by time t.
Provides a quantitative indication of the percent of
completeness of the project at a given point in time t.
It is also possible to compute the actual cost of work
performed (ACWP). The value for ACWP is the sum of the effort
actually expended on work tasks that have been completed by a
point in time on the project schedule.
Earned Value Analysis (EVA)
• Earned value
• is a measure of progress
• enables us to assess the “percent of completeness” of a
project using quantitative analysis rather than rely on a gut
feeling
• “provides accurate and reliable readings of performance from
as early as 15 percent into the project.” [Fle98]
33
Computing Earned Value-I
The budgeted cost of work scheduled (BCWS) is determined for each work
task represented in the schedule.
BCWSi is the effort planned for work task i.
To determine progress at a given point along the project schedule, the value of
BCWS is the sum of the BCWSi values for all work tasks that should have been
completed by that point in time on the project schedule.
The BCWS values for all work tasks are summed to derive the budget at
completion, BAC. Hence,
BAC = ∑ (BCWSk) for all tasks k
34
Computing Earned Value-II
• Next, the value for budgeted cost of work performed
(BCWP) is computed.
• The value for BCWP is the sum of the BCWS values for
all work tasks that have actually been completed by a
point in time on the project schedule.
• “the distinction between the BCWS and the BCWP is
that the former represents the budget of the
activities that were planned to be completed and the
latter represents the budget of the activities that
actually were completed.” [Wil99]
• Given values for BCWS, BAC, and BCWP, important
progress indicators can be computed:
• Schedule performance index, SPI = BCWP/BCWS
• Schedule variance, SV = BCWP – BCWS
• SPI is an indication of the efficiency with which the project
is utilizing scheduled resources.
35
Computing Earned Value-III
• Percent scheduled for completion = BCWS/BAC
• provides an indication of the percentage of work that should have been completed by time t.
• Percent complete = BCWP/BAC
• provides a quantitative indication of the percent of completeness of the project at a given
point in time, t.
• Actual cost of work performed, ACWP, is the sum of the effort actually expended on
work tasks that have been completed by a point in time on the project schedule. It is
then possible to compute
• Cost performance index, CPI = BCWP/ACWP
• Cost variance, CV = BCWP – ACWP
36
Revisit - Earned Value Analysis
• Earned Value is like having a scorecard for your project.
• It helps you figure out how well your project is doing.
• You do this by looking at three important things: what
you planned to do, what you've actually done, and how
much you spent.
• Planned Value (PV), Earned Value (EV), and Actual Cost (AC)
• Cost Variance (CV), Schedule Variance (SV), Cost Performance Index
(CPI), and Schedule Performance Index (SPI).
• Planned Value (BCWS) is the estimated monetary
value for work that has been planned.
• Earned value (BCWP) is the estimated monetary
value for the work that has already been completed.
• Actual cost (ACWP) is the actual value of the work
that has been completed.
Earned value management example – 1
• Let’s assume you have a four-month-long project, and
you’re two months in, but the project is only 25%
complete.
• In this case, your EV = 1 month (25% of four months),
and your PV = 2 months.
• Therefore your SV is 1 - 2 = -1. Since the number is
negative, it indicates you’re behind schedule.
Cost variance (CV):
• SV, cost variance is the difference between how much
you planned on spending thus far and your actual costs
to date. The CV calculation is: CV = EV - AC (actual
cost).
• Let’s use the earlier example. Your project budget is
$100,000 and you’re 60% done, which means your EV is
$60,000. If you’ve spent $70,000 so far to get to this
point in the project, your CV is -$10,000. You can tell
you’re over budget because the number is negative,
which may indicate a problem with the project or that
the project could go over budget or run out of money.
Schedule performance index
(SPI):
• The SPI calculation is: SPI = EV/PV. When SPI is above
1.00, you’re ahead of schedule. If it’s below 1.00, you’re
behind
Exampale-2
• Let’s imagine we are building a wind power plant. The project is set
to be completed in 10 months with an estimated cost of $500,000.
The project has been running for 5 months now, the team has
spent $220,000 and completed an amount of work worth
$255,000.
• PV = $250,000. 50% of the project time has passed, so we calculate 50% of
the total project value.
• EV = $255,000. This is equal to the estimated value for the work that has been
completed.
• AC = $220,000. This is equal to the amount of money the team has spent so
far.
SPI = EV / PV= 255000/250000=1.02 Ahead of the schedule
CPI: CPI = EV / AC= 255000/220000=1.16
• We are building a solar power plant. The project is
divided into 5 stages, each worth $20,000 and
estimated to last for 1 month. 2 months have passed,
and 3 of the project stages have been completed for the
cost of $80,000.
• PV=?
• EV=?
• AC=?
• SPI and CPI?
• PV: 2 month has passed= each is month will get 20000.
so PV is 40000.
• EV: 3 stages are completed: so 20000x 3= 60000
• AC: 80000
• let’s imagine a hydroelectric power plant. This project is
divided into 2 phases, each lasting 1 year.
• The first phase of the project is valued at $100,000 and
the second phase at $50,000. At the current state, 1
year of the project has passed and 90% of phase 1 has
been completed. The project team has completed work
worth $80,000.
• PV = $100,000. After 1 year, the first phase of the
project, valued at $100,000, should have been
completed.
• EV = $90,000. The team has actually completed 90%
of Phase 1.
• AC = $80,000. This actual cost to date.
• CPI = 1.125 and SPI = 0.9
• construction project has a total budget of $500,000 and is
expected to be completed in 12 months. After 6 months, the
project manager evaluates the progress and gathers the
following data:
• Planned Value (PV): The planned completion of the project at
this point was 60%.
• Actual Cost (AC): The actual cost incurred so far is $320,000.
• Earned Value (EV): The actual work completed is only 50% of
the project.
• Schedule Variance (SV), Cost Variance (CV), Schedule
Performance Index (SPI), Cost Performance Index (CPI)
• Planned Value (PV):
• PV=Planned Completion×Total Budget
• PV = 60%×500,000=0.6×500,000=300,000
• EV=Actual Completion×Total Budget
• EV=50%×500,000=0.5×500,000=250,000
• SV=EV−PV
• SV=250,000−300,000=−50,000
• CV=EV−AC
• CV=250,000−320,000=−70,000
• SPI=EV/PV= 250,000/ 300,000= 0.833
• CPI=250,000/32000=0.781