Software Project Management

Download Report

Transcript Software Project Management

Software Engineering Process II
Development Plan
INFO 637
Glenn Booker
INFO 637
Lecture #4
1
Need to Plan
We need to plan our effort carefully, to
help ensure that:
Everyone knows what to do and when
We know if we’re going off schedule
We can improve the accuracy of our predictions
Detailed planning helps make some of our
inaccuracies counterbalance each other
Results in more accurate overall estimates
INFO 637
Lecture #4
2
Plan(ned) Hours
Each task is assigned a planned number
of hours for its completion (Plan Hours),
based on the estimation methods
discussed in the PSP
The sum of Plan Hours for all tasks is
the total effort needed for the project,
in staff-hours (Total Plan Hours)
INFO 637
Lecture #4
3
Plan Value
Each task is also assigned a Plan Value
(PV), which is the percent of the project’s
value assigned to completing that task
The sum of Plan Value for all tasks
in the project is, by definition, 100%
If all tasks are equal significance by effort,
PV = (Plan Hours) * 100 / (Total Plan Hours)
INFO 637
Lecture #4
4
Earned Value
As tasks are completely finished, they
earn Earned Value (EV) in the amount
of their Plan Value
Hence at any time, the total EV earned
is the sum of PV for all tasks which have
been completed
INFO 637
Lecture #4
5
How Detailed to Plan?
Tasks should be broken down to under
ten hours per person per task
For a full project, you generally don’t want
to micromanage to tasks under a workday, because then you’ll spend more time
planning than working
INFO 637
Lecture #4
6
Where Record Tasks?
The overall project, and small
programming tasks, can be planned
on a SUMP form
Unplanned tasks (including startup for the
project) can be identified as M&M
(Management and Miscellaneous) tasks
M&M is typically 5-10% of the first cycle
Quality plans go on a SUMQ form
INFO 637
Lecture #4
7
Software Estimates
Use the same techniques used for
the PSP
Sizes of parts and assemblies, ranging
from smallest to largest, are called:
Modules (assemblies of objects)
Components (assemblies of modules)
Products (assemblies of components)
System (assemblies of products)
INFO 637
Lecture #4
8
TSPi Planning Process
Conceptual design was created in the
strategy phase
Initial estimates of parts for each cycle
were also developed in the strategy phase
(STRAT form)
INFO 637
Lecture #4
9
TSPi Planning Process
Now use SUMS form to list the
components to be developed in
the first cycle
Also on the SUMS form, identify test plans
and requirements specifications which
apply to these components
INFO 637
Lecture #4
10
TSPi Planning Process
Use TASK and SCHEDULE forms to
identify how long each component will
take to create
Include time for individual effort each week,
and team effort as well
Blend to provide TASK and SCHEDULE
for entire team
Calculate PV and expected completion date
for each task
INFO 637
Lecture #4
11
TSPi Planning Process
Make the quality plan, using SUMQ form
(discussed later)
Copy TASK and SCHEDULE for
each person
Personalize these by deleting tasks others
will perform
Determine PV and estimated completion
for each personal task
INFO 637
Lecture #4
12
TSPi Planning Process
Review the TASK and SCHEDULE forms
for each person, and balance the workload
Adjust tasks and responsibilities as needed to
make the schedule fair to everyone
Use the adjusted individual plans to
regenerate the overall team TASK and
SCHEDULE, plus the SUMP and SUMQ
Give these to all team members and instructor
INFO 637
Lecture #4
13
TSPi Support Tool
The TSPi Support Tool can be used to
help support this process, but it doesn’t
fully automate the process
If not using the Tool, most teams discuss
and balance their workload before
committing it to the forms, to avoid revising
the individual plans, and then regenerating
the team plans
INFO 637
Lecture #4
14
Development Plan Script PLAN1
p. 75
Based on the conceptual design
Identify specific products to be produced,
and estimate their sizes
Record STRAT data in SUMS
Produce task plan using TASK form
Produce team’s schedule plan using
SCHEDULE form, including expected
weekly hours per person
INFO 637
Lecture #4
15
Development Plan Script PLAN1
Produce the quality plan using estimated
SUMP and SUMQ plans
Break out individual plans based on the
team TASK and SCHEDULE plans
Balance workload, then reconsolidate the
team TASK and SCHEDULE plans
Send TASK, SCHEDULE, SUMS, SUMP,
and SUMQ to team members and
instructor
INFO 637
Lecture #4
16
Tracking Work
Record your time in the time recording
log (LOGT)
This helps update your personal TASK and
SCHEDULE forms
When a task is completed, enter the week
in the TASK form
This will feed the Earned Value for that week
INFO 637
Lecture #4
17
Tracking Work
At the end of each work week, generate
the updated TASK and SCHEDULE to
show the time and EV status of your work
Enter these on the WEEK form, and give to
your planning manager
Enter defects on the defect recording log
(LOGD)
These feed the SUMP form for each assembly
INFO 637
Lecture #4
18
Tracking Work
Note that inspection defects (INS) do not
automatically show up; the product owner
needs to enter each inspection defect on form
LOGD as well
Once a component has been developed,
enter its size in SUMS for that part
Includes documentation size, not just code
INFO 637
Lecture #4
19
Tracking Work
Update SUMP to track the time, size, and
defect data for each engineer
A separate SUMP should be maintained for
each assembly, and each phase
Generate the SUMQ form for each
assembly, with time, size, and defect data
Generate team level TASK & SCHEDULE,
and assembly-level SUMP and SUMQ
INFO 637
Lecture #4
20
Tracking Work
Each person reports to the team
weekly using the WEEK script; and
the team reports to the instructor
using the same form
INFO 637
Lecture #4
21
Quality Plan
The quality plan (SUMQ) is outlined on
pages 88-89
It is a summary of the quality results for
the project to date, comparing the quality
goals with the actual results as they
become available
Description of each SUMQ section follows
INFO 637
Lecture #4
22
Quality Plan
Summary section has the overall team
productivity (LOC/hour), and the percent
of reuse and new reuse (if any)
Percent Defect-Free (PDF) section
describes the percent of components
which had no defects, by life cycle phase
Defects/page describes
documentation quality
INFO 637
Lecture #4
23
Quality Plan
Defects/KLOC describes the total
number of defects which were found
during development
Defect Ratios compare the defect rates
for different activities
Development time ratios (%) compare the
amount of time spent in phases to their
review activities
INFO 637
Lecture #4
24
Quality Plan
A/FR is the Appraisal to Failure Ratio;
the ratio of time spent in reviews and
inspections to the time spent in failure
detection activities (compile, test)
Want A/FR > 2 for small programs, >1 if large
Review Rates and Inspection Rates
measure how fast reviews and
inspections are performed
INFO 637
Lecture #4
25
Quality Plan
Defect injection and removal rates
(Defects/Hr.) measure how quickly defects
were made and discovered during each
life cycle phase or inspection
Phase Yield is the percent of defects
entering the phase which were removed
Process Yield is the percent of defects
removed before entering a phase
INFO 637
Lecture #4
26
Quality Plan
The quality plan is heavily dependent
on having sound data input
Hence the data recorded for every task
and every defect must be as accurate as
possible, or the final results will quickly
become gibberish!
INFO 637
Lecture #4
27