Estimating Techniques Guide - S&S Central

advertisement
Estimating Technique Guide
Estimating Technique Guide
Version 1
Estimating Technique Guide - Draft
1
2/5/2016
Estimating Technique Guide
Estimating Technique Guide
Table of Contents
Introduction ____________________________________________________________4
Estimating Approaches ___________________________________________________5
Top-Down Estimating Approach ______________________________________________ 5
Bottom-Up Estimating Approach ______________________________________________ 5
Estimating Approach Comparison _____________________________________________ 6
Estimating Techniques ___________________________________________________7
Ballpark Estimating _________________________________________________________ 7
Proportional Percentage Estimating____________________________________________ 7
Comparative _______________________________________________________________ 8
Expert Judgment ___________________________________________________________ 8
Proportional Estimating _____________________________________________________ 8
Widget Counting ____________________________________________________________ 9
Function Point Analysis ______________________________________________________ 9
Feature Points _____________________________________________________________ 10
Technique Comparison _____________________________________________________ 11
Estimating Technique Comparison ___________________________________________ 12
Managing Multiple Estimates ________________________________________________ 12
Wideband Delphi Technique ________________________________________________________ 12
Weighted or Average Estimate ______________________________________________________ 13
Commercially Available Estimating Tools ___________________________________13
CHECKPOINT/KnowledgePLAN ____________________________________________ 13
Overview _______________________________________________________________________ 13
Estimating Templates ___________________________________________________14
General Purpose Templates __________________________________________________ 14
Staff and Duration Estimating Template............................................................................................ 14
Travel Expenses Template ................................................................................................................. 14
Requirements/BAA Proportional Estimate Projection Template ....................................................... 14
ASPIRE Phase Templates ___________________________________________________ 14
Vision and Strategy _______________________________________________________________ 14
Business Area Architecture _________________________________________________________ 14
Development ____________________________________________________________________ 14
Integration ______________________________________________________________________ 14
Deployment _____________________________________________________________________ 15
Specialty Area Templates ___________________________________________________ 15
Development ____________________________________________________________________ 15
Package-Based Development (PBD) Estimating Template ............................................................... 15
Matrix-Based Iterative Custom Development (ICD) Estimating Template ....................................... 15
Estimating Technique Guide - Draft
2
2/5/2016
Estimating Technique Guide
Accelerated Application Development (XAD) Estimating Template ................................................ 15
Organizational Change ____________________________________________________________ 15
Communication Event Estimating Template ..................................................................................... 15
Stakeholder Group Estimating Template ........................................................................................... 16
Technical Infrastructure ____________________________________________________________ 16
Facilities Infrastructure ____________________________________________________________ 16
Estimating Guidelines ___________________________________________________17
Project-Wide Guidelines ____________________________________________________ 17
ASPIRE Phase Guidelines ___________________________________________________ 19
Vision and Strategy (ETP) __________________________________________________________ 19
Business Area Architecture (Requirements/BAA)________________________________________ 20
Development ____________________________________________________________________ 21
Integration ______________________________________________________________________ 21
Deployment _____________________________________________________________________ 22
Specialty Areas ____________________________________________________________ 22
Development ____________________________________________________________________ 22
Package Based Development (PBD) ................................................................................................. 22
Package Evaluation and Selection (PES) Sub-Phase ......................................................................... 24
Iterative Custom Development (ICD) ................................................................................................ 26
Accelerated Application Development (X/AD) ................................................................................. 33
Organizational Change ____________________________________________________________ 36
Technical Infrastructure ____________________________________________________________ 38
Critical Computer Resources and Facilities Infrastructure _________________________________ 38
Management and Coordination ______________________________________________ 39
Appendices ____________________________________________________________40
Estimating Templates _______________________________________________________ 40
Estimating Template User Guides ____________________________________________ 40
Staff and Duration Estimating Templates ______________________________________________ 40
Travel Expenses Template __________________________________________________________ 40
Requirements/BAA Proportional Estimate Projection Template _____________________________ 40
Package-Based Development (PBD) Estimating Template _________________________________ 41
Matrix-Based Iterative Custom Development (ICD) Estimating Template _____________________ 42
Accelerated Application Development (XAD) Estimating Template _________________________ 44
Communication Event Estimating Template ____________________________________________ 45
Stakeholder Group Estimating Template _______________________________________________ 46
Estimating Technique Guide - Draft
3
2/5/2016
Estimating Technique Guide
Estimating Technique Guide
Introduction
Company Management has stated that there has been some history of Significant Project Cost and Schedule
Overruns. Issues identified included:
 Many project over-runs are attributed to poor estimates. Current estimating techniques are
perceived to be inconsistent, baseless, and inaccurate.
 There is a tremendous financial risk associated with poor estimating techniques. High estimates
can result in lost business opportunities. Low estimates increase the risk of project over-runs.
 There is an inconsistent use of a disciplined estimating process. This problem occurs in the sales
process and in estimating subsequent phases in an ongoing project.
 There is disagreement and no general consensus on the best techniques for system development
estimates.
 There is little or no guidance for estimating Accelerated application, package-based system
development, Non-traditional system development such as object-oriented development or Internet
/ Intranet development, Non-system development projects such as Performance Improvement
Initiatives, Vision and Strategy, Business Architecture, IT Re-engineering, and Organization
Change.
 Few tools exist to support estimating and the usability and validity of these tools is not universally
accepted.
The purpose of this Estimating Technique Guide, along with the Estimating Process Guide, is to begin to
address several of these issues. It will not resolve all of these issues. However, it can be an effective
vehicle that allows us to share our collective experiences. Although the targeted audience of this guide is IT
Services Consulting and Systems Integration, our goal is to utilize and share knowledge and experiences
across all of IT Service’s divisions. Specific goals for this guide include:
 Identifying estimating approaches, techniques, models and tools that have been used on prior IT
Services engagements. There are a number of techniques, models and tools that are being used
across the division. There are probably an equal number of opinions on which ones are the most
effective. This guide identifies some of the most common techniques, models, and tools. It does
not try to cover all of them; nor does it attempt to single out which technique, model and tool is the
most effective. In reality, there is no “universal” technique that applies to all types of projects;
each technique is valuable when used for the appropriate type of project. The key is to have an
awareness of what techniques, models, and tools are available so that you apply the best set of
techniques, models, and tools for your specific project.
 Sharing information on the techniques, models, and metrics that have been used for various
project phases. Many of the metrics defined are rules of thumb that have come from specific
projects. Many of these have not been confirmed or compared against other projects so you will
need to apply your judgment accordingly. This guide also includes some “gotchas” that were
identified from past experiences; hopefully these will help you to avoid similar pit-falls as you
develop your estimates.
 Fostering communication regarding estimating and metrics between project team members,
projects, business units, regions, and divisions. This guide, in and of itself, will not make us better
estimators. All of us need to experiment and communicate our experiences with these techniques,
models, and tools so that we can further define and refine them.
Estimating Technique Guide - Draft
4
2/5/2016
Estimating Technique Guide
Estimating Approaches
There are two basic approaches for determining the estimates for a given component of a project, top-down
and bottom-up. IT Services highly recommends that you estimate a project using both of these approaches.
A top-down estimating approach takes an estimate for an entire project and breaks it down into lower-level
components. Since this approach looks at the entire project from a fairly high-level view, you can develop a
top-down estimate in a relatively short period of time and with a minimal amount of project related
information. A bottom-up estimating approach breaks the project into pieces, examines each piece at a
detail level, and assembles all of the pieces and their estimates to come up with the overall project estimate.
Since this approach examines the project in much greater detail, it requires more project related information
and takes a longer time to develop the estimate. Because of the level of detail required, your bottom-up
estimate is generally more accurate than your top-down estimate.
Top-Down Estimating Approach
Using this approach you divide an overall estimate into separate, lower-level components. The starting
point is an estimate of the size, total effort, or the time required to perform a project. The total estimate is
apportioned among the components, or tasks that make up the project, according to a predefined formula as
well as taking into account experience from similar projects and any known external dependencies that may
act as constraints. For example, you may have determined that the total effort for a Requirements/BAA
phase is 1,000 hours. You can than use an estimating model such as Project Bridge Modeler to apportion
the 1,000 hours across the various activities and tasks that comprise a Requirements/BAA. You can also
adjust the hours per activity or task based on the required deliverables, your prior project experience, or the
project team’s expertise.
Depending on the size and complexity of the project, you can repeat this process to arrive at estimates for
lower-level tasks. After completing the top down estimates for the lower-level tasks you must validate your
estimate by checking to make sure that each of the lower-level estimates makes sense. If any of the lowerlevel task estimates is too low you must adjust the top level estimate upward or change the scope of the
project. You should also use other estimating methods to cross-validate your results.
This estimating approach is helpful when you have relatively little knowledge of the project requirements or
when the project is strictly limited by resources. For example, if the client has a fixed budget, this
estimating approach could be used to identify the level of work that could be delivered for that budget.
(Note: This is risky and not generally recommended.)
Disadvantages of this approach include:
 You could miss low-level technical issues or special components of the system.
 This approach offers little or no basis for the cost justification of subsequent estimating iterations.
 There is a tendency to define the scope in terms of the resources allocated rather than in terms of
the activities or deliverables.
 You need some basis for apportioning the overall project estimate across the various subcomponents.
Bottom-Up Estimating Approach
Using this approach you first identify the low-level components of the project, estimate each of these
components, and then total the individual estimates to produce the overall project estimate. The definition
of a low-level component can vary widely and is very dependent on the type of the project. You should
ensure that all of your low-level components are identified in or mapped to a Work Breakdown Structure
(WBS) or Statement of Work to ensure that you have accounted for all of the project’s components.
Examples of a low-level component include:
Estimating Technique Guide - Draft
5
2/5/2016
Estimating Technique Guide
 The effort to produce an intermediate product or deliverable. Examples include preparing for or
documenting workshops or interviews, developing an integration or application test plan, and
creating a detail project plan for a subsequent project phase.
 The effort to develop a specific function of the completed software system. For example, code and
test the maintain customer address window.
 A non-labor item such as a product or service. Examples include PCs, printers, pagers,
development software, installation fees, training, and travel related expenses.
One advantage of this approach is that it requires a relatively thorough analysis before you begin estimating.
Since you need have a more detailed view of the project requirements when using this approach, it can yield
a more accurate estimate than a top-down approach, provided you haven’t forgotten anything. This
approach also helps to identify uncertainties regarding the project requirements or proposed solution.
These uncertainties will often result in assumptions in the estimate and the project’s Statement of Work.
Disadvantages of this approach include:
 You may overlook system-level costs such as integration or training.
 It often requires more information than what is typically available at the time the estimate is
required.
 It requires a significant effort to produce the estimate.
 Activities such as management and development coordination cannot be estimated until the
underlying task estimates are complete. (These tasks are generally estimated based on the duration
of the project or as a percentage of the underlying tasks.)
Estimating Approach Comparison
The following diagram illustrates a high-level comparison between these two estimating approaches.
Estimation Approach
Strengths
Top-Down
 Particularly relevant if project is
strictly limited by resources.
 Relatively little knowledge of
proposed system required.
Bottom-Up
 Enforces relatively thorough
analysis before estimation.
 Identifies uncertainties in
developers’ knowledge of system
requirements or proposed solution.
Estimating Technique Guide - Draft
6
Weaknesses
 May miss low-level technical issues.
 Has little or no basis for the cost justification
of subsequent estimating iterations.
 May omit special components of software
system.
 Need basis for proportioning estimates across
project sub-components.
 Tendency to define scope in terms of
resources allocated rather than in terms of
activities or deliverables.
 May overlook system-level costs such as
integration, training.
 Often requires more information than is
available at time of estimate.
 Requires significant effort to produce
 Activities such as management and
coordination cannot be estimated until
underlying task estimates are complete.
2/5/2016
Estimating Technique Guide
Estimating Techniques
The following estimating techniques fit into either the top-down or bottom-up approach. No one estimating
technique is ideal for all situations; each has its own strengths and weaknesses. When estimating a project,
you need to decide which technique is appropriate and what adjustments, if any, are needed.
Ballpark Estimating
With this estimating technique you use a combination of time, effort, peak staff, and derived from the QSM
SLIM completed projects database. Each row represents a consistent set of estimates that may be
determined based on any one of the variables estimated using expert judgment.
This technique can be used at any point in the lifecycle. It can be used early in the lifecycle and when no
historical information is available. Once the estimate is developed, a comparative estimate can be
developed using a proportional technique. The final estimates can be compared to other estimates for
analysis.
Using the Business Case documentation, a proposed solution is visualized, and using expert judgment, the
Modules, Interfaces, Configuration Items, or Programs in the visualized solution can be identified and
entered into Top Down Estimate by CI worksheet.
Using the factors table, a size can be determined between Very Very Small and Very Large. At the same
time the Category with Size can be determined. Estimates are developed using the Peak Staff, Time in
Months, and Effort in Hours columns for guidance in determining each size estimate.
Using the size and category within size, the table is completed by locating the effort hours and ESLOC in
the top down factors table and entering them into the Effort Estimate and ESLOC columns in the Top Down
Estimate by CI worksheet. After all Configuration Items are estimated, the totals can be calculated.
If there are logical groupings of configuration items, they may be numbered. The groupings can then be
used to combine individual configuration items into packages of work for estimation by group.
The list of configuration items can be sorted by group and combined into a single estimate.
The total of the group can be used to create one estimate for the group using the top down factors table to
locate the total. The group total can then be used for a single estimate for size (ESLOC). The ESLOC
estimate is based on 100 Lines of Code per Function Point, with a productivity index assumed to be slightly
less than the average productivity of companies in the SLIM database having a SEI CMM Level 2
productivity index.
Proportional Percentage Estimating
With this estimating technique you use the size of one component to proportionally estimate the size of
another. For example, the Design effort might be estimated as 22% of the Requirements effort;
Construction 45% of Requirements effort, and Testing/Pilot 33% of Requirements effort.
This technique is very effective when used appropriately, when the estimated value really does depend
proportionally on another factor. There are different proportional models for different types of life cycles,
which must be considered in developing proportional estimates.
Consideration needs to be given to whether the current estimate is for an effort that is more like a
Development/Enhancement effort or a Maintenance effort. If any portion of the labor distribution is
estimated, it can be used to expand the known portion into a total estimate.
For example:
Estimating Technique Guide - Draft
7
2/5/2016
Estimating Technique Guide
Labor Distribution Standard for "Development / Enhancement" Work Types
Project Management (start-up, manage, close) - Development/Enhancement
Quality Assurance Reviews
Development / Enhancement Analysis (Requirements) [Solution Definition]
Development / Enhancement External Design
Development / Enhancement Internal Design
Development / Enhancement Procedures and Training
Development / Enhancement Construction (Code/Unit Test) [Solution Generation]
Development / Enhancement Test [Solution Validation]
Development / Enhancement Implementation [Solution Deployment]
Development/
Enhancement
15.00%
5.00%
15.00%
13.00%
12.00%
6.00%
27.00%
18.00%
9.00%
Labor Distribution Standard for "Maintenance" Work Types
Project Management (start-up, manage, close) - Development/Enhancement
Quality Assurance Reviews
Maintenance Analysis (Requirements) [Solution Definition]
Maintenance External Design
Maintenance Internal Design
Maintenance Procedures and Training
Maintenance Construction (Code/Unit Test) [Solution Generation]
Maintenance Test [Solution Validation]
Maintenance Implementation [Solution Deployment]
Maintenance
12.00%
8.00%
9.00%
9.00%
18.00%
4.00%
40.00%
15.00%
5.00%
Comparative
Using this estimating technique, you compare the project at hand, the target project, with other projects
similar in scope and type to produce an estimate. The comparison is normally performed at a high-level
with little reference to detail. This technique relies heavily on the experience of the estimators and their
ability to gauge the target project in relation to the comparative data available. For example you have been
asked to estimate the custom development for a new telecommunications system. You also happen to know
of a similar type of project that was also custom developed. Since this reference project covered roughly
50% of the functionality needed by the new system, you could develop a comparative estimate for the new
telecommunications systems by doubling the actual effort from your reference project. You could even add
an additional percentage of effort to account for some of the unknowns in the new system. The comparison
does not have to be at a project or phase level. You can use this technique for lower-level tasks such as
developing a reporting sub-system or a customer maintenance window.
This technique is useful as a “sanity check” for an estimate produced by another method. It can also be
useful for estimating low-level components such as documentation, printer volume, processor capacity, or
programming a specific system component.
The major weakness of this technique is that a project is not thoroughly assessed. Therefore, it should be
used only if time is limited or a relatively large uncertainty in the estimate can be tolerated. This technique
also requires some type of historical data to compare against.
Expert Judgment
This technique relies on the extensive experience and judgment of the estimator to compare the
requirements for the component being estimated against all projects in his/her previous experience. It
differs from the comparative technique in that the reference projects are not explicitly identified.
Proportional Estimating
With this estimating technique you use the size of one component to proportionally estimate the size of
another. For example, Quality Assurance might be estimated as 3% of the total project effort; the design
Estimating Technique Guide - Draft
8
2/5/2016
Estimating Technique Guide
effort might be estimated as 40% of the coding effort; the number of printers might be estimated as one for
every 6 users. Previous personal experience or estimating guidelines can help provide these proportionality
factors.
This technique is very effective when used appropriately, when the estimated value really does depend
proportionally on another factor. However, it should not be used as a crutch to pass the estimating
responsibility on to some other component. Using this technique will magnify estimating errors being made
elsewhere.
Proportional estimates can be used in combination with other estimating techniques. For example, after
using widget counting to derive the estimate for the Requirements phase of a project and then used
proportional factors to estimate the Design, Code/Unit Test, System and Integration Testing,
Implementation, and Deployment phases of the project.
Widget Counting
Using this estimating technique, you identify project characteristics that can be counted and that are
performed on a recurring basis (the “widget”), estimate the effort for each type of widget, and determine the
total effort by applying these estimates against the total number of widgets. Typical widgets may be menu
choices, windows, screens, reports, database entities, database fields, requirement specifications, pages of
documentation, and test cases. You may assign complexity factors to each type of widget (simple, medium,
complex) and weight the effort accordingly.
Use the following criteria when determining whether you should be using this estimating technique:
 There must be enough detail information to allow you to identify and count the widgets.
 The effort to develop or complete the project must be reasonably proportional to the number of
widgets, even though the project is not necessarily made up purely of widgets.
 You must be able to produce an estimate for the effort of each widget type. This is typically done
by using the comparative approach based on historical metrics data or by prototyping the
implementation of one of the widgets.
Function Point Analysis
This estimating technique is suited for projects that are based on straightforward database input, output,
maintenance, and inquiry, with low algorithmic processing complexity. Function Point Analysis is the basis
for several automated estimating tools. The basic steps involved in this estimating technique include:
1.
Decomposing the project or application into a defined set of function types, described below.
2.
Assigning a complexity to each of these function types.
3.
Tallying the function types and applying pre-defined weighting factors to these totals to drive a
single unadjusted function point count.
4.
Adjusting this function point count based on the overall project complexity.
5.
Translating the function point count to an effort estimate based on a function point delivery rate.
(This is probably the most difficult step.)
Function points are viewed from the perspective of the system boundary and are comprised of the following
types:
 Input—Any data or control information provided by the user that adds or changes data held by the
system. An input can originate directly from the user or from user-generated transactions from an
intermediary system. Inputs exclude transactions or files that enter the system as a result of an
independent process.
Estimating Technique Guide - Draft
9
2/5/2016
Estimating Technique Guide
 Output—Any unique unit of data or control information that is procedurally generated by the
system for the benefit of the user. This would include logical units forming part of printed reports,
output display screens, audit trails, and messages.
 Inquiry—Each unique input/output combination, in which the online user defines an inquiry as
input and the system responds immediately with an output. An inquiry is distinct from an output in
that it is not procedurally generated. The result of an inquiry may be a display/report or a
transaction file that is accessible by the user.
 Logical Internal File—Any logical group of data held by the system. This includes database
tables and records on physical files describing a single logical object. A logical file may span
many physical files (e.g., index, data, and overflow). However, it is treated as a single logical
internal file for sizing purposes.
 External Interface File—Each logical group of data that is input to or output from the system
boundary to share that data with another system.
Advantages for using Function Point Analysis include:

The project is viewed from the perspective of the user rather than the developer, that is, in terms of
user functions rather than programs, files, or objects.

The estimates can be developed from knowledge of the requirements without a detailed design
solution being known. This provides for a level of independence from the specific hardware
platform, languages, developer’s skill level, and the organization’s line of business.

The use of Function Point Analysis is accepted internationally. There is also a users group,
International Function Point Users Group (IFPUG), which has established standards to help
encourage consistency in counting function points.
Disadvantages for using this estimating approach include:

This approach does not accurately estimate systems that are largely algorithmic such as military
systems, space systems, robotics, process control, and middleware.

Function Points can be complicated to administer. Formal training is needed before you can
consistently count, and therefore track, function points.
The use of function points is not widely accepted within IT Services. As a result, we have not
gathered any estimating guidelines or metrics for function point estimating.


Since the concept of Function Point Analysis was developed with older technologies and
development approaches, it is not certain how well this concept applies to newer technologies and
development approaches such as object-oriented development. However, variations of Function
Point Analysis are being developed to address the newer technologies and development
approaches.
Feature Points
This estimating technique is an extension to the function point analysis technique. It involves adding a
number of algorithms with an average complexity weight and changing the function point weighting in other
areas. For typical management information systems, there is little difference in the results between Function
Points and Feature Points, both techniques result in nearly the same number of “points”. For real-time or
highly algorithmic systems, however, the results can be significantly different between these two techniques.
The Function Point count for such systems totals only 60 to 80 percent of the Feature Point count. Note:
Before using this estimating technique, you should read one of the published books on this subject.
Estimating Technique Guide - Draft
10
2/5/2016
Estimating Technique Guide
Technique Comparison
The following table highlights the strengths and weaknesses of these estimating techniques:
Estimation
Technique
Comparative
Strengths
Weaknesses


Estimate can be very accurate if a suitable
analogy can be identified.

Expert
Judgment



Estimate can be extremely accurate.
Identifies areas where requirements
clarification is needed.
Identifies requirements tradeoffs.



Proportional

Effective when estimated value really does
depend proportionally on another factor (e.g.,
software management, quality assurance,
configuration management).


Widget
Counting

Effective for systems that can be characterized
by widgets


Function
Point
Analysis





Feature
Point

Well suited for standard Management
Information System projects with little internal
processing complexity, especially those using
4GL, report writer, or CASE tool environments.
Project viewed from user, not developer,
perspective (e.g., user functions rather than
programs, files).
Estimates can be developed from knowledge of
requirements without a detailed design solution
being known.
Provides independence from hardware
platform, languages, developers’ skill at code
efficiency, business of organization.
Consistency encouraged through established
international standards for function point
counting.
Same strengths as Function Point Analysis,
with added benefit of accounting for algorithms
and internal processing complexity.







Estimating Technique Guide - Draft
11
Historical data repository
required.
Often difficult to find
comparable projects.
Must be verified by another
method.
High risk; may not be repeatable
by anyone other than the
“expert”.
Single data point.
Requires previous personal
experience or experience-based
guideline metrics for
proportionality factors.
Can magnify estimating errors
made in other areas.
Magnifies size errors if widget
effort estimates are incorrect.
Assumes effort to develop
system is proportional to number
of widgets, even though system
is not necessarily made up purely
of widgets.
Does not accurately estimate
systems that are largely
algorithmic such as military
systems, space systems, robotics,
and process control.
Does not have overall
acceptance within IT Services.
Can be complicated to
administer.
Requires formal training.
Does not yet have overall
acceptance.
Can be complicated to
administer.
Requires formal training.
2/5/2016
Estimating Technique Guide
Estimating Technique Comparison
The following diagram illustrates the recommended estimating techniques for the various ASPIRE project
phases, specialty areas, and management and coordination activities.
Mgmt and
Coord.
Specialty Areas
Project Phases
Feature
Point
Analysis
Function
Point
Analysis
Widget
Counting
Proportional
Expert
Judgement
Comparative
Estimating Techniques
Vision & Stategy, & ETP
Business Area Architecture
Development
Integration
Deployment
Development
Organizational Change
Technical Infrastructure
Facilities Infrastructue
Year 2000
Development Coordination
Project Management
Program Management
Optional/
Sanity Check
Recommended
Not
Recommended
Managing Multiple Estimates
The following techniques can be used to manage multiple estimates. This can occur when you have used
different techniques to estimate a project or component; you have various degrees of confidence, or when
you have multiple estimators.
Wideband Delphi Technique
When several estimators are estimating the same project or component, the Wideband Delphi technique is
useful to enforce convergence of the different estimates. The basic goal of this technique is to achieve a
more accurate and reliable composite estimate, thereby reducing the impact of individual biases,
misunderstandings, and incomplete knowledge. This technique consists of the following steps:
1.
The lead estimator presents the same specification to each expert.
2.
The lead estimator calls a group meeting in which the experts discuss estimation issues.
3.
The experts independently develop estimates and give them to the coordinator.
Estimating Technique Guide - Draft
12
2/5/2016
Estimating Technique Guide
4.
The lead estimator analyzes the estimates and distributes a summary containing the estimates with
their medians, but excluding rationale.
5.
The lead estimator calls a group meeting to discuss estimates, focusing on where estimates vary
widely.
6.
Experts review estimates, and steps 4–6 are repeated until a consensus is reached.
Weighted or Average Estimate
The technique uses the following formula to derive an average estimate. In general, this formula will result
in an estimate very close to the “realistic estimate”.
EV = (1{O} + 4{R} + 1{P}) / 6
where:
EV = Estimate Value
O = Optimistic Estimate
R = Realistic Estimate
P = Pessimistic Estimate
Note: The definition of optimistic, realistic, and pessimistic is up to the individual(s)
developing the estimate. Typically, your optimistic estimate will be your aggressive
estimate, your realistic estimate will be what you feel is the most likely estimate, and
your pessimistic estimate will be your conservative estimate.
Commercially Available Estimating Tools
There are a number of automated estimating tools available to support estimating efforts. In most of these
tools, an algorithm is applied to the basic measure of size to produce an estimate of effort (e.g., number of
required personnel resources). Although these tools have generally been calibrated using a wide range of
historical project data at other companies within the industry, they have not been calibrated against IT
Services projects so you need to apply some judgment when using these tools.
CHECKPOINT/KnowledgePLAN
Overview
CHECKPOINT, from Software Productivity Research Inc., is a knowledge-based software management
tool that can analyze, evaluate, and store data about your development projects. CHECKPOINT integrates
sizing, planning, scheduling, estimating, quality estimating, measurement, risk analysis, value analysis, and
technology assessment. It offers the capability to:
 Predict source code size.
 Estimate the cost of developing systems as well as the cost of developing specifications and user
documentation.
 Estimate projects using a knowledge-base of over 4,700 software projects.
 Measure all aspects of a software project at a user-defined level of granularity.
 Assess a wide range of software attributes against industry standards for cost, quality, schedules,
and productivity.
 Aggregate data across selected projects.
 Perform side-by-side comparisons of project versions, different projects, or a project against other
established benchmarks.
 Perform what-if analysis for a variety of variables including CASE tools, languages, skills, and
methodologies.
Estimating Technique Guide - Draft
13
2/5/2016
Estimating Technique Guide
Estimating Templates
There are a variety of estimating templates or spreadsheets being used throughout the organization to assist
with our project estimating efforts. Following is a high-level summary of the templates that the Estimating
and Metrics team have obtained, created, or modified. The actual spreadsheets have been attached as
separate files. Detailed instructions for using these spreadsheets are located in the appendix.
General Purpose Templates
Staff and Duration Estimating Template
This template provides a simple spreadsheet to compute the total hours and cost based on the anticipated
level of staffing and length of the project. The template allows you to define a project role, identify how
many individuals will fill this role (fractional values are valid), and specify the duration and hourly billing
rate for this role. The spreadsheet calculates the total hours and cost for each role, provides grand totals for
staff count, hours, and cost, and computes an average billing rate. The template also allows you to specify a
duration to hour conversion factor so that the total hours and cost are calculated on a per hour basis. For
example, if you are counting weeks in your duration, you can specify that there are 40 hours per week. The
estimating templates, contained in the file attachments, provide two staff and duration estimating templates.
One template allows for a single resource group, such as the project team; the other template allows for two
resource groups, such as IT Services and the client staff.
Travel Expenses Template
This template provides you with two options for estimating traveling expenses. The first option allows you
to estimate these expenses as an average for the entire team. The second option allows you to specify
estimated travel expenses on an individual by individual basis.
Requirements/BAA Proportional Estimate Projection Template
This template allows you to do a simple projection of the remainder of a project based on the actuals from
the Requirements/BAA phase. It is based on the assumption that a Requirements/BAA accounts for 7% to
10% of the total project effort. You simply enter the actual hours from the Requirements/BAA and the
spreadsheet projects the remaining project effort based on 7%, 8.5%, and 10% scenarios. You can modify
these factors or add additional scenarios. The template assumes a custom (ICD) development approach.
ASPIRE Phase Templates
Vision and Strategy
The Estimating and Metrics team currently does not have any templates specific to this ASPIRE phase.
The generic Staff and Duration template could be used for this type of an engagement.
Business Area Architecture
The Estimating and Metrics team currently does not have any templates specific to this ASPIRE phase.
The generic Staff and Duration template could be used for this type of an engagement.
Development
A number of estimating templates have been collected that support the Development phase of ASPIRE.
Please refer to the Development estimating templates for a complete list.
Integration
Specific estimating templates have not been developed for this phase. The various Development estimating
templates generally use a proportional estimating factor for this phase. The general Staff and Duration
estimating template can also be applied to this phase.
Estimating Technique Guide - Draft
14
2/5/2016
Estimating Technique Guide
Deployment
Specific estimating templates have not been developed for this phase. The various Development estimating
templates generally use a proportional estimating factor for this phase. The general Staff and Duration
estimating template can also be applied to this phase.
Specialty Area Templates
Development
Package-Based Development (PBD) Estimating Template
Two estimating templates are provided; one supports a single package-based application, the second
supports multiple applications. Each template allows you to identify the key activities and work products
for each of the package-based sub-phases. For each activity or work product, you can specify the number of
units, the estimated effort for each unit, the number of staff working on each activity or work product, and
any estimating assumptions or comments. The spreadsheet will compute the total estimated effort for each
activity and provide totals by sub-phase. These totals are linked to a summary worksheet that provides a
high-level overview of your estimates. You can also apply a proportional level of effort for the integration
and deployment phases. The project management and coordination phases can be estimated based on a staff
and duration template, included in the spreadsheet, or by using a proportional level of effort.
Matrix-Based Iterative Custom Development (ICD) Estimating Template
This estimating template allows you to build a bottom-up estimate based on the number of “widgets” being
developed. These widgets can include items such as menus, reports, windows, servers, interfaces,
conversions, and common objects. As you define each of these widgets, you can rate the complexity of
each on a scale from 1 to 10. The detail matrix worksheet references additional look-up tables that contain
the appropriate estimate based on the type of widget and its complexity. The spreadsheet accumulates totals
for each type of widget and links these totals to a summary worksheet to provide a high-level summary of
your estimates. You can also apply a proportional level of effort for the business system design, application
development completion, integration and deployment phases. The project management and coordination
phases can be estimated based on a staff and duration template, included in the spreadsheet, or by using a
proportional level of effort. Two estimating templates are provided; one supports a single iterative customdeveloped application, the second supports multiple applications.
Accelerated Application Development (XAD) Estimating Template
Two estimating templates are provided; one supports a single XAD application, the second supports
multiple applications. Each template allows you to identify the key activities and work products for each of
the XAD sub-phases. For each activity or work product, you can specify the number of units, the estimated
effort for each unit, the number of staff working on each activity or work product, and any estimating
assumptions or comments. The spreadsheet will compute the total estimated effort for each activity and
provide totals by sub-phase. These totals are linked to a summary worksheet that provides a high-level
overview of your estimates. You can also apply a proportional level of effort for the integration and
deployment phases. The project management and coordination phases can be estimated based on a staff and
duration template, included in the spreadsheet, or by using a proportional level of effort.
Organizational Change
Communication Event Estimating Template
This estimating template assists in estimating the effort to design and deliver communication events using
the calculations described in the Organizational Change estimating guidelines; these guidelines are provided
later in this document. Two estimating options are included in this template.
Estimating Technique Guide - Draft
15
2/5/2016
Estimating Technique Guide
Stakeholder Group Estimating Template
This estimating template assists in estimating the number of stakeholder groups based on either the project
team’s size or the overall size of the client. This template uses the calculations described in the
Organizational Change estimating guidelines; these guidelines are provided later in this document. To
estimate the number of stakeholder groups based on the project team size, simply enter the size of the
project team in full-time equivalents. To estimate the number of stakeholder groups based on the overall
client size, you need to select the appropriate client size and percentage of organizational impact from the
respective tables.
Technical Infrastructure
Specific estimating templates have not been developed for this specialty area.
Facilities Infrastructure
Specific estimating templates have not been developed for this specialty area except for Critical Computer
Resources.
Estimating Technique Guide - Draft
16
2/5/2016
Estimating Technique Guide
ASPIRE Methodology Comparison
The following diagram illustrates how the various estimating templates support the ASPIRE project phases,
specialty areas, and management and coordination activities.
Program
Management
Development
Coordination
Project
Management
Facilities
Infrastructure
Organizational
Change
Technical
Infrastructure
Process
Initiative
Deployment
Integration
Development
Business
Architecture
Vision and
Strategy
ASPIRE Phases, Specialty Areas, and Management and Coordination Activities
Staff and Duration
Estimating Templates:
Travel Expenses
Requirements/Proportional
Package Based Dev
Iterative Custom Dev
Accelerated Application Dev
Ballpark Estimating
Proportional Percentage
... TBD ...
Optional /
Sanity Check
Recommended
Not Recommended
Estimating Guidelines
Project-Wide Guidelines
The following estimating guidelines can be applied across all phases of a project. Refer to the Estimating
Process Guide for additional guidelines.
 Use at least two, and preferably three, estimating approaches or techniques when estimating your
project. Using multiple approaches will help ensure a higher level of confidence in the final
estimates. Your estimate should include at least one top-down and one bottom-up approach.
 On larger scale estimating efforts, you will often need to make assumptions to “fill the gaps” in the
information needed to create the estimate. Be sure to document any assumptions, constraints, or
risks that you identify during this process in the Estimating Notebook. These items must also be
incorporated into the project’s Statement of Work.
 To estimate effectively, you need to understand the scope, requirements, and the approach. These
should be documented in your Statement of Work. You will also need to identify any of the
surrounding activities or components. For example, if you are trying to estimate an Enterprise
Transformation Plan, you should take into account the effort to produce the final deliverables as
well as the workshops, interviews, travel, project management time, and delivery assurance.
(Note: In most cases you will be developing the Statement of Work at the same time
you are developing your estimates. There will be cases where your estimating
process requires that you update your Statement of Work and visa-versa.
Although these are often done concurrently, an initial draft of your Statement of
Work, especially the scope and approach sections, will be a valuable source of
input for your estimating process.)
Estimating Technique Guide - Draft
17
2/5/2016
Estimating Technique Guide
 Breakdown the project deliverables and work products into more manageable pieces by creating a
work breakdown structure (WBS) that contains all of the components of the proposed solution.
 Base your estimates on some quantifiable unit of measure. Examples include the number of
workshops being conducted, number of windows being developed, number of packages being
evaluated, and the number of staff over some fixed duration of time. Document these quantifiable
units of measure in the Statement of Work and Estimating Notebook.
 Include the effort for conducting architecture, business function, design, and development reviews
in your estimates. One rule of thumb is to allow for 4 FTEs for 5 days every quarter.
 When appropriate, evaluate and approve estimates from sub-contractors.
 Try to separate the “pricing” from the “estimate”. All too often we try to develop an estimate with
a maximum price tag in mind and we let the “price” drive the “estimate”.
 Use the following guidelines when estimating for project expectations and reviews:

For each project expectation: ½ hour to write, and ½ hour for both individuals (manager
and project team member) to review and discuss.

For each project evaluation: 1 hour to write and 1 hour for both individuals to review and
discuss.

Allow for 1 project evaluation for each team member every four months.
Estimating Technique Guide - Draft
18
2/5/2016
Estimating Technique Guide
ASPIRE Phase Guidelines
Vision and Strategy (ETP)
General Information
Several interviews with project teams indicate that the "soft deliverables" associated with an ETP allow a
fair amount of flexibility in the duration of the study. Client expectations must be carefully managed as to
the level of detail that will be provided as a result of the study. If expectations are not properly managed,
significant cost overruns and loss of credibility are likely, even for a relatively small project such as an
ETP. Another critical success factor is the staffing. A good client relationship person is key, as well as one
or two solid Business Analysts and a good Technical Architect who can take a pragmatic approach and
make fact-based recommendations.
Estimating Techniques, Tools, and Templates
Recommended estimating techniques include comparative and expert judgment. You can also use a
proportional or widget counting technique to get an alternative estimate. None of the estimating tools that
we have used address this phase of a project. The only estimating template that we currently have available
for an ETP is the general staff and duration estimating template.
Estimating Rules of Thumb
(Note: The following estimating rules of thumb have been collected from a variety of sources including an
Estimating Workshop that was conducted in April, 1996, prior experiences, and from our various field
visits. Not all of these have been confirmed or validated.)
Following are some rules of thumb that have been used on prior projects.

It takes four people approximately six weeks to complete an ETP study.

Plan on one to two days per page for preparing the final documentation.

The total cost for an ETP seems to be in the $50,000 to $350,000 range. Assuming a $200/hr
billing rate this would translate to 250 to 1,750 hours.
Cautions
Following is a list of potential “gotchas” that could impact your ETP estimates. Review these and adjust
your estimates, assumptions, or risk factors accordingly.

At the outset of the project, client expectations must be carefully managed as to the level of detail
that will be provided as a result of the study. If expectations are not properly managed, significant
cost overruns and loss of credibility are likely, even for a relatively small project such as an ETP.

The primary deliverable is a prioritized listing of future steps to achieve the Vision set by the
study. The time to develop this plan is often underestimated. The answer usually does not "fall
out" from the work done during the study.

Manage client expectations on the length of the document to be presented and the depth to which it
will extend. Will we estimate IT Services involvement or leave the numbers "generic"? Will
dollars be associated with the estimates? Will the estimates be considered "IT Service’s bid" for
the work?

In the likely event that the plans for the future studies become budgeted numbers for the client, we
must realize that IT Services will need to be prepared to do the work for those estimates. A plan
that we cannot live with surely is one the client cannot live with.
Estimating Technique Guide - Draft
19
2/5/2016
Estimating Technique Guide
Business Area Architecture (Requirements/BAA)
General Information
The following questions can assist you in sizing the Requirements/BAA effort, especially if you are going to
use a bottom-up estimating approach.

How many user representatives will be involved with the Requirements/BAA effort? How many
representatives will be providing requirements?

How many interviews will you conduct? Include interviews at the executive level as well as firstlevel management.

How many departments or locations will be involved?

What is the client’s overall organizational structure? For example is the client’s organization
largely regulatory, multinational, multidivisional, centralized, or decentralized?

What is the scope baseline as defined by each of the six domains of change?

What deliverables is the client expecting to be delivered? What is the expected level of detail for
these deliverables?

How many process threads will you be addressing? Is the client looking for a business process
redesign or a business process improvement?

How many conceptual data entities are expected to be involved?

How many workshops are you expecting to conduct? How many individuals will be attending
these workshops? What are the time box assumptions for each workshop?

How many best practice interviews are you expecting to conduct?

How many legacy systems are involved?

Will customer, supplier, or competitor surveys be conducted? And if so, how many customers,
suppliers, or competitors will be targeted?

Do we have already identified an industry or business best practice for this type of client?

Will there be a final presentation?

Who will do the final sign-off; I/S or the business users? How many individuals will be reviewing
or approving deliverables?

Will you need to create a business case for action?

Will the client be using a value discipline? Has this already been established?

How many alternative architectures is the client expecting?
Estimating Techniques, Tools, and Templates
Recommended estimating techniques include comparative and expert judgment. You can also use a
proportional or widget counting technique to get an alternative estimate. Possible estimating tools include
Ballpark, QSM Slim, and Proportional Percentage. The only estimating template we currently have
available for a Requirements//BAA is the general staff and duration estimating template.
Estimating Rules of Thumb
(Note: The following estimating rules of thumb have been collected from a variety of sources including an
Estimating Workshop that was conducted in April, 1996, prior experiences, and from our various field
visits. Not all of these have been confirmed or validated.)
Following are some rules of thumb that have been used on prior projects. Since the scope and depth of the
final deliverable for a Requirements/BAA can vary significantly from project to project; you will need to
adjust your estimates based your specific project.
Estimating Technique Guide - Draft
20
2/5/2016
Estimating Technique Guide
The following staff size/ project duration have been used on prior Requirements/BAA efforts:
 Six people for five months
 Four people for two months (Decision Support System; focused on data not processes)
 Six people for three and a half months. The Requirements/BAA was for a small division and
included all the processes for this division.
 Three people for three months.
Data modeling metrics:
 Four hours per entity using workshops. These hours are for the data modeler only. Workshops
seemed to be the most efficient method.
Cautions
Following is a list of potential “gotchas” that could impact your Requirements/BAA estimates. Review
these and adjust your estimates, assumptions, or risk factors accordingly.
 The Requirements/BAA effort generally involves intense senior business level participation. Your
estimate and schedule should reflect this effort.
 The overall client culture could increase the time and effort to resolve issues.
 During the Requirements/BAA phase, there tends to be more committee decision making versus
individual decision making. This will increase time frames.
 When possible, resist the need for producing downstream estimates for BSD and Development
until the Requirements/BAA has been completed, or nearly completed. Accurate estimates are
very difficult to produce during the early phases of a project.
 Changes in scope during the Requirements/BAA will impact later phases of the project. Following
are some general metrics regarding the impacts on subsequent project phases. When applicable, be
sure to include the potential estimate adjustment for later phases as well. This will help the client
in understanding the full impact of the change request; reducing the potential “sticker shock” of
subsequent phases.
Req /BAA:
Scope changes are generally 1 to 1.
BSD:
Changes in the Requirements/BAA could result in changes 2 to 3
times as much during the BSD phase.
ADP:
Changes in the Requirements/BAA could result in changes that are
4 to 5 times as much during program construction.
INT:
Changes in the Requirements/BAA could result in changes that are
up to 10 times as much during integration testing.
Note: If you have already provided estimates for subsequent phases, knowing
the estimating drivers that were used for these later phases will also help you
to identify the overall impact of the scope changes.
Development
Refer to the Development estimating guidelines for each of the specific Development paths.
Integration
Specific estimating guidelines have not been developed for this phase at this time. During our field support
visits, we generally used a proportional factor for this phase. Other estimating options include using a staff
and duration model or basing the estimates on the number of test scenarios that need to be executed.
Estimating Technique Guide - Draft
21
2/5/2016
Estimating Technique Guide
Deployment
Specific estimating guidelines have not been developed for this phase at this time. During our field support
visits, we generally used a proportional factor for this phase. Other estimating options include using a staff
and duration model or basing the estimates on the number of deployment sites.
Specialty Areas
Development
Package Based Development (PBD)
General Information
The following estimating guidelines apply to the entire PBD specialty area. More specific estimating
guidelines have also been included for the Package Evaluation and Selection (PES) sub-phase. The
following questions can help you to size your overall PBD effort.
 Have a clear definition of an enhancement, a configuration, and a modification. An enhancement
involves making a fix using the tools provided by the vendor. A configuration involves setting a
software parameter as intended. A modification is a change to the core software code. As a
general rule, Do Not Make Modifications!
 Does the package include any modules that are provided by ancillary vendors?
 Will the project include a Requirements/BAA? What is the extent will the business processes
change; is the client expecting a process improvement or a reengineering of its business processes?
 Is a Technical Infrastructure included?
 Will the project include PSD through implementation? Does the project scope include any
production support? Any Training?
 What is the messaging infrastructure (mainframe component)?
 Does the project scope include data mapping?
 Does the project scope include Organizational change for IS or the business community?
 Does the project scope include a gap analysis? What percentage of change is the client expecting?
 Will the project team have direct or intermediary contact with the users and decision makers?
 How involved will the user community be?
 Will IT Services have overall project control or will we be shadow-managing?
 Does the project scope include a pilot? Does it include a roll-out?
 What other tools (IT or project management) will be required for this project?
 How much experience does the client have with the proposed platform? How sophisticated is the
client with this platform? Additional support, policies, and procedures may be required.
 How will the application or data be distributed across locations? Will the application or data be
distributed over time?
 Who (IT Services or client) will be responsible for managing the software vendor?
Estimating Techniques, Tools, and Templates
Estimating techniques that apply to a PBD effort include comparative, expert judgment, and widget
counting. All of the estimating tools discussed in the prior section provide some level of support for a
package-based development approach. CA-Estimacs contains a packaged-based lifecycle model; however,
we have had minimal success with using CA-Estimacs to estimate this type of a project. Checkpoint applies
mainly to any proposed enhancements and is not recommended for a package-based development effort.
We have developed a package-based estimating template that can support a single or multiple applications.
Estimating Technique Guide - Draft
22
2/5/2016
Estimating Technique Guide
Estimating Rules of Thumb
(Note: The following estimating rules of thumb have been collected from a variety of sources including an
Estimating Workshop that was conducted in April, 1996, prior experiences, and from our various field
visits. Not all of these have been confirmed or validated.)
Following are some suggested rules of thumb that you can use when deriving your estimate. You will need
to adjust your estimates based on your specific project.
SAP Implementation:
 A general rule of thumb is $1 million for an SAP implementation.
 A SAP R3 implementation can be 10 times or more higher than the retail software price.
 Although the minimum timeframe for an SAP implementation can be a short as 6 months; 12 - 18
months is a more realistic minimum timeframe. An SAP implementation is often 2 times longer
than an Oracle implementation.
Oracle Implementation:
 A typical Oracle implementation costs approximately $10 million.
 An Oracle 2 implementation can be 3 times or more higher than the retail software price.
 Although the minimum timeframe for an Oracle implementation can be as short as 6 - 8 months,
the average minimum timeframe for a generic implementation is 9 - 12 months.
Cautions
Following is a list of potential “gotchas” that could impact your PBD estimates. Review these and adjust
your estimates, assumptions, or risk factors accordingly.
General:
 We typically under-estimate the development, conversion, and interface efforts.
 Clients often fail to provide full-time business resources.
 Best of breed solutions often require multiple vendors.
 Multiple database and application software vendors add to the overall risk and complexity.
 We often underestimate vendor and subcontractor efforts.
 Earlier software versions are generally prone to bugs and poor software performance.
 For SAP, Oracle, and PowerSoft: Inflate server requirements 4 times the vendor statements.
 Software vendors are generally unwilling to modify their software.
SAP:
 SAP does not have a distributed data architecture; however, you can usually distribute module
specific information.
Oracle:
 Oracle may not be considered true client server; if it does not have a distributed data architecture.
 EDI capabilities are non-existent within the Oracle suite of applications.
 A minimum client PC requirement is a Pentium processor with 24 meg of memory, and a 1.2 gig
hard drive.
Estimating Technique Guide - Draft
23
2/5/2016
Estimating Technique Guide
Package Evaluation and Selection (PES) Sub-Phase
General Information
Understanding the scope of the PES is a critical factor when deriving your estimate. Following is a list of
scope questions that should be considered. These items should be addressed in the project’s Statement of
Work.
 Has a vision and strategy (ETP) been conducted? If so, to what extent? If not, will part of the
PES need to address the vision and strategy?
 Does PES also include the relevant activities of the Requirements/BAA or is this being estimated
separately?
 Will the PES selection process result in vendor’s submitting a response to either a Request For
Proposal (RFP) or a Request For Solution (RFS)? An RFS will involve more effort.
 Is contract negotiation part of the project scope?
 Does the project scope include the Technical Infrastructure Acquisition (TIA)? If so, you may
need to estimate all of the related equipment costs.
 Will IT Services be managing the project or only assisting the client in managing this effort?
 What will be the client’s involvement in the PES? What is the client’s experience level with PES?
 What is the scope of the end package; for example, will it be used solely for AR or will it also be
used for order management?
 Is the client looking for an integrated packaged solution or is the client looking for a best of breed
solution?
 What are the client’s budget thresholds?
 What are the business drivers behind this initiative?
 How many packages are you planning on evaluating? What is your evaluation approach for the
top packages?
 What is the client’s timeframe for choosing and installing the packaged solution?
 What is the acceptance process? What is the acceptance criteria? These should be identified in
the project’s Statement of Work.
 Does the client have a current or prior relationship with potential vendors? Are there any political
issues that you need to be aware of?
 How many functions or process threads is the new package going to address? How does this
compare to the current system?
 Does the client have a list of requirements?
 Are there any unique functions specific to the client’s industry or the client’s company? Is the
client considering being an industry center of excellence?
 How many interfaces are you anticipating? Are there multiple systems or platforms?
 Will the packaged solution be an enterprise-wide solution?
 What is the client’s guiding principle towards business process change; are they willing to change
their business process for the package or visa versa.
 What is the I/S strategy for or their view towards the package or the package’s architecture? Is the
package’s architecture in alignment with current I/S strategy? Will it be accepted by the I/S
organization?
 Have the equipment, platform, or technical requirements been identified?
Estimating Technique Guide - Draft
24
2/5/2016
Estimating Technique Guide
Estimating Techniques, Tools, and Templates
The same techniques, tools, and templates identified for a package-based development effort also apply to
the PES sub-phase.
Estimating Rules of Thumb
(Note: The following estimating rules of thumb have been collected from a variety of sources including an
Estimating Workshop that was conducted in April, 1996, prior experiences, and from our various field
visits. Not all of these have been confirmed or validated.)
Following are some rules of thumb that you can use when deriving your estimate. You will need to adjust
your estimates based on your specific project.
 The minimum cost for a PES is $100K. The minimum duration of 3 months elapsed time is
needed to accommodate scheduling issues.
 A PES project should be staffed with one person per functional area such as financial, distribution,
manufacturing, technical, and project management. The staff should be experienced.
 Each major module will cost $25k or higher. A major module is defined as a major functional
subsystem. For example, ERP/ MRPII has 15 major modules: General Ledger, Accounts Payable,
Accounts Receivable, Order Entry, Purchasing, Inventory, Payroll, Human Resources, Bill of
Material, Shop Floor Control, WIP, Master Scheduling, MRP, MPS, and Standard Costing.
 When estimating the selection process, allow for 20 days or more for each major module. This
time does not include the SDL.
Cautions
Following is a list of potential “gotchas” that could impact your PES estimates. Review these and adjust
your estimates, assumptions, or risk factors accordingly.
 Interfaces with other systems or packages.
 Confusion or misinterpretation of the client’s definition of specified business processes. You
should try to compare their definition with an APICS reference, AICPA, Hackett Group, or HRSP.
 Multi-lingual, multinational, and multicultural capabilities or requirements.
 When selecting the final package, avoid a weighted point system as the ultimate decision maker.
 Ensure that there is a real business value.
 Be sure to validate a vendor’s integrity through references.
 Level of organizational change required versus planned.
 Client’s expectations of IT Services developing a vendor short list.
 Consider the vendor’s location, accessibility, and logistics for distributing and receiving RFP or
RFS responses.
 Vendor meetings with the client.
Estimating Technique Guide - Draft
25
2/5/2016
Estimating Technique Guide
Iterative Custom Development (ICD)
General Information
Estimating Techniques, Tools, and Templates
All of the estimating techniques and tools discussed in prior sections provide some level of support for an
iterative custom development effort. The matrix based ICD estimating template is also an effective tool for
this type of project.
Estimating Rules of Thumb
(Note: The following estimating rules of thumb have been collected from a variety of sources including an
Estimating Workshop that was conducted in April, 1996, prior experiences, and from our various field
visits. Not all of these have been confirmed or validated.)
Following are some rules of thumb that you can use when deriving your ICD estimate. You should adjust
your estimates based on your specific project.
 Following are some general metrics for additional “support” staff. These individuals are in
addition to a full-time project manager, system architect, DBA, application architect, and test
coordinator.
Team Leaders: When a team lead is monitoring 3 or less developers; 50% of this individual’s time
can be allocated for team leader activities and the other 50% to development activities. If the
team leader is monitoring up to 6 developers, then 100% of the individual’s time needs to be
allocated to team leader activities. Note: If you are using Widget Counting to estimate the
development effort, the team leader activities are additional hours.
Additional Managers: Consider adding one additional FTE for every 15 -16 team members.
Technical Support: Consider adding one additional FTE for every 3 - 4 boxes, servers, networks,
or databases.
 Following are some general metrics for interfaces. These hours include technical design,
programming, and unit testing of one program:
Simple (Extract and Post):
80 hours
Medium:
160 hours
Complex (multiple
systems or conversions):
240 hours
 Following are some general PowerBuilder/ PowerTools metrics. These hours are for coding and
unit testing 2-tier applications; you will need to adjust these for more complex 3-tier applications.
These estimates are based on an existing, approved prototype. For estimates in excess of 88
hours, try to breakdown into simpler tasks in order to accurately estimate the progress of this task.
Simple:
24 - 32 hours
Medium:
40 - 48 hours
Complex:
80 - 88+ hours
Note:
Simple Window: Contains 1-2 simple objects such as a drop down data
window or single line edits. There can be a simple query done in this
window that does a select from a single table. Many of the data
maintenance windows fall into this category.
Estimating Technique Guide - Draft
26
2/5/2016
Estimating Technique Guide
Medium Window: Contains several simple data objects or 1-2 complex
data windows that have SQL selects with multiple table joins, simple
updates or deletes from the database.
Complex Window: Contains 3 - 6 data windows with multiple objects on
the window. Complex data queries, updates, inserts and deletes across
multiple data tables. Performance considerations are critical in this
window and extra effort should be taken to make sure that this window is
as efficient as possible.
 Following are some general ANSI “C” coding and unit testing metrics. Note: The hour estimates
for the complex functions are in excess of 80 hours. If these are greater than 120 hours, you need
to break these down into simpler tasks, such as sub-functions within the main business process.
Simple:
40 hours
Medium:
80 hours
Complex:
80 - 120+ hours
Note:
Simple Function: Does not contain a lot of complex computation or data manipulation .
There can be a simple query done in this function that does a select from a single table.
Medium Function: A more complex function that has data manipulation,
multiple table (2-4) joins in the SQL, and has cursor management within
the function.
Complex Function: Contains data manipulation, multiple table (4 or more)
joins in the SQL, and has multiple cursor management within the function,
dynamic memory allocation for structures in support of complex data
manipulation. A complex C function can also contain complex queries,
inserts, updates and deletes from the database.
 Following are some general metrics for stored procedures. Note: These estimates were based on
Oracle stored procedures. The project team’s System Architect needs to be familiar with the
stored procedure functionality and know when is it beneficial to use a stored procedure versus a C
function or visa versa. These hours are for design, code, and unit testing.
Simple:
10 hours
Medium:
20 hours
Complex:
40+ hours
Note:
Simple Procedure: Contains a single simple query. Does not contain any logic.
Medium Procedure: Contains 1-2 transactions, simple logic within the
stored procedure, simple cursor manipulation, simple exception handling.
Complex Procedure: Contains complex program logic, complex data
manipulation, multiple table (4 or more) joins in the logic, and has multiple
cursor management with in the stored procedure. This stored procedure
can have multiple transactions processing within the procedure, complex
queries, inserts, updates and deletes from the database, and complex
exception handling.
Estimating Technique Guide - Draft
27
2/5/2016
Estimating Technique Guide
 Following are some general metrics for creating a database. Note: Estimates are based on creating
a physical build with a first cut at optimization, average database size, single database and location
with primary indices. Estimates do not include performance turning. The average is
approximately 3 hours per table.
Simple (less than 25 tables):
80 hours
Medium (less than 70 tables):
160 hours
Complex (greater than 70 tables):
240 hours
 The following metrics can be used to determine the effort for creating a logical data model:
Four attributes per hour
Five relationships per hour
One entity per hour

Following are some general conversion metrics. These estimates include the design, code, and
unit testing for each conversion program. The actual conversion effort is not included.
Simple:
120 hours
Simple-Medium:
160 hours
Medium:
200 hours
Medium-Complex:
280 hours
Complex:
400 hours
Note:
Simple Conversion: A simple extract and post program. Expect that less than 10% of the
conversion programs to be classified in this category.
Simple-Medium Conversion: Expect approximately 10% of the conversion programs to
be classified in the category.
Medium Conversion: Expect to have approximately 10 - 20% of the conversion programs
to be classified in this category.
Medium-Complex Conversion: Expect to have approximately 20 - 50% of the conversion
programs to be classified in this category.
Complex Conversion: Expect to have over 50% of the conversion programs to be
classified in this category.
 Following are some guidelines for developing Oracle Forms. These following estimates are for
Forms 4.0 and they assume that the form has been generated through Designer/2000. (If the form
was created manually, and additional 12 to 20 hours should be added to the estimates depending
on the number of blocks, fields, canvases, and list values contained in the window.)
Simple:
24 hours
Medium:
40 hours
Complex:
64 hours
Very Complex:
104 hours
Note: It is not certain whether these estimates only include just the development of these
forms or whether these estimates include development and unit testing.
Estimating Technique Guide - Draft
28
2/5/2016
Estimating Technique Guide
Simple: A simple form is one that contains only one block and requires few edits or
validations.
Medium: A medium form is one that contains two or three blocks and a moderate amount
of additional processing logic.
Complex: A complex form is one that contains two or more blocks and requires a
substantial amount of additional processing logic.
Very Complex: A very complex form is similar to a complex form, except that the
additional processing logic itself is complex.
 Following are some guidelines for developing Oracle Reports.
Simple:
8 hours
Medium:
16 hours
Complex:
32 hours
Very Complex:
48 hours
Note: It is not certain whether these estimates only include just the development of these
reports or whether these estimates include development and unit testing.
Simple: A simple report is one that contains only one query and requires little formatting.
Medium: A medium report is one that contains two or three queries and a moderate
amount of formatting.
Complex: A complex report is one that contains two or more queries and requires a
substantial amount of formatting.
Very Complex: A very complex report is one that contains two or more queries and
requires a significant amount of formatting.
 Following are some guidelines for developing Oracle Zooms. The following estimates cover any
custom zooms written to allow users to jump from one application form to another with the
possibility of performing some processing once the user arrives at the new application form. (This
is similar in concept to a “hot key”.)
Note: Zooms are commonly used with Oracle’s character-based version. They are not commonly used
(might not be supported) in their GUI version.
Simple:
16 hours
Medium:
32 hours
Complex:
56 hours
Very Complex:
80+ hours
Note: It is not certain whether these estimates only include just the development of these
zooms or whether these estimates include development and unit testing.
Simple: A simple zoom is one that only has one zoom event and few zoom steps and has
little or no effect on the zoom-to location.
Medium: A medium zoom is one that may have only one zoom event but several soom
steps or have some effect on the zoom-to location.
Complex: A complex zoom is one that has several zoom events each with several zoom
steps that perform some function in the zoom-to location. (For example, copy data from
source to destination, execute an automatic query at the destination, or update data either
the source or destination location.)
Estimating Technique Guide - Draft
29
2/5/2016
Estimating Technique Guide
Very Complex: A very complex zoom is one where significant actions take place at both
the source and destination locations using combinations of queries and triggers in multiple
steps in each event.
 Following are some guidelines for developing Oracle Alerts.
Simple:
8 hours
Medium:
16 hours
Complex:
32 hours
Very Complex:
48 hours
Note: It is not certain whether these estimates only include just the development of these
alerts or whether these estimates include development and unit testing.
Simple: A simple alert is one that incorporates simple SQL code to respond to well
defined events or to perform very routine actions such as cleaning obsolete data out of a
table. report is one that contains only one query and requires little formatting.
Medium: A medium alert is one that incorporates more detailed actions in response to
events and contain more complex SQL.
Complex: A complex alert is one that might require several elegantly formatted detailed
and summary actions in response to an event.
Very Complex: A very complex alert is one that requires interaction with the operating
system in conjunction with detailed actions.
 Estimate 40 hours of effort to develop one hour for hands-on (classroom-type) training with labs.
 Estimate 8 hours of effort to develop one page (8.5 x 11) of user documentation.
 Following are some generic custom development metrics. There numbers were based on a small
sampling of projects and should be adjusted based on the knowledge of the specific project
environment. The metrics assume that the development is client/ server using C++ or Visual
Basic. They do not account for 4GL tools, prototyping, database activities, performance
engineering, team leadership, or other support activities. The total hours cover design, code, unit
test, and limited application/ integration testing.
Simple
Medium
Complex
Design
10
17
34
Code
24
40
80
Test
4
8
16
38
65
130
Total:
Note:
These numbers seem to be on the low side when compared to other metrics provided
above. Also it is uncertain at this time whether unit testing is covered in the “coding” or
“testing” phase.

For completing a program, the following percentages can be used to break-down an estimate:
Review Specification:
5%
Code Program:
15%
Compile Program:
15%
Estimating Technique Guide - Draft
30
2/5/2016
Estimating Technique Guide

Code Review:
5%
Create Test Plan:
15%
Review Test Plan:
5%
Unit Test Program:
35%
Obtain Program Sign-off:
5%
Following is a proportional percentage by project phase:
Requirements
/BAA:
10%
BSD:
20%
Construction:
40%
Testing/ Pilot:
30%
Notes:
 Construction includes unit testing.
 Testing and Pilot includes:

String and Integration Testing:

User Acceptance Testing:
40% of effort
40% of effort
 Performance Testing:
20% of effort
As a reasonable sanity check for these phases, calculate the effort based on the anticipated staff count
and duration. (Calculate each phase separately.)
Cautions
Following is a list of potential “gotchas” that could impact your ICD estimates. Review these and adjust
your estimates, assumptions, or risk factors accordingly.
 Being forced to estimate the entire project up-front. Try to avoid estimating forward from the
Requirements/BAA, especially if the Requirements/BAA has not been completed.
 3-Tier environments add an additional layer of complexity. Adjust your estimates accordingly.
 The DBA staff being expected to build all stored procedures. Instead, allow the Application staff
to build the procedures and have the DBA staff review them.
 It is essential to have a frozen architecture before you begin development.
 Failure to include time for all levels of testing; especially system and performance testing.
 Failure to distinguish between the various components of the application architecture: e.g.
PowerBuilder, C, and stored procedures.
 Be sure to anticipate an lower level of utilization for client staff. Try to place these resources on
non-critical paths.
 Remember to make allowances for computer operations. You will need them for critical items
such as network support, backups, and DASD management.
 Allocate time for project manager, system architect (technical analyst), application architect
(business analyst), test coordinator, and DBA roles. These individuals should be allocated for the
entire ICD phase. Note: you can never bring in the test coordinator too soon. This individual will
need time to understand the project-specific business requirements.
 System complexity can have a huge multiplier effect on your estimates.
Estimating Technique Guide - Draft
31
2/5/2016
Estimating Technique Guide
 It is essential for the development staff to understand what “done” means before program
development begins. One definition of done: A developer is done with a module when all coding
has been completed, the code has been desk checked, the unit test plan has been completed and
executed, all software documentation has been completed, and peer (or management) reviews of
the code, test plan and results, and software documentation have been completed.
 Include time to account for miscellaneous development problem solving. These are generally
unanticipated problems. Consider conducting regular meetings with key staff to look forward for
unplanned tasks and potential workarounds.
 We occasionally forget to account for fixed support staff (architects, project managers, team
leaders) when we adjust end dates due to schedule slips.
 Avoid being too aggressive with complexity ratings. We generally rate programs as easy when
they really have a medium complexity.
 The time required to select a vendor, purchase hardware or software components, or implement
hardware or software components can impact the project schedule. Try to allow for these potential
schedule delays.
 A mix of application languages will impact the level of effort. Adjust your estimates accordingly.
 We typically under-estimate the number of interfaces, interface testing, legacy system
modifications, and legacy system testing.
 We typically under-estimate conversions and the effort to cleanse the data. You may want to
consider timeboxing manual data conversions. Data quality will be low and you could expect to
have to cleanse 75% of the data.
 We typically under-estimate or forget to estimate the effort needed to create a physical data design
and to physically place the data on the server.
 Be sure to identify and inventory interfaces and conversion programs.
 We should determine if legacy system retirement is within the scope of the project. New systems
rarely map directly to the systems that they are replacing. The effort to completely retire a legacy
system is much more than just developing a new one.
 Performance Testing:
 We typically under-estimate or forget to estimate stress and performance testing efforts.
 We also need to differentiate between benchmarking and performance testing.
 Need to have target performance levels from the client. The performance levels should focus
on business functionality not screen or program response.
 Need to estimate the effort for selecting , purchasing, and training in the use of performance
tools.
 Need to estimate the performance testing architecture and infrastructure.
 Hint: Simulate an realistic system loading during user acceptance testing. This will slow down
performance during early user acceptance testing so the client does not develop unrealistic
expectations for the system’s final response time.
 Conduct pre-development walkthroughs to identify potential performance problems before the
application is built.
Estimating Technique Guide - Draft
32
2/5/2016
Estimating Technique Guide
Accelerated Application Development (X/AD)
General Information
The following guidelines are based on two X/AD client/server projects; they provide a high-level structure
for composing a project plan. Both of these projects were 1 year in duration. The technology employed on
these projects was PowerBuilder for the GUI development, C for the server development, a UNIX database
server, and a 2-teir client/server design.
Estimating Techniques, Tools, and Templates
Estimating techniques that apply to an XAD effort include comparative, expert judgment, and widget
counting. We have not tried to use any of the estimating tools, discussed in the prior section, for estimating
an XAD engagement. We have developed two XAD estimating templates, one that supports a single
application and one that supports multiple applications.
Estimating Rules of Thumb
BSD Estimating Guidelines:
The goal of the BSD phase was to develop a proof of concept prototype of the application, design the
business processes, define the logical database design, and to design the architecture of the application.
The BSD was completed in 12 weeks. The phase was broken down as follows:
 Six weeks for business process design, prototype development, and data design.
 Six weeks for application architecture design, common object definition, database creation,
development environment setup, and development estimating.
The BSD phase was staffed with a Project Manager, Systems Architect, Team Leads, Data Modeler,
and a DBA.
Estimating Technique Guide - Draft
33
2/5/2016
Estimating Technique Guide
Timebox Estimating Guidelines:
The duration of each timebox was 5-6 weeks; four weeks for development and 1-2 weeks for testing
and delivery to the users for acceptance testing. While the development for a timebox was underway,
the users were completing acceptance testing for the previous timebox.
The project team consisted of one or more team leads, each with 3-4 developers. A team lead is NOT
responsible for any development. Their time is consumed by managing the developers, planning the
next timebox, and assisting the users in acceptance testing. A project should assign as many
development teams (1 team lead with 3-4 developers) as the project needs. There was also a full-time
DBA, part-time logical data modeler, full-time project manager, full-time systems architect, and fulltime test coordinator.
During the application architecture design in BSD, the number of timeboxes for applications
development was defined. The application estimates were prepared using ICD estimating guidelines.
Common objects and application frameworks were developed in the first timebox. Subsequent
timeboxes contained the development work in a logical sequence based on the work to be done. Each
timebox contained a mixture of simple and complex tasks based on the level of experience of the staff.
Note: No developer should have a task that lasts more than two weeks.
After the timeboxes for new development were defined, one additional timebox was added to the
schedule. This timebox was used to complete user change requests, bug fixes, enhancements, and any
schedule overruns.
Integration Testing Estimating Guidelines:
After completing all of the timeboxes, an integration testing phase was completed. This phase was
used for performance tuning, final user acceptance, data conversion, user training, and business site
preparation. (Note: If four or fewer timeboxes were used, the integration testing phase should be
equal to two timeboxes (10-12 weeks). If more than four timeboxes were used, this phase should be
equal to three timeboxes (15-18 weeks.)
The project staff consisted of:
Project Manager
System Architect
All the team leads
Half of the development staff
DBA
Success Factors

It is critical to have a test coordinator on staff as soon as possible so that he or she understands the
business rules of the application. The user test plans should be business rule based, so that you are
testing the application from the end user’s perspective and not the developer’s perspective.

Having a prototype to show the user community the proof of concept and then get sign-off on the
prototype, helps to better estimate the size of the project.

The users are completing acceptance testing concurrent with development. They are testing the
deliverable from the previous timebox.

Having the data model defined ahead of development helped out greatly. This is not to say there
won’t be any changes to the data model along the way, but it avoids slowing down development
while the data model is created.
Estimating Technique Guide - Draft
34
2/5/2016
Estimating Technique Guide

It is critical to have a System Architect during the design phases and then guide the development
team to make sure the entire application works together. This person should review all developed
software for consistency, adherence to standards, and usability. The System Architect should be
on the project until the system is deployed.
Cautions
None have been identified.
Estimating Technique Guide - Draft
35
2/5/2016
Estimating Technique Guide
Organizational Change
General Information
The following estimating guidelines were collected during one of our field visits. You will need to adjust
these to fit your specific project environment.
Estimating Techniques, Tools, and Templates
The current estimating techniques being used for estimating organizational change include comparative,
expert judgment, proportional, and widget counting. None of the estimating tools, discussed in the prior
section, appear to address organizational change activities. We have developed two estimating templates.
One that can help estimate the effort to design and deliver communication events, and a second that can be
used to estimate the number of stakeholder groups.
Estimating Rules of Thumb
(Note: The following estimating rules of thumb have been collected from a variety of sources including an
Estimating Workshop that was conducted in April, 1996, prior experiences, and from our various field
visits. Not all of these have been confirmed or validated.)
The following guidelines are intended to provide a high-level idea of the amount of time required. You will
need to adjust these estimates based on your project and team-related experience.
Organizational Change as an overall level of effort:

One person, 50% of time, for the duration of the project. Expect the Subject Matter Expert to
spend most of his or her time during the phase transitions (beginning and end of each phase.)

A minimum of 5% of the overall effort to a maximum of 40% of selected project phases. For
a systems integration project, use a proportional estimate of 10% - 15% of the overall effort.
Communication Plans:
The following formula can be used to estimate the effort to design and deliver communication events.
The complexity of the engagement, the types of communication vehicles, the general readiness for
change, and the length of the engagement are all factors that can influence this estimate.
(# of stakeholder groups * # of project phases * # of hours per event * # of stages of acceptance)
Notes:

Estimating the number of stakeholder groups is discussed later in this section.

Two guidelines have been given for estimating the hours per event. These guidelines
include planning, designing, developing, approving, and deploying the communication
event.
1.
Two days to plan, design, approve, and execute an event. (This does not apply
to a very sophisticated event such as a video component.)
2.
An average of 4 to 20 hours per change enabling communication event.
 The number of stages of acceptance is 5.
Another formula for estimating the amount of time required for change enabling communication
follows. This formula guideline includes the time required ( in days) to plan, design, draft, and deploy
the communication.
(Effort = F * S * P * J)
where:
F = Complexity factor as calculated below
S = Number of stakeholder groups
P = Number of project phases (example, ETP and Requirements/BAA equals two phases)
J = Judgment factor (use 5 for low-end, 10 for average, and 15 for high-end complexity)
Estimating Technique Guide - Draft
36
2/5/2016
Estimating Technique Guide
To compute the Complexity Factor (F), use the following table to categorize the degree of change,
anticipated resistance, type of change and number of stakeholder groups. Multiply the factor for
each category to determine the complexity factor.
Degree of
Change
Anticipated
Resistance
Type of Change
Minor
1.0
No Resistance
1.0
Anticipated Change
1.0
Number of
Stakeholder
Groups
1 - 9 stakeholder groups
1.0
Moderate
1.2
Some Resistance
1.2
Tactical (business
unit)
1.2
10 - 25 groups
1.2
Major
1.4
Much Resistance
1.4
Strategic (organization)
1.4
More than 25 groups
1.4
Example 1: Assume the change is minor, with some resistance anticipated, for a tactical
change, and 7 stakeholder groups are involved -- the complexity factor (F) would be 1.0 x 1.2
x 1.2 x 1.0 = 1.44. Using this factor, we could estimate the effort during a Requirements/BAA
to equal about 100 days.
(Effort = F x S x P x J -- or -- 1.44 x 7 x 1 x 10 = 100)
Example 2. Assume the change is major, with much resistance anticipated, for a strategic
change, and 12 stakeholder groups have been identified -- the complexity factor (F) would be
1.4 x 1.4 x 1.4 x 1.2 = 3.95. Using this factor, we could estimate the effort during a
Requirements/BAA to equal about 475 days. (Effort = F x S x P x J -- or -- 3.95 x 12 x 1 x
10 = 475)
Stakeholder Groups:
The following guidelines have been defined for estimating the number of stakeholder groups.

Minimum number of stakeholder groups for a small engagement is 4 (executive sponsors, project
management, project team, and impacted business unit.)

Minimum number of stakeholder groups for an enterprise-wide engagement is 6 (executive
sponsors, project management, project team, extended project team, subject matter experts, and
organization as a whole.)

To calculate the lower boundary of the number of stakeholder groups: divide the number of fulltime project team members (FTEs including client staff) by four and add two. ((project team FTEs
/ 4) + 2)

To calculate the upper boundary of the number of stakeholder groups: divide the number of fulltime project team members by two and add four. ((project team FTEs / 2) + 4)

To estimate the number of stakeholder groups bases on the company size and percent of employees
impacted by the change use the following tables to multiply the size (CS) factor by the percent of
organizational change (PO) factor:
Company
Size
CS factor
100
500
1,000
5,000
10,000
50,000
100,000
500,000
2
3
4
5
6
7
8
9
Percent of Organization
Impacted by Change
PO factor
Estimating Technique Guide - Draft
Up to 10%
10 to 30%
25 to 80%
50 to 100%
1
2
3
4
37
2/5/2016
Estimating Technique Guide
For example: Your client has approximately 5,000 total employees. The project is expected to
only impact the corporate office, which accounts for 20% of the company. The estimated number
of stakeholder groups is 10. (CS (5) * PO (2) = 10)
Roles and Responsibilities:
Assuming that your are creating a role (job description) from scratch and have some starting material,
use 4 hours per role as a guideline. This can range from as low as 2 hours to as high as 12 hours per
role.
Training and Education
Assuming the forum will be traditional, instructor-led training, use a guideline of 10 hours of
development time for each hour of delivery. This could range as high as 80 hours of development time
per hour of delivery for world-class instructor script and participant guides.
Cautions
None have been identified.
Technical Infrastructure
No specific estimating guidelines have been identified at this time.
Critical Computer Resources and Facilities Infrastructure
No specific estimating guidelines have been identified at this time. Critical Computer Resources may be
estimated
Critical Computer resource planning and estimating is an on-going activity, conducted at startup, testing,
implementation, and deployment. It is accomplished in conjunction with preparing and updating of the
Project Management Plan and the Software Development Plan. The planning and analysis of computer
resource use should be conducted monthly as an integral part of the project performance and exercised in
conjunction with ongoing project tracking and oversight.
Computer resources planning, acquisition, and use one monitored in project startup and performance
tracking activities. The prime objective is to develop a plan for estimating and acquiring computer resources
and then to analyze the use so that hardware requirements are satisfied.
Steps for Planning/Estimating are:
1.
At project start up, the PM conducts a meeting with all section managers of all key activities.
2.
Each section manager identifies their staff’s roles and responsibilities, directs correlating staff
duties and skills and computer resource use.
3.
The attendees review the estimated resource use and the responsibilities for all technical and
administrative personnel. The review considers the type of equipment for all personnel and the
peak periods of performance for all devices or units.
Review and analysis are dictated by the types of activities (e.g., terminal access, word processing,
database, financial spread sheets). The equipment is then listed in direct relationship to the staff
and contract performance.
In addition, the task order team and contract staffing (if applicable) consider the work allocation
and equipment needs that were planned into the task order performance. The hardware acquisition
Estimating Technique Guide - Draft
38
2/5/2016
Estimating Technique Guide
will be a part of the project, standard contract and task order negotiation (if applicable). The
planning and estimation for production or development hardware platforms will be developed in
accordance with hardware feasibility and sizing studies that are included in task performance
criteria.
If a new project or new task order requires new hardware, all documents and planning materials
developed in previous stages are used for project, task order and computer resource planning. In
addition, a current hardware configuration from a system specification and a current hardware use
report from the Operations and Maintenance Team may be used.
The current Hardware Acquisition Plan from the Software Development Plan and project/ontract
budget provide insight to the equipment that is available and what new equipment is planned for
the future.
The computer resources acquisition plans for a task order is built to reflect any required increase in
current or planned contract hardware capabilities; a simpler update is developed for the task or
contract budget. The project/task order plan is then used to update the contract and site plans for
hardware acquisition.
4.
The Analysis and Design Manager maps the acquisition strategy against the staffing profile or an
existing plan to develop a new resource acquisition plan and budget.
5.
The Analysis and Design Team manager maps the acquisition strategy on a timeline. The timeline
developed and provided to the section managers for review.
6.
The Analysis and Design Manager review the plan with the PM and the accounting and finance
personnel. The plan is used to update the planned hardware expenditure for the contract.
7.
The system administrators monitor the use of critical computer resources and report the use to the
PM monthly as the project progresses.
8.
The Project Manager and the section managers review the use report to analyze use of memory and
the storage, usage of network, channel capacity, and device capacity. The current use of resources
is compared to acquisition of future resources, adjustments are made to the acquisition plans, and
changes are proposed to the client.
Management and Coordination
Specific estimating guidelines have not be developed for this phase at this time. In general, the total
management and coordination effort should be approximately 15% to 20% of the total project effort. A
common guideline is to use a 1 to 6 ratio. During our field support visits, we generally used a staff and
duration model to estimate development coordination, project management, and program management. If
the team lead activities have not been included in the other project phases, be sure to include them here.
Estimating Technique Guide - Draft
39
2/5/2016
Estimating Technique Guide
Appendices
Estimating Templates
Please refer to the additional file attachments for these spreadsheets. If you did not receive these file
attachments or if you have any questions on how to use these spreadsheets, please contact any of the
Estimating and Metrics team members.
Estimating Template User Guides
The following user guides provide some general directions on how to use each of the estimating templates.
Staff and Duration Estimating Templates
Two estimating spreadsheets have been provided. One allows for a single resource group, such as the entire
project team. The second allows for two resource groups, such as IT Services and the client staff. Each
spreadsheet allows you to compute the total hours and cost by project team role. Each spreadsheet
calculates the total hours and cost for each role, provides grand totals for staff count, hours, and cost, and
computes an average billing rate.
The user defined fields are in “blue”. The spreadsheet that allows for two groups of resources provides subtotals for each group along with aggregated totals. Either of these spreadsheets can be tailored to your
specific estimating needs. Potential customization options include:

Modifying the IT Services and Client spreadsheet to represent billable and non-billable effort.

Modifying either spreadsheet to specify hours and costs by project phase, timebox, release, or
development build.
To use these spreadsheets:
1.
Enter the duration to hour conversion factor. This cell is used to calculate hours based on the
duration that you have entered. The duration used in the template is weeks, so the duration to hour
conversion factor has been set to 40 hours.
2.
For each unique project role, enter a role description, the number of resources (count), the length
of duration, and the hourly billing rate for this role. Add or delete roles as needed.
Travel Expenses Template
This spreadsheet provides you with two options for estimating travel related expenses. The first worksheet.
Option 1, allows you to identify the project’s duration (in weeks), team size, and the estimated expenses for:
airfare, lodging, cab/ auto, meals, parking, and miscellaneous expenses. Totals are provided of each
category; these are calculated based on the weekly expense amount, project duration, and team size. A
grand total is also provided. The second worksheet, Option 2, allows you to specify the above expense
categories and project duration on an individual by individual basis. This worksheet provides total weekly
and project expenses by individual. It also provides totals for each expense category , the overall project,
and computes an average weekly travel expense based on the total project expenses and the total number of
weeks. Either of these worksheets can be easily customized to meet your specific project requirements.
Requirements/BAA Proportional Estimate Projection Template
This spreadsheet projects the hours for the remaining phases of a project based on the actual hours from the
Requirements/BAA phase. It is based on the assumption that a Requirements/BAA accounts for 7% to 10%
of the total project effort. Simply enter the actual hours from the Requirements/BAA and the spreadsheet
projects the remaining project effort based on 7%, 8.5%, and 10% scenarios. You can modify the
proportional factors or add additional scenarios. The template assumes a custom (ICD) development
approach.
Estimating Technique Guide - Draft
40
2/5/2016
Estimating Technique Guide
Package-Based Development (PBD) Estimating Template
Two estimating templates are provided; one supports a single package-based application, the second
supports multiple applications. Each template allows you to identify the key activities and work products
for each of the package-based sub-phases. For each activity or work product, you can specify the number of
units, the estimated effort for each unit, the number of staff working on each activity or work product, and
any estimating assumptions or comments. The spreadsheet will compute the total estimated effort of each
activity and provide totals by sub-phase. These totals are linked to a summary worksheet that provides a
high-level overview of your estimates. You can also apply a proportional level of effort for the integration
and deployment phases. The project management and coordination phases can be estimated based on a staff
and duration template, included in the spreadsheet, or by using a proportional level of effort.
Both estimating templates consist of a spreadsheet with multiple worksheets that allow to you enter the
necessary details and summarize the overall results. One spreadsheet supports a single package-based
application. The other supports multiple applications. The user defined fields are in “blue”. Either of these
spreadsheets can be easily customized to fit your specific project needs.
Single Application Spreadsheet:
This spreadsheet contains three worksheets.
1.
The estimate total worksheet, Est Ttl, summarizes the project sub-phases, calculates the subphase’s percentage of the overall estimate, and displays the total estimated hours.
2.
The package-based development detail worksheet, PBD Details, contains all of the estimating
details by sub-phase. Use this worksheet to enter the key activities, deliverables, estimating
drivers, and comments for each sub-phase. The worksheet will provide sub-totals for each subphase and an overall estimate. The sub-totals are automatically linked to the estimate total
worksheet.
3.
The management and development coordination worksheet, Mgmt, allows you to enter a staff and
duration estimate for this effort. The total management and development coordination hour
estimate is automatically linked to the estimate total worksheet.
To use this estimating template:
1.
Complete the PBD Details worksheet:
a)
Enter the estimating details on the PBD Details worksheet. The template contains some general
activities for each of the package-based development sub-phases. Modify these activities to meet
your specific project requirements. Define the key deliverables, estimating drivers, and comments
for each activity. The estimating drivers should include:

The unit of measure; such as a workshop, business function, timebox, or package.

The number of units.

The estimated effort to complete each unit.

The average number of staff involved in completing the activity.
b) For the team leadership activity, enter the number of staff being managed and the percentage of
team lead responsibility.
(Note: Another option would be to include the team lead activities in the management
and development coordination worksheet.)
c)
2.
The worksheet will calculate sub-totals for each sub-phase and provide an overall summary at the
bottom of the worksheet. The summary contains both hours and a percentage of the total effort.
These hour totals are automatically linked to the estimate total worksheet.
Complete the Mgmt worksheet:
a)
Complete the staffing and duration template for the management and development coordination
effort. For each role, enter a description, number of staff, and duration. The template currently
Estimating Technique Guide - Draft
41
2/5/2016
Estimating Technique Guide
assumes that the duration is specified in 40 hour weeks. Adjust the hour computation to meet your
specific requirements.
b) The worksheet will compute the total management and development coordination hours and
automatically link this total to the estimate total worksheet.
3.
Complete the Est Ttl worksheet:
a)
Define the hour conversion factor; cell P3. This conversion factor is currently defined as 8 hours
to convert the hour estimate to man-days. If you prefer to have man-months or man-years, adjust
this factor accordingly.
b) Enter the proportional factors for Integration and Deployment. The percentages currently defined
in the worksheet are for illustration purposes only.
c)
As a option, you can define the management and coordination effort as a proportional factor;
similar to the Integration and Deployment project phases rather than using a staff and duration
estimate. To do this, enter the appropriate proportional factor and adjust the cell formula for the
phase hours accordingly.
Multiple Application Spreadsheet:
This spreadsheet contains the same three worksheets as the single application spreadsheet plus an additional
summary worksheet. This additional worksheet, PBD Summary, provides an hour and percentage summary
for each application.
To use this estimating template, use the steps outlined for the single application spreadsheet. The only
difference is in the PBD Details worksheet. This worksheet allows you to enter detailed estimating
information for each application area. The template currently allows for 3 application areas. You can
adjust the Est Ttl, PBD Summary, and PBD Detail worksheets to add or subtract application areas.
Matrix-Based Iterative Custom Development (ICD) Estimating Template
Two estimating templates provided; one supports a single iterative custom-developed application, the
second supports multiple applications. Both templates allow you to build a bottom-up estimate based on the
number of “widgets” being developed. These widgets can include menus, reports, windows, servers,
interfaces, conversions, common objects. As you define each of these widgets, you can rate the complexity
of each widget on a scale from 1 to 10. The detail matrix worksheet references additional look-up tables
that contain the appropriate estimates based on the type of widget and its complexity. You can adjust these
look-up tables to reflect your specific project environment. The spreadsheet accumulates totals for each
type of widget and links these totals to a summary worksheet to provide a high-level summary of your
estimates. You can also apply a proportional level of effort for the business system design, application
development completion, integration and deployment phases. The project management and coordination
phases can be estimated based on a staff and duration template, included in the spreadsheet, or by using a
proportional level of effort.
Both templates consist of a spreadsheet with multiple worksheets that allow to you enter the necessary
details and summarize the overall results. One spreadsheet supports a single custom-developed application.
The other supports multiple applications. The user defined fields are in “blue”. Either of these
spreadsheets can be easily customized to fit your specific project needs.
Single Application Spreadsheet:
This spreadsheet contains four worksheets.
1.
The estimate total worksheet, Est Ttl, summarizes the project sub-phases, calculates the subphase’s percentage of the overall estimate, and displays the total estimated hours.
2.
The program matrix worksheet, PGM Matrix, defines and categories all of the widgets that need to
be developed. The template currently allows for menus, windows, reports, C functions, Tuxedo
Estimating Technique Guide - Draft
42
2/5/2016
Estimating Technique Guide
services, interfaces, conversions, Oracle forms, and common functions. Use this worksheet to
enter the widgets that need to be developed for each category. The worksheet will provide subtotals for each category and an overall total. The sub-totals are automatically linked to the estimate
total worksheet.
3.
The management and development coordination worksheet, Mgmt, allows you to enter a staff and
duration estimate for this effort. The total management and development coordination hour
estimate is automatically linked to the estimate total worksheet.
4.
The estimate matrices worksheet, EST Matrices, contains estimating matrices for a variety of
different types of widgets. For each type or category of widget this worksheet contains estimates
for 10 levels of complexity, level 1 being the simplest and level 10 being the most complicated.
The program matrix worksheet uses these estimate matrices as a look-up table. For example, if
you enter a PowerBuilder window with a complexity level of 5 on the program matrix worksheet;
that worksheet will reference the PowerBuilder estimate matrix and retrieve the per unit estimate
for a level 5 complexity window.
To use this estimating template:
1.
Complete the PGM Matrix worksheet:
a)
Enter the widgets that need to be developed into the appropriate categories. For each entry you
can specify the name of the widget, cross-reference information, the number of units, and its level
of complexity on a scale of 1 to 10. The worksheet will retrieve the per unit estimate from the
estimate matrices worksheet, compute a total hour and day estimate based on the number of units
specified, and calculate totals. Category and overall totals are provided.
b) The categories contained on this template can be modified to meet your specific project.
Additional categories can also be created if needed. If you do modify or add additional categories,
corresponding changes will also need to be made to the other worksheets.
(Caution: The per unit estimate column in this worksheet is extremely sensitive with
the row and column coordinates within the estimate matrices worksheet. Be
careful that you have defined the correct row and column coordinates when
modifying this column.)
2.
Complete the Mgmt worksheet:
a)
Complete the staffing and duration template for the management and development coordination
effort. For each role, enter a description, number of staff, and duration. The template currently
assumes that the duration is specified in 40 hour weeks. Adjust the hour computation to meet your
specific requirements.
(Note: Be sure to include the team lead activities in this worksheet. They have not
been accounted for in the prior worksheet.)
b) The worksheet will compute the total management and development coordination hours and
automatically link this total to the estimate total worksheet.
3.
Complete the Est Ttl worksheet:
a)
Define the hour conversion factor; cell P3. This conversion factor is currently defined as 8 hours
to convert the hour estimate to man-days. If you prefer to have man-months or man-years, adjust
this factor accordingly.
b) Enter the proportional factors for the BSD, ADC, Integration, and Deployment phases. The
percentages currently defined in the worksheet are for illustration purposes only.
c)
As a option, you can define the management and coordination effort as a proportional factor;
similar to the Integration and Deployment project phases rather than using a staff and duration
estimate. To do this, enter the appropriate proportional factor and adjust the cell formula for the
phase hours accordingly.
Estimating Technique Guide - Draft
43
2/5/2016
Estimating Technique Guide
Multiple Application Spreadsheet:
This spreadsheet contains the same worksheets as the single application spreadsheet plus two additional
worksheets:
1.
An ICD Summary worksheet that provides an hour and percentage summary for each application.
2.
An additional ICD Matrix worksheet for a second application area.
To use this estimating template, use the steps outlined for the single application spreadsheet. Repeat the
ICD Matrix steps for each application area. The template currently allows for 2 application areas. You can
adjust the spreadsheet to add more application areas.
Accelerated Application Development (XAD) Estimating Template
Two estimating templates are provided; one supports a single XAD-based application, the second supports
multiple applications. Each template allows you to identify the key activities and work products for each of
the XAD-based sub-phases. For each activity or work product, you can specify the number of units, the
estimated effort for each unit, the number of staff working on each activity or work product, and any
estimating assumptions or comments. The spreadsheet will compute the total estimated effort of each
activity and provide totals by sub-phase. These totals are linked to a summary worksheet that provides a
high-level overview of your estimates. You can also apply a proportional level of effort for the integration
and deployment phases. The project management and coordination phases can be estimated based on a staff
and duration template, included in the spreadsheet, or by using a proportional level of effort.
Both estimating templates consist of a spreadsheet with multiple worksheets that allow to you enter the
necessary details and summarize the overall results. One spreadsheet supports a single XAD-based
application. The other supports multiple applications. The user defined fields are in “blue”. Either of these
spreadsheets can be easily customized to fit your specific project needs.
Single Application Spreadsheet:
This spreadsheet contains three worksheets.
1.
The estimate total worksheet, Est Ttl, summarizes the project sub-phases, calculates the subphase’s percentage of the overall estimate, and displays the total estimated hours.
2.
The XAD-based development detail worksheet, XAD Details, contains all of the estimating details
by sub-phase. Use this worksheet to enter the key activities, deliverables, estimating drivers, and
comments for each sub-phase. The worksheet will provide sub-totals for each sub-phase and an
overall estimate. The sub-totals are automatically linked to the estimate total worksheet.
3.
The management and development coordination worksheet, Mgmt, allows you to enter a staff and
duration estimate for this effort. The total management and development coordination hour
estimate is automatically linked to the estimate total worksheet.
Estimating Technique Guide - Draft
44
2/5/2016
Estimating Technique Guide
To use this estimating template:
1.
Complete the XAD Details worksheet:
a)
Enter the estimating details on the XAD Details worksheet. The template contains some general
activities for each of the package-based development sub-phases. Modify these activities to meet
your specific project requirements. Define the key deliverables, estimating drivers, and comments
for each activity. The estimating drivers should include:

The unit of measure, such as a prototype set, business function, or entities.

The number of units.

The estimated effort to complete each unit.

The average number of staff involved in completing the activity.
b) For the team leadership activity, enter the number of staff being managed and the percentage of
team lead responsibility.
(Note: Another option would be to include the team lead activities in the management
and development coordination worksheet.)
c)
2.
The worksheet will calculate sub-totals for each sub-phase and provide an overall summary at the
bottom of the worksheet. The summary contains both hours and a percentage of the total effort.
These hour totals are automatically linked to the estimate total worksheet.
Complete the Mgmt worksheet:
a)
Complete the staffing and duration template for the management and development coordination
effort. For each role, enter a description, number of staff, and duration. The template currently
assumes that the duration is specified in 40 hour weeks. Adjust the hour computation to meet your
specific requirements.
b) The worksheet will compute the total management and development coordination hours and
automatically link this total to the estimate total worksheet.
3.
Complete the Est Ttl worksheet:
a)
Define the hour conversion factor; cell P3. This conversion factor is currently defined as 8 hours
to convert the hour estimate to man-days. If you prefer to have man-months or man-years, adjust
this factor accordingly.
b) Enter the proportional factors for Integration and Deployment. The percentages currently defined
in the worksheet are for illustration purposes only.
c)
As a option, you can define the management and coordination effort as a proportional factor;
similar to the Integration and Deployment project phases rather than using a staff and duration
estimate. To do this, enter the appropriate proportional factor and adjust the cell formula for the
phase hours accordingly.
Multiple Application Spreadsheet:
This spreadsheet contains the same three worksheets as the single application spreadsheet plus an additional
summary worksheet. This additional worksheet, XAD Summary, provides an hour and percentage summary
for each application.
To use this estimating template, use the steps outlined for the single application spreadsheet. The only
difference is in the XAD Details worksheet. This worksheet allows you to enter detail estimating
information for each application area. The template currently allows for 3 application areas. You can
adjust the Est Ttl, XAD Summary, and XAD Detail worksheets to add or subtract application areas.
Communication Event Estimating Template
This estimating template assists in estimating the effort to design and deliver communication events. The
spreadsheet contains two worksheets, each represents an estimating option. The first worksheet, Option 1,
Estimating Technique Guide - Draft
45
2/5/2016
Estimating Technique Guide
allows you to estimate the hours needed to design and deliver communication events based on the number
of stakeholder groups, number of project phases, the estimated hours per event, and the number of stages of
acceptance. To use this worksheet, simply enter the correct values. The estimated effort in is hours and is
based on the calculations described in the Organizational Change estimating guidelines.
The second worksheet, Option 2, allows you to estimate the effort based on four complexity factors, number
of stakeholder groups, number of project phases, and a judgment factor. To use this spreadsheet, select the
desired values from each of the four complexity factor tables. These tables are used to categorize the
degree of change, the level of anticipated change, the number of stakeholder groups (within a range), and
the type of change. Next enter the actual number of stakeholder groups, the number of project phases, and a
judgment factor. The worksheet will calculate the estimated hours for designing and delivering
communication events based on the calculations described in Organizational Change estimating guidelines.
Stakeholder Group Estimating Template
This estimating template assists in estimating the number of stakeholder groups. The spreadsheet contains
two worksheets. The first worksheet, Team Size, allows you to estimate the number of stakeholder groups
based on the size of the project team. To use this worksheet, simply enter the project team size in full-time
equivalents. Fractional sizes are permitted. This worksheet will provide a low-end, high-end, and average
estimated number of stakeholder groups based on the calculations described in the Organizational Change
estimating guidelines.
The second worksheet, Client Size, allows you to estimate the number of stakeholder groups based on the
overall size of the client and the percentage of organizational impact. To use this worksheet, simply select
the appropriate client size by entering a “1” in the correct category. You can only make one selection.
Next select the percentage of organizational impact by entering a “1” in the correct category. Again, you
can only select one category. The worksheet will compute the estimated number of stakeholder groups
based on the calculations described in the Organizational Change estimating guidelines.
Estimating Technique Guide - Draft
46
2/5/2016
Download