Sie sind auf Seite 1von 4

A Method for Improving Developers’

Software Size Estimates


Lawrence H. Putnam, Douglas T. Putnam, and Donald M. Beckett
Quantitative Software Management, Inc.

Traditional software estimating is effort-based and follows a bottom-up approach. This approach does not show the impact of
different team sizes or the impact of schedule, cost, and quality constraints. The authors propose a method that decomposes pro-
gramming artifacts into elementary units of work that form the size used for model-based estimating. The process is simple to
implement, flexible, can be tuned with actual project performance data, and fosters developer buy-in by involving them in the
estimating process.

I t is common to hear this question dur-


ing project development: “How large is
this project?”
of confusion and miscommunication.
This article outlines a process for
mapping requirements to intermediate
• It ignores the impact on schedule and
effort of different sized teams.
Schedule is simply effort divided by
One type of answer might be, “Oh, units to elementary units of work, as staff.
let me see. I believe that this is about a shown in Figure 1, and uses the resulting • It does not account for the non-linear
500 effort-hour project.” output for estimating. The process is impacts of time, cost, and quality
In the world of software develop- flexible and uses historical data to tune its constraints.
ment, size means different things to dif- algorithms. • It is not suitable for rapid, cost-effec-
ferent groups of people. Those who tive, what-if analysis.
specify functional requirements – and Traditional Sizing and A critical element is missing from this
perhaps pay for the project, too – may approach and that element is project size.
conceptualize size in financial terms.
Estimating
Historically, software estimating has fol-
Since project effort is a key component lowed a pattern similar to the following: An Alternative Approach to
of cost, sizing in effort-units allows them • Requirements are broken down into
to place the project in a cost-and-
Sizing/Estimating
software elements. Parametric or model-based estimating
resource framework. • Effort-hours for the tasks to create takes the following different approach:
Software developers, while keenly the software elements are estimated. • It determines the size of the software
aware of the effort required to complete • The effort-hours are summed and a elements breaking them down into
their tasks, are more likely to describe size management reserve (fudge factor) is common low-level software imple-
in terms of the things they have to pro- added to give an effort-estimate. mentation units (IUs). (This will be
duce to implement the requirements. • Resources are leveled and a critical discussed in the following section.)
Their sizing units are screens to be devel- path is determined that allow project • It creates a model-based first cut esti-
oped and modified, reports, database staff and duration to be estimated. mate using a productivity assumption
tables, Web pages, scripts, object classes, Unfortunately, this bottom-up approach (preferably historically based), the
and a host of others. is fraught with problems: project size, and the critical con-
To the software estimator, size quan- • It underestimates the overhead straints.
tifies what a project delivers or proposes required and the non-software tasks • It performs what-if modeling until an
to deliver. Concrete measures such as associated with a larger project, often agreed-upon estimate has been created.
source lines of code or more abstract dramatically. • It creates the detailed plans for the
ones such as function points are the esti- • Bottom-up estimating cannot be done project.
mator’s size units, and are indeed the effectively early in the project life Figure 2 illustrates this approach. Key to
ones needed to use a commercial estimat- cycle when bid/no bid or go/no go the success of this methodology is an
ing tool. decisions are made and money, time, accurate size and a productivity assump-
What is certain is that in software and staff are allocated to the effort. tion that is consistent with the organiza-
development, the word size may mean There is simply insufficient detail to tion’s capabilities.
effort, programming artifacts, or elemen- determine all of the software ele-
tary units of work depending on who is ments, much less the project ele-
using the term. This is a potential source ments.
Translating Requirements
Into IUs
Customers have needs. These take the
Figure 1: Development Process
form of requirements that software must
Units of Need Intermediate Units Units of Works fulfill. Developers translate these require-
ments into intermediate units that they
must create or modify to implement the
requirements. These can be screens, pro-
Development grams, reports, tables, object classes,
Need Product interfaces, etc. The list is fluid.
Process
Estimators must decompose the interme-
diate units into IUs to determine a size
for estimating.

16 CROSSTALK The Journal of Defense Software Engineering April 2005


A Method for Improving Developers’ Software Size Estimates

Conceptually, an IU is the lowest level Requirements


of programming construct that a soft-
ware developer performs. It will vary in Productivity
Resources
form depending on what is being devel- Assumption
and Constraints
oped. It could be setting a property on a Software Elements
Web form, indicating the data type of a Σ= Size
field on a database table, or writing a line
of procedural code. In each case it is the
most elementary activity that the devel-
oper performs. Intermediate units are the First-Cut
tangible results of several or many IUs. Estimate
Two traditional size measures for esti-
mating are source lines of code and func-
tion points. Both of these can work in "What-If "
some cases; however, each has limita- Modeling
Detailed Planning Agreed Estimate
tions. The lines of code that a project
and Execution
generates are strongly influenced by the
software languages used, individual cod-
ing style, and organizational standards. Figure 2: Alternative Sizing and Estimating Approach
They are a measure of output that can be
difficult to estimate. age screen would also allow data • For a medium-size project with a
Function points can be estimated entry. A complex screen would have small team, this process will normally
from requirements and design docu- update and delete capabilities, as well. take between four and six hours with
ments but require training in the function Record the intermediate units in both between four and eight developers;
point methodology and actual counting effort-hours and IUs, which may be a this is where you get buy-in from the
experience that many organizations lack. ratio of effort at this stage. It is espe- developers. Very large projects may
Function point counting is also a manual cially important to have several devel- well require additional time, but the
process that requires an investment of opers involved in this. Individual pro- method remains the same.
time and effort to perform. Although ductivity can vary significantly Figure 3 is an example of a sizing
there are software tools that can capture between individuals, which influences spreadsheet. Using the intermediate units
the results of a function point count, their perspectives. Also, having the specified by the developers during the
there are none certified by the group of developers determine effort interview for this particular project type,
International Function Point Users ranges will help balance overly opti- data has been captured for a hypothetical
Group as being capable of conducting mistic and pessimistic estimates and project. The intermediate units that the
the count. help create buy-in. developers have identified as being in their
• Construct a sizing worksheet that environment are in the first column. The
captures the results of the session. second column contains the developers’
Here is a process for obtaining a size esti- Figure 3 is a simple illustration of this estimate of the average hours required to
An Alternative Sizing Approach

mate that is conceptually simple, easy to concept. create each intermediate unit. The IUs in
implement, and encourages developer Figure 3: Sizing Spreadsheet Example
buy-in:
• Hold a facilitated session with the Effort Total Total
developers. Have them identify all of Intermediate Units Hours IUs Count IUs Effort
the intermediate units that they have Forms - Simple 8 70 0 0
to create. Determine what they physi- Forms - Average 15 170 8 1,360 120
cally have to do to create them. Ask if Forms - Complex 30 400 0 0
there are other things that they have New Report - Simple 13 140 0 0
to create on other projects. The pur- New Report - Average 32 300 8 2,400 256
pose here is to establish a compre- New Report - Complex 42 440 0 0
hensive list of the artifacts the devel- Changed Report - Simple 10 90 0 0
opers may create. Good interviewing Changed Report - Average 24 250 4 1,000 96
skills are the key to success here. Ask Changed Report - Complex 31 320 0 0
follow-up questions and keep asking Table Changes - Simple 5 60 0 0
if there is anything more. Developers Table Changes - Average 13 140 10 1,400 130
may take some time to warm to this Table Changes - Complex 20 220 0 0
approach, but asking people to talk JCL Changes - Simple 1 12 0 0
about themselves and what they do is JCL Changes - Average 4 50 0 0
a time-tested method of keeping a JCL Changes - Complex 6 70 0 0
conversation going! SQL Procedures - Simple 1 14 0 0
• For each item, have them define in SQL Procedures - Average 10 140 0 0
quantifiable terms what makes that SQL Procedures - Complex 20 225 0 0
item simple, average, or complex. For Total Implementation Units 6,160 0
instance, a simple screen might only Total Effort Hours
have retrieval capability, while an aver- Total Effort Hours 602
Figure 3: Sizing Spreadsheet Example
April 2005 www.stsc.hill.af.mil 17
Cost Estimation

about the number of IUs per intermedi-


Validate Estimate ate unit. How can this be refined? One
Effort versus Effective Implementation Units method is to model completed projects
using the sizing information captured on
10,000

the templates as inputs to a parametric


estimating tool. In this situation, project
effort and duration are already known
and there is an estimated size in IUs. The

Effort (MHR)
1,000 variable to be determined is the produc-
tivity parameter required to re-create an
estimate scenario whose effort and dura-
tion match the completed project. This is
a relatively easy thing to do with a para-
metric estimating tool. Even though
1,000
100
10,000
solving a calculation for a missing vari-
Effective Implementation Units able will produce a result, it does not
guarantee that the result is realistic. It is
Duration versus Effective Implementation Units
10
important to verify that the productivity
parameter is reasonable when compared
to industry data or organizational history.
Figure 4 demonstrates a method of
comparing an estimate scenario to histor-

Duration (Months)
ical data to see if that scenario is inter-
nally consistent and reasonable. There
are two graphs in Figure 4. Each has a set
of trend lines calculated from a database
of over 6,200 software projects. The
darker line in the middle is the average.
The dotted lines represent plus and
minus one standard deviation, respec-
1
1,000 10,000
Effective Implementation Units tively. Note that a logarithmic scale is
used to account for the non-linear rela-
Figure 4: Comparing an Estimate to Historical Data tionship between project size and effort
or duration. The X axis of both charts is
the third column are a weighting factor for project, or excluded. project size in IUs. The Y axis on the top
each intermediate unit. If empirical data chart is project effort in manhours.
from other sizing spreadsheets is unavail- In this case, the effort-hours for the
able or if this is the first time this activity While interviewing the developers, it is project (represented by the square) are
Creating Estimating Templates

has been conducted, the IUs may simply important to have them define their proj- slightly below the average line for similar-
be a multiple of effort. Column four con- ect types. These may be as simple as ly sized projects. The Y axis of the lower
tains the number of a particular interme- small, medium, and large based on esti- chart is project duration in calendar
diate unit that a project is estimated to mated effort hours. They may be plat- months. This project falls right on the
have. The fifth column is the total esti- form-based such as Web, client server, or average line. For this estimate scenario,
mated IUs for the intermediate unit. mainframe projects. They can also be both effort and duration are historically
Column six is the total estimated effort- application-specific or customer-specific. consistent with similar sized projects.
hours to create the intermediate units. Have the developers define what The productivity parameter used is
This is only a starting point and the types of intermediate units are typical for also historically consistent1. If the effort
IUs will be fine-tuned if required later in each project type and a range of how were very high compared to the trend
the process. If the developers have the many are normally found. Ask them to lines, it could indicate that the IUs were
project effort and intermediate units from identify the effort range associated with understated (too much effort for the
a recently completed project, this is an each project type and identify typical amount of output). Extremely low effort
excellent time to validate the estimated durations. Tailor the estimating spread- compared to the trend lines would sug-
effort-hours on the worksheet. For sheets to each project type so they gest that the IUs were overstated.
instance in Figure 3, the total effort hours include only the intermediate units that Similar comparisons apply for the
for the project were 602 to create the list- project type is likely to have. bottom graph, too. If after modeling sev-
ed intermediate units. If the actual project At this point the estimator can use the eral projects, effort, duration, or both are
hours of the project from which this was estimated size in IUs to create a template consistently very high or very low, then it
modeled were close to this, it lends cre- and calculate time, effort, and cost with a is a strong indication that the number of
dence to the effort estimates provided for commercial parametric estimating tool. IUs for some of the intermediate units
the intermediate units. If not, it may indi- requires adjustments.
cate that adjustments need to be made to Tuning the Process Sizing templates can be further
the effort estimates for the intermediate The templates created in Figure 3 are refined as projects complete. There is
units or that there were intermediate units starting points and will need to be fine- one final word of caution to consider
that should have been included in the tuned. They are based on assumptions when modeling projects: The projects

18 CROSSTALK The Journal of Defense Software Engineering April 2005


A Method for Improving Developers’ Software Size Estimates

should be as normal and representative munication. If you are running into roadblocks
of the work usually done as possible. The • It involves the developers in the esti- when estimating the size of your applica-
intent is to build a model that reflects mating process creating buy-in and tion development projects, give this
how work is usually done. Projects with reducing the chance of obtaining method a try. You might be pleasantly
cherry-picked teams or ones that suf- bogus data. surprised by the cooperation that you
fered from extreme schedule pressure or • It is adaptable. It allows new tools and receive from the technical staff, and the
rework due to requirements changes are components to be incorporated easily. increased value that is attached to your
not good candidates to model. They will • It is an excellent way to get a handle end-product estimates.◆
only skew the results. on a new technology. It provides the
ability to articulate what and how Reference
Benefits developers build a product. 1. Brooks, Frederick. The Mythical Man-
As Frederick Brooks [1] warned us near- • It is applicable to many different Month: Essays on Software Engineer-
ly 30 years ago, there is no silver bullet. development paradigms, some of ing. Addison-Wesley, 1 Jan. 1975.
This approach to sizing may not be the which have been difficult to estimate
best fit for every software development with parametric estimating tools: Note
situation. But, it will work in many situa- o Enterprise Resource Planning 1. Estimating tools look at productivity
tions and has some real benefits: (PeopleSoft and SAP [Systems, from different perspectives. What is
• It speaks the developer’s language. It Applications, Products]). important is that however productivi-
describes the system in the compo- o Rational Unified Process. ty is measured, there needs to be a
nents that developers work with: o Traditional Development. method in place to validate it for rea-
screens, reports, tables, programs, • It can (and should) be tuned on actu- sonableness against organizational or
and Web pages. This improves com- al project data. industry data.

About the Authors

Lawrence H. Putnam is Douglas T. Putnam is Donald M. Beckett is a


the founder and chief the managing partner of consultant for Quantita-
executive officer of Professional Services at tive Software Manage-
Quantitative Software Quantitative Software ment with more than 20
Management, Inc., and a Management, Inc. (QSM). years of software devel-
developer of commercial Putnam has over 24 years opment experience, in-
software estimating, benchmarking, and of experience in the software measure- cluding 10 years specifically dedicated to
control tools known under the trade- ment industry. He has written and lec- software metrics and estimating. Beckett
mark SLIM. He served 26 years on active tured extensively throughout the world is a Certified Function Point Specialist
duty in the U.S. Army and retired as a and has participated in more than 200 with the International Function Point
colonel. He has been deeply involved in estimation and measurement engage- Users Group and has trained over 300
the quantitative aspects of software ments in his career at QSM. QSM is the persons in function point analysis in
management for the past 30 years. He is supplier of the trademarked SLIM suite: Europe, North America, and Latin
the co-author of five books on software SLIM-Estimate, SLIM-Master Plan, America. He was a contributing author
estimating, control, and benchmarking. SLIM-Control, SLIM-Metrics. to “IT Measurement: Practical Advice
He is a member of Sigma Xi, the from the Experts.” Beckett is a graduate
Association for Computing Machinery, of Tulane University.
the Institute of Electrical and Electronic
Quantitative Software

Engineers (IEEE) and the IEEE


Management, Inc.

Computer Society. He was presented the


2000 Corporate Ridge STE 900 Quantitative Software

Freiman Award for outstanding work in


McLean,VA 22101 Management, Inc.

parametric modeling by the International


Phone: (703) 790-0055 2000 Corporate Ridge STE 900

Society of Parametric Analysts. Putnam


Fax: (703) 749-3795 McLean,VA 22101

has a Bachelor of Science from the


E-mail: doug_putnam@qsm.com Phone: (703) 790-0055

United States Military Academy and a


Fax: (703) 749-3795

master’s degree in physics from the


E-mail: don_beckett@qsm.com

Naval Postgraduate School.

Quantitative Software
Management, Inc.
2000 Corporate Ridge STE 900
McLean,VA 22101
Phone: (703) 790-0055
Fax: (703) 749-3795
E-mail: larry_putnam_sr@qsm.com

April 2005 www.stsc.hill.af.mil 19

Das könnte Ihnen auch gefallen