W5HH Principle
W5HH Principle
W5HH Principle
• The Project
Empirical cost and schedule estimation. What is the current estimated size of the
application software (excluding system software) that will be delivered into operation? How
was it derived?
Metric-based project management. Do you have in place a metrics program to give an early
indication of evolving problems? If so, what is the current requirements volatility?
Earned value tracking. Do you report monthly earned value metrics? If so, are these metrics
computed from an activity network of tasks for the entire effort to the next delivery?
Defect tracking against quality targets. Do you track and periodically report the number of
defects found by each inspection (formal technical review) and execution test from program
inception and the number of defects currently closed and open?
People-aware program management. What is the average staff turnover for the past three
months for each of the suppliers/developers involved in the development of software for
this system?
If a software project team cannot answer these questions or answers them inadequately,
a thorough review of project practices is indicated.
SOFTWARE PROJECT PLAN :
The software project plan mainly will be a consequence of function and performance
allocations performed as part of the systems engineering study of the project planning
phase. Estimation is accomplished using one of a number of techniques that also rely
on historical productivity data as well as the methodology that is chosen.
GRAY AREAS : Identification of Gray Areas, Efforts required from buyer of software and from
supplier of software to estimate, evaluate and resolve Gray Areas.
COSTS : Any differences between the buyer and supplier of software can be reviewed by
the steering Committee .
After the estimates are presented, the actual cost can be worked out by applying these
estimates on the rates prevailing as fixed and escalation terms. These will be discussed in
commercial terms. Here, at this point of software project plan, the estimates of the efforts
will be signed off by both supplier of software and the buyer of software.
SCHEDULE : Task network, Gant chart / Bar chart, Task resource table
THE W5HH PRINCIPLE
• In an excellent paper on software process and projects, Barry Boehm
[BOE96] states:
Why is the system being developed? The answer to this question enables all
parties to assess the validity of business reasons for the software work. Stated in
another way, does the business purpose justify the expenditure of people, time,
and money?
Who is responsible for a function? Earlier in this chapter, we noted that the
role and responsibility of each member of the software team must be defined. The
answer to this question helps accomplish this.
Where are they organizationally located? Not all roles and responsibilities
reside within the software team itself. The customer, users, and other
stakeholders also have responsibilities.
How will the job be done technically and managerially? Management and
technical strategy must be defined.
Against:
Collecting metrics is too hard ... it’s too time consuming ...
it’s too political ... they can be used against individuals ... it
won’t prove anything
For:
In order to characterize, evaluate, predict and improve the
process and product a metric baseline is essential.
“Anything that you need to quantify can be measured in some
way that is superior to not measuring it at all” Tom Gilb
Differentiate between process, project and
product metrics
process
process metrics
project metrics
measurement
product metrics
product
What do we
“Not everything that can be use as a
counted counts, and not everything basis?
that counts can be counted.” - • size?
Einstein • function?
Process Metrics
• Focus on quality achieved as a consequence of a repeatable
or managed process. Strategic and Long Term.
• Statistical Software Process Improvement (SSPI). Error
Categorization and Analysis:
All errors and defects are categorized by origin
The cost to correct each error and defect is recorded
The number of errors and defects in each category is computed
Data is analyzed to find categories that result in the highest cost to
the organization
Plans are developed to modify the process
Project Metrics
• Used by a project manager and software team to adapt project
work flow and technical activities. Tactical and Short Term.
• Purpose:
Minimize the development schedule by making the necessary
adjustments to avoid delays and mitigate problems
Assess product quality on an ongoing basis
• Metrics:
Effort or time per SE task
Errors uncovered per review hour
Scheduled vs. actual milestone dates
Number of changes and their characteristics
Distribution of effort on SE tasks
Product Metrics
• Focus on the quality of deliverables
• Product metrics are combined across several
projects to produce process metrics
• Metrics for the product:
Measures of the Analysis Model
Complexity of the Design Model
1. Internal algorithmic complexity
2. Architectural complexity
3. Data flow complexity
Code metrics
Compare and contrast Lines-Of-Code (LOC)
and Function Point (FP) metrics
• Both FP and LOC are units of measurement for software size.
• Since the industry has more than 700 programming languages and almost
every application uses multiple languages, the consistency of FP metric allow
economic studies that are not possible using LOC metric.
• Size-Oriented:
errors per KLOC (thousand lines of code), defects per KLOC, R per LOC, page of
documentation per KLOC, errors / person-month, LOC per person-month, R /
page of documentation
• Function-Oriented:
errors per FP, defects per FP, R per FP, pages of documentation per FP, FP per
person-month
Why Opt for FP based metrics
• Independent of programming language. Some programming languages are
more compact, e.g. C++ vs. Assembler
• Does not “penalize” inventive implementations that require fewer LOC than
others
• Variants (Extended FP and 3D FP) more suitable for real-time and scientific
software (algorithm and state transition complexity)
Computing Function Points
Analyze information
domain of the application Establish the Measurement parameters count for input
and develop counts domain and system interfaces
number of ext.interfaces 4 X 5 7 10 = 22
Count-Total 52
Exercise: Computing Function Points
STEP 2: Compute the Complexity Adjustment Factor
Compute Σ Fi = 2 + 2 + 0 + 4 + 3 + 4 + 5 + 3 + 2 + 5 + 4 + 2 + 5 + 5
= 46
FP = 52 x 1.11
FP = 57.72 ANSWER
Computing Function Points
• Uses the functionality of the software as a measure
• Analogy: For a given house, we can say how many square meters it has (LOC) or
we can say how many bedrooms and bathrooms it has (FP).
• The idea was first put forward by Allan Albrecht of IBM in 1979.