Professional Documents
Culture Documents
Unit - Iii: Project Monitoring and Control
Unit - Iii: Project Monitoring and Control
Software Project:
Project is a planned, non-routine activity, designed and
implemented to achieve a predefined objective in a given
time span.
Monitoring – collecting, recording, and reporting
information concerning project performance
that project manger and others wish to know.
Project control
Controlling –
-Uses data from monitor activity to bring actual
performance to planned performance.
PLAN
Specifications
ACTION Project Schedule
Correct Project budget
deviations Resource plan
MONITOR
from plan Vendor contracts
Record status
RE-PLAN as Report progress
necessary Report cost
COMPARE
Actual status
against plan
-Schedule
-Cost
4
Techniques for monitoring and
control
PV = $50,000
AC = $47,500
EV = $40,000
Earned Value Management
Schedule Performance
Index (SPI)
SPI = EV / PV
•Good News: If SPI value is >1 or =1, the project
schedule trend is currently ahead or on planned
schedule
•Bad News: If SPI value <1, the project schedule
trend is currently behind schedule
Earned Value Management
Estimate at Completion
(EAC)
#1
Actual costs to date plus a new estimate for all
remaining work (original plan no longer valid)
EAC = AC + ETC
(ETC Estimate to Complete)
Earned Value Management
Estimate at Completion
(EAC)
#2
Actual costs to date plus remaining budget
(current variances are viewed as atypical of future
variances)
EAC = AC + BAC - EV
Earned Value Management
Estimate at Completion
(EAC)
#3 & #4
Actual costs to date plus remaining budget
modified by a performance factor (CPI) (current
variances are viewed as typical of future
variances).
Method #2:
EAC = AC + BAC – EV
= $48,000 + $100,000 - $42,000
= $106,000
(Change Management for $6,000 funds
request)
Earned Value Scenario
Estimate to Complete (ETC):
Method #3
EAC = AC + [(BAC – EV) / CPI]
= $48,000 + [($100,000 - $42,000) / 0.875]
= $48,000 + $66,285
= $114,285
(Change Management for $14,285 funds
request)
Method #4
EAC = BAC / CPI
= $100,000 / 0.875
= $114,285
(Change Management for $14,285 funds
request)
Earned Value Scenario
Budget Management
Module 6 Exercise
• Work as a team to perform EVM on
assigned project on page 69.
• Prepare a report similar to the
module scenario reporting project
progress.
• Brief class on methods of recovery, if
needed, for project.
Budget Management
$50K
$40K
$30K
$20K
$10K
1w 2w 3w 4w 5w 6w 7w 8w 9w 10w
Budget Management
$50K
$40K
$30K
$20K
$10K
1w 2w 3w 4w 5w 6w 7w 8w 9w 10w
$60K
$50K
$40K
Cost
$30K
Variance
$20K
Schedule
Variance
$10K
1w 2w 3w 4w 5w 6w 7w 8w 9w 10w
Error Tracking
Allows comparison of current work to past
projects and provides a quantitative
indication of the quality of the work being
conducted.
The more quantitative the approach to
project tracking and control, the more likely
problems can be anticipated and dealt with in
a proactive manner.
Reviews
Conducting reviews of requirements,
design, and code is one of the best
ways to improve your work’s quality
and your productivity
Here we’ll look at various types of
reviews and how to document them
51
Reviews
Review types, in descending order
of formality, include
Inspections
Walk-throughs
Personal reviews
INFO636 Week #8 52
Inspections
Inspections follow a structured
procedure for evaluating a work product
Fagan inspections are among the best
known brand of inspection
Inspections start with preparation,
where each participant reviews the
work separately, and makes note of
defects found
53
Inspections
Then there’s an inspection meeting
to discuss the findings of each
participant, and put together a
cumulative list of defects
Then the work product owner fixes the
defects, and puts together a report to
say so, in the repair and report phase
54
Walk-throughs
Walk-throughs require little preparation,
except by the work product owner
A presentation is given, and participants
provide feedback during it
Follow-up is informal, with the work
product owner responding to the
comments received
55
Personal reviews
Personal review is the work product
owner reviewing their own stuff
As compiling code has gotten trivially
easy, many programmers have
dropped reviewing their own work in
the hopes that the computer will find
their mistakes
Not a good strategy!
56
Target of Reviews
Any work product can be the subject
of reviews
Any document
Requirements specification
Design models
Test plans
Internal project processes & procedures
Source code
Scripts too!
57
Commentary
For those taking INFO 637, the Team
Software Process uses formal reviews
extensively, so pay extra attention!
N track people - while the text
obviously focuses on reviews related to
code, keep in mind that these methods
and tools for reviews can be used to
plan and conduct reviews for anything
58
Why Review Software?
The history of the PSP has shown
that most people
Initially spend much of their time
(30-50%) in compiling and testing
By the end of this course, only about
10% of their time is spent testing
Good reviews are a key to reducing
testing time
59
Review Efficiency
Finding and fixing defects is much
faster to do in review than in testing
Humphrey found 8x faster fix time in
review than testing
Code reviews are 3-5 times as efficient
at finding defects than testing
Part of the reason is that testing finds
symptoms of the defect, which has to
be investigated by debugging
60
Severity of Review
We don’t mean to imply that every
piece of code needs exhaustive review
Different approaches can be used,
depending on the complexity, risk,
and importance of the code
Hence you might use inspections for critical
code, walk-throughs for typical code, and
just personal review for low risk code
61
Review Principles
Any kind of review process typically
follows three principles
Establish defined review goals
Follow a defined process for conducting
a review (here, we’ll use scripts)
Measure and improve your review process
62
Separate Design and Code Reviews
Design and code should be
reviewed separately
Forces making a design before coding
It’s hard to decipher design from the code
Helps spot logic errors in design, and
identify design improvements
Helps focus review scope
63
Design Reviews
Make your design reviewable
Follow a standard notation for design,
such as UML, DFD, ERD, etc.
Make sure design addresses both
functional and non-functional requirements
Follow personal design standards,
hopefully in concert with
organizational standards
64
Design Reviews
Follow a design review strategy
Look at various elements of design
systematically – don’t try to assess
it all at once
Design review strategy stages
might include
Check for required program elements
65
Design Reviews
Examine overall program structure
and flow
Check for logical completeness
Check for robustness - handling errors, etc.
Check parameters and types for methods
and procedure calls
Check special variables, data types, and
files, including aliases
66
Design Reviews
Check design against the requirements
More elaborate inspections might use
A traceability matrix to prove
completeness, or
Use formal methods (Z, Larch) to show
correctness mathematically
67
Measuring Reviews
Key basic measures for reviews are
Size of product being reviewed
(in pages or LOC)
The review time, in minutes
The number of defects found
And based on later work, the defects
that weren’t found by the review
68
Measuring Reviews
Derived metrics for reviews are
Review yield, the percent of defects
found by review
Yield = 100*(defects found) /
(defects found + defects not found)
Number of defects found per kLOC or page
Number of defects found per hour of
review time
69
Measuring Reviews
The number of LOC or pages reviewed
per hour
Defect Removal Leverage (DRL)
The ratio of defects removed per hour for
any two phases or activities
DRL(coding) = Defects/hour(coding)/
Defects/hour(design)
70
Checklists
Checklists are used to help make sure
a process or procedure is followed
consistently each time
A sample code review checklist for C++
is on variations can be developed for
other languages.
It has several blank columns so each
module can be checked off separately
71
Designing Checklists
Checklists should be designed so that
you have to focus on only one topic
at a time
Similar to reviewing a book for grammar
versus plot development – it’s hard to
look for both at once
To use a checklist most effectively,
completely review one module
72
Using Checklists
Different strategies should be
considered for different types
of reviews
Design review for a large application
might prefer to be from the top down
Code review often works better from
the bottom up for your code, but top
down for someone else’s
73
Building Checklists
Don’t take the example as the ultimate
final perfect most-wonderful-of-all
checklist that ever was *breathe*
Study the kinds of problems you
encounter (in your defect log) to
see what you need to emphasize
in your checklist
74
Building Checklists
The types of defects are given again,
consider adapting this to your needs
and other languages
One way to look for your most common
types of defects is to lump all your
defect logs together, and generate a
Pareto chart by defect type
75