You are on page 1of 2

10 STEP ESTIMATION

PROCESS OVERVIEW

Viable estimation is critical to successful software projects whether it is agile, waterfall,


or anything in-between. In the book “Software Sizing, Estimation, and Risk
Management: Where Performance is Measured Performance Improves” we lay out
the process. This can be used in a formal way for high maturity organizations AND
can be used as a general basis of organizations just getting started in improved
planning. There are many documents and presentations available from Galorath on
this topic. I find the IBM paper by Dr. Denton Tarbet of Galorath an interesting visual
representation. And a short summary of the process is included as this link.
Step 1: Establish estimate scope and purpose
Define and document expectations. When all participants understand the scope and
purpose of the estimate, you clear up contradictory assumptions, establish a baseline
for measuring the effect of future changes, and head off potential misunderstandings.
Step 2: Establish technical baseline, ground rules, and assumptions

Identify the functionality included in the estimate. If detailed functionality is not known,
document ground rules and assumptions, and what is and isn’t included in the
estimate. Issues of Commercial Off-the-Shelf (COTS), reuse, and other assumptions
should be documented as well.

Step 3: Collect data


Identify the data required and the information holders. Provide participants with
questions and clear definitions beforehand. During interview confirm data is realistic
and valid. Build and refer to repositories of project histories. Be sure to capture
uncertainty.
Step 4: Determine size and scope
If circumstances force you to compromise on your estimating methodology, spend
the bulk of the time you have on sizing the project (the use of sizing databases and
tools can facilitate this process). This is arguably the most critical step in determining
the ultimate success of a project. Sizing and scoping drives every aspect of the
project, constrains the actions that can be taken in the development or upgrade of a
product, and limits available options.
Step 5: Prepare baseline estimate
Estimating a project should not be thought of as a one-time activity. As projects
progress, unknowns become knowns, and new and unexpected issues and
opportunities arise. Life happens. Refreshing estimates and documenting estimate
deltas throughout the development process ensures that 1) the evaluation of trade-
offs is based on increasingly reliable data, 2) the organization has a “most accurate”
estimate at any given point in time, and 3) estimation accuracy improves over time.
Step 6: Quantify risks and risk analysis
Risk can be characterized in terms of a loss of time, quality, money, control, or
understanding. The loss associated with a risk is called the risk impact. Risk cannot
be eliminated, but it can be planned for. Risk, by itself, will not threaten the success of
a project if it is recognized and addressed in a timely fashion.
Step 7: Validate and review
Validating and reviewing your estimate provides a systematic confirmation of your
estimate’s integrity. This step enables the organization to be more proactive in
adjusting project variables, and justifies confidence that project data is sound,
methods are effective, anticipated results are accurate, and focus is properly directed.
Step 8: Generate a project plan
Generating a project plan employs the project estimate as a basis for allocating and
communicating specific cost, resources, and timelines in a detailed function and task-
oriented work breakdown structure.
Step 9: Document estimate and lessons learned
Each time you complete or update an estimate and upon completion of a project, you
should document the information that proved pertinent and record lessons learned.
By doing so, you document a “best effort” process, capture actual results with which
to calibrate your estimation models.
Step 10: Track performance (measurement and feedback)
In-process information should be collected continuously and compared against the
original plan and baseline. If performance varies consistently or significantly,
corrective options should be evaluated and implemented to get the project back on
track. Performance feedback should also be reviewed and project data retained to
refine the estimating process, itself.

You might also like