No Slide Title
Download
Report
Transcript No Slide Title
Project Scheduling and Tracking
Basic problem -- Software is almost always late.
Unrealistic deadlines
Changing requirements
Miscommunication among staff
Risks not considered at beginning of project
Technical difficulties that could not be foreseen in advance
Human difficulties that could not be foreseen in advance
Failure by management to recognize and correct the problem
An “honest” underestimate of effort required
“Reviewed into failure”
7/18/2015
Chapter 7
1
Project Scheduling and Tracking
An approach to unrealistic deadlines -- project redefinition
Perform detailed estimate based on previous projects
Use incremental process to deliver critical functionality on
time
Meet with customer (which may be upper management)
Offer incremental development strategy as an alternative
7/18/2015
Chapter 7
2
Basic Principles
Compartmentalization
Identify task interdependencies
Allocate time for each task
Develop feasible schedule
Define responsibilities. Each task should have a single person
responsible. Each person should know their responsibilities.
Define outcomes
Define milestones
7/18/2015
Chapter 7
3
Effort and Delivery Time
Ef f ort
Cost
Ea = m ( t d 4 / t a 4 )
Imposs ible
region
Ea = ef f ort in pers on-months
t d = nominal deliv ery t ime f or s chedule
t o = optim al dev elopment time (in terms of c ost )
t a = ac tual deliv ery t ime des ired
Ed
Eo
to
td
dev elopment time
Tmin = 0.75T d
7/18/2015
Chapter 7
4
Effort Allocation
40-50%
15-20%
30-40%
7/18/2015
“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
Chapter 7
5
# of People vs. Effort
Adding people to a project increases communication
requirements
Recall the software equation -- E=[LOC * B0.333/P]3 * (1/t4),
where
E = effort in person months
t = project duration in months
B = “special skills factor” For KLOC (5, 15) use 0.16, for
KLOC > 70, use B = 0.39
P = “productivity parameter”
Decreasing the time to complete the project requires more
people, but look at the exponential nature of the relationship!
Effort distribution -- often as little as 10% goes into coding.
7/18/2015
Chapter 7
6
Defining Task Sets
determine type of project
assess the degree of rigor required
identify adaptation criteria
select appropriate software engineering tasks
7/18/2015
Chapter 7
7
Defining the Task Set
Recall the general categories of tasks (from Ch. 2)
Customer communication
Planning
Risk analysis
Engineering and design
Construction and release
Customer evaluation
Need to refine the task definitions in each of these categories
No set rules for doing so
Different projects can require different degrees of rigor
7/18/2015
Chapter 7
8
Broad Categories of Projects &
Degrees of Rigor
Types of projects
Concept development
New application development projects
Application enhancement projects
Application maintenance projects
Reengineering projects
There can be a progression through these kinds of projects
These can be approached with different levels of rigor:
casual
Structured
Strict
Quick Reaction
7/18/2015
Chapter 7
9
Degrees of Rigor
Adaptation criteria -- rate 1 to 5
Size of the project
Number of potential users
Mission criticality
Application longevity
Stability of requirements
Ease of customer/developer communications
Maturity of applicable technology
Performance constraints
Embedded/nonembedded characteristics
Project staffing
Reengineering factors
7/18/2015
Chapter 7
10
Task Set Selector Values
(compute average value)
TS<1.2 Casual ; 1.0<TSS<3.0 Structured ; TSS>2.4 Strict
7/18/2015
Chapter 7
11
Example
7/18/2015
Chapter 7
12
Linear, Sequential Model
See text for outline of example procedure
7/18/2015
Chapter 7
13
Evolutionary (Spiral) Model
7/18/2015
Chapter 7
14
Example of Task Network
7/18/2015
Chapter 7
15
Timeline Charts
Tasks
Week 1
Week 2
Week 3
Week 4
Week n
Task 1
Task 2
Task 3
Task 4
Task 5
Task 6
Task 7
Task 8
Task 9
Task 10
Task 11
Task 12
7/18/2015
Chapter 7
16
Scheduling
Typical tools
Program Evaluation and Review Technique (PERT) charts
Critical Path Method (CPM)
Work Breakdown Structure (WBS)
Formal term for task structure
Useful information derivable from timeline charts
Earliest beginning time for a task
Latest time to initiate a task without delaying project
Earliest task completion time
Latest task completion time
Total float
7/18/2015
Chapter 7
17
Example of Timeline Chart
7/18/2015
Chapter 7
18
Tracking the Schedule
Conduct periodic status meetings
Evaluate all Software Engineering Process Reviews
Determine whether formal milestones are met on time
Compare actual start date on each task to that planned
Informal subjective assessment from practitioners
Possible corrective actions in case of problems
Re-deploy personnel
Commit reserve resources
Reschedule
Re-scope the project
7/18/2015
Chapter 7
19
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]
7/18/2015
Chapter 7
20
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
7/18/2015
Chapter 7
21
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.
7/18/2015
Chapter 7
22
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
7/18/2015
Chapter 7
23
Example Project Table
7/18/2015
Chapter 7
24
Typical Project Plan Outline
7/18/2015
Chapter 7
25