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