2. What are we studying today?
Chapter 24 - Project Scheduling
Effort distribution
Defining task set for the software project
Project types (related topic)
Factors that influence task set selection in a project
A task set example
Defining a task network
Project Scheduling
Timeline charts
Schedule tracking
Earned Value Analysis
3. Effort Distribution
A recommended distribution of effort across
software process is often referred to as 40-
20-40 rule
40% allocated to analysis & design
20% allocated to coding
40% allocated to testing
Use the above as a guideline only as each
project dictates its own distribution effort
4. Defining Task Set For The
Software Project
Task set is a collection of software engineering
work tasks , milestones and deliverables that
must be accomplished to complete a particular
software project.
Task sets are different for different types of
projects
Most organizations encounter following types of
projects
Concept development projects
Explore some new business concept or application of
new technology
5. Defining Task Set For The
Software Project (Contd.)
New application development projects
Undertaken as a consequence of specific customer
request
Application Enhancement projects
Involve modification to functions, performance or
interfaces (observable by end-user) in existing
software
Application maintenance projects
That correct, adapt or extend existing software in ways
that may not be obvious to end user
Reengineering projects
Undertaken for rebuilding an existing system in whole
or part
6. Factors Influencing Task Set
Selection in Projects
Size of project
Number of potential users
Mission criticality
Application longevity
Stability of requirements
Ease of customer/develop communication
Maturity of applicable technology
Performance constraints
Embedded, non embedded characteristics
Project staff
Reengineering factors
These factors also provide an indication of the degree of
rigor with which the software process should be applied
7. A Task Set Example
Consider software engineering tasks for a Concept
Development project.
Such projects are approached by applying the
following major tasks:
1.1 Concept scoping
determines overall project scope
1.2 Preliminary concept planning
Establishes the organization’s ability to undertake work
implied by project scope
1.3 Technology risk assessment
Evaluates risk associated with the technology to be
implemented
1.4 Proof of concept
Demonstrates the viability of a new technology in the
software context
8. A Task Set Example (Contd.)
1.5 Concept implementation
Implements the concept representation in a manner
that can be reviewed by a customer and is used for
marketing purposes when a concept must be sold to
other customers or management.
1.6 Customer Reaction
Concept solicits feedback on a new technology
concept and targets specific customer applications
9. Refinement of Major Tasks
The major tasks described earlier may be
used to define a macroscopic schedule for
project.
The macroscopic schedule must be refined
to create a detailed schedule.
For this each major task is decomposed into
a set of subtasks (with related work products
and milestones)
As an example consider task 1.1 – concept
scoping. The refinement is shown on next
slide:
11. Defining a Task Network
Also known as activity network
It is a graphic representation of the
task flow for a project
Displays interdependencies and
parallelism
Project manager should be aware of
those tasks that lie on the critical path
12. A task set network for ‘concept
development’
Enables the team to see the essentially serial nature of the
project, but take advantage of parallelism where possible.
1.1
Concept
Definition
1.2
Project
Planning
1.4a
Module A
Des/Dev
1.4b
Module B
Des/Dev
1.5
Integrate
& Test
1.6
Concept
Demo
13. Scheduling
Two Project Scheduling methods that can
be applied to software development:
Program evaluation and review technique
(PERT)
Critical Path Method (CPM)
Both are driven by Info already developed:
Estimates of effort
A decomposition of product function
The selection of appropriate process model and
task set
Decomposition of tasks
14. Timeline Charts
When creating software project schedule,
the planner begins with a set of tasks (work
breakdown structure)
If automated tools are used, the work
breakdown is input as a task network
Effort, duration and start date are then input
for each task
As a result of this input, a timeline chart or
Gantt chart is generated
15. Tracking Schedule
Accomplished in a no. of ways
Conducting periodic project status meetings in which each
team member reports progress & problems
Evaluating results of all reviews conducted throughout the
s/w engg process
Determining whether formal project milestones have been
accomplished by scheduled date
Comparing actual start date to planned date for each
project task
Meeting practitioners to get their assessment of progress
to date and problems encountered
Use earned value analysis to assess progress
quantitatively
16. Earned Value Analysis (EVA)
A quantitative approach for progress analysis of
project
Earned value is a measure of progress
Steps to determine earned value:
1. The budgeted cost of work scheduled (BCWS) is
determined for each work task represented in schedule
2. The BCWS values for all work tasks are summed to derive
the budget at completion, BAC
• BAC = ∑(BCWSk) for all k tasks
3. Next the value for budgeted cost of work performed
(BCWP) is computed.
• Its value is sum of the BCWS values for all work tasks that
have actually been completed by a point in time on the
project schedule
17. EVA (Continued)
According to ‘Wilkens’
BCWS represents the budget of activities that were planned to be
completed
and BCWP represents the budget of activities that were actually
completed
Important progress indicators can be computed based on BCWS,
BAC, BCWP values
SPI = BCWP/BCWS
Schedule performance index indicates efficiency with which project is using
scheduled resources. SPI value 1.0 indicates efficient execution of project
schedule
SV = BCWP – BCWS
Schedule variance, is simply an absolute indication of variance from planned
schedule
CPI = BCWP/ACWP
Cost performance index value close to 1.0 indicates project is within its
defined budget
Actual Cost of Work Performed is sum of effort actually expended on work
tasks that have been completed by a point in time on project schedule
CV = BCWP – ACWP
Cost Variance is an absolute indication of cost savings or shortfall at a
particular stage of project