COST
ESTIMATION
Cost Estimation
Future Trends, Implications in Software Cost Estimation Models
4 A major team effort was recently completed to re-engineer the original Constructive Cost Model (COCOMO)
for software cost and schedule estimation into a new model, COCOMO II.
by Barry W. Boehm, Chris Abts, Jongmoon Baik, A. Winsor Brown, Sunita Chulani,
Brad Clark, Ellis Horowitz, Ray Madachy, Don Reifer, and Bert Steece.
Open Forum
Requirements Management as a Matter of Communication
28 Requirements specification must be supplemented by basic dialogue, including stated missions,
problem management, and understandable formalism for the system’s structure and behavior.
by Ingmar Ogren
Departments CrossTalk
SPONSOR H. Bruce Allgood
Article Submissions : We welcome articles of interest to the
defense software community. Articles must be approved by
the CROSSTALK editorial board prior to publication. Please fol-
low the Guidelines for CROSSTALK Authors, available upon
request. We do not pay for submissions. Articles published in
PUBLISHER Reuel S. Alder
3 From the Publisher
ASSOCIATE Lynn Silver
CROSSTALK remain the property of the authors and may be
submitted to other publications.
Reprints and Permissions: Requests for reprints must be
PUBLISHER
requested from the author or the copyright holder. Please
13 Coming Events MANAGING E DITOR Kathy Gurchiek
coordinate your request with CROSST ALK.
Trademarks and Endorsements: This DoD journal is an
ASSOCIATE authorized publication for members of the Department of
13 E-mail Update Announcement E DITOR /LAYOUT Matthew Welker Defense. Contents of C ROSSTALK are not necessarily the
official views of, or endorsed by, the government, the
Department of Defense, or the Software Technology
ASSOCIATE Support Center. All product names referenced in this issue
13 Quote Marks E DITOR /FEATURES Heather Winward are trademarks of their companies.
Coming Events : We often list conferences, seminars, sym-
VOICE 801-775-5555
posiums, etc., that are of interest to our readers. There is
27 DoD Conference Announcements
F AX
E-MAIL
801-777-8069
crosstalk.staff@hill.af.mil
no fee for this service, but we must receive the information
at least 90 days before registration. Send an announcement
STSC ONLINE http://www.stsc.hill.af.mil to the CROSSTALK Editorial Department.
CROSSTALK ONLINE http://www.stsc.hill.af.mil/ STSC Online Services: at http://www.stsc.hill.af.mil.
30 Cost Estimation Web Sites Crosstalk/crostalk.html Call 801-777-7026, e-mail randy.schreifels@hill.af.mil.
Back Issues Available: The STSC sometimes has extra
CRSIP ONLINE http://www.crsip.hill.af.mil
copies of back issues of CROSSTALK available free of charge.
31 Subscription Request Form
Subscriptions : Send correspondence concerning
subscriptions and changes of address to the follow-
ing address. You may use the form on page 31.
The Software Technology Support Center was established
at Ogden Air Logistics Center (AFMC) by Headquarters
U.S. Air Force to help Air Force software organizations
Ogden ALC/TISE identify, evaluate, and adopt technologies to improve the
31 BACK TALK 7278 Fourth Street
Hill AFB, Utah 84056-5205
quality of their software products, efficiency in producing
them, and their ability to accurately predict the cost and
schedule of their delivery.
What does estimation mean? Having spent 30 years as an engineer and manager
in the electronics and software marketplace, I thought, "Oh, that's easy! You simply
guess how long it is going to take you to do this job, based on your last experience
with the same or a similar job, and then double that guess."
Two things are clear with this oft-used algorithm. The first is that to have any
kind of chance to be in the ballpark, you need some knowledge or historical precedence for hav-
ing done something similar in the not-too-distant past. The second is a realization that the accu-
racy of any such estimate is not very good.
If your business success does not rely on the accuracy of this type of estimate, this algorithm
will probably continue to be used. Only when a business' existence and success rely on some-
thing a little more accurate is it likely a little more effort will be applied to make cost estimates
more realistic and reliable.
As readers will find in this month's C ROSS TALK , cost estimation has become an essential fea-
ture of any successful software business development or sustainment venture. However, as quot-
ed in Reducing Bias in Software Project Estimates by David Peeters and George Dewey on page
20, some still believe that "software estimating is definitely a black art." The authors note that a
large percentage of software projects continue to finish behind schedule and over budget. The
article discusses some ways to identify and reduce biases in software cost estimation to help
make estimates more accurate.
The dramatic increase in the quantity and complexity of software that drives so many of
today's defense and consumer products is also a major driver in the need to develop more robust
estimation methodologies and tools. Barry Boehm and his co-authors write in Future Trends,
Implications in Software Cost Estimation Models on page 4 that software development trends have
turned from the Waterfall process model toward evolutionary, incremental, and spiral models. It
was found that the very useful Constructive Cost Model (COCOMO) estimation techniques
required some significant changes to keep pace with the changing nature of this software develop-
ment evolution. Product line management approaches to software reuse, and graphic user inter-
face builder tools that made traditional-size metrics such as source lines of code inappropriate are
examples of new software design methods that required new techniques. This article also discusses
how continuing development extensions are being made to COCOMO II to address emerging
trends such as Rapid Application Development and commercial-off-the-shelf integration.
We hope that readers will find these and the other articles in this month's CROSS T ALK to be
valuable resources as they continually improve their organization's ability to accurately predict
project schedule and cost.
H. Bruce Allgood
Deputy Computer Resources Support Improvement Program Director
CROSS TALK welcomes Bruce Allgood, Deputy of the Computer Resources Support Improvement Program
(CRSIP) at Hill Air Force Base, Utah. Allgood replaces Lt. Col. Joseph Jarzombek (retired) as the CRSIP
sponsor of our journal. As a member of the Air Force Software Technology Support Center, Allgood has
supported software process improvement efforts throughout the Air Force and the Department of Defense.
He also represents the Air Force Materiel Command on the Practical Software Measurement Technical
Steering Group (PSM), the Office of the Secretary of Defense's Software Collaboration Team, and is a cer-
tified PSM trainer. He spent 20 years in various management and development roles at leading commer-
cial electronics and software corporations, including 11 years at IBM, two years at Hughes Aircraft, and
five years at Hewlett Packard. Allgood received his bachelor's degree in electrical engineering from the
University of Utah and a master's degree in electrical engineering from Colorado State University.
future change. Other dimensions are Software Cost Estimation with COCOMO unnoticed: via personnel changes; COTS
addressed by the new or extended cost II (COCOTS, CORADMO, Applica- product, reusable component, or tool
drivers such as process maturity, architec- tions Composition, and other models) shortfalls; requirements creep; or platform
ture and risk resolution, team cohesion, represent hypotheses of how to model the discontinuities. In such cases, COCOMO
multisite development, use of tools, and cost, schedule, and quality effects of cur- II phase and activity distributions can be
the various reuse parameters. rent and future trends in software engi- used to develop a quantitative milestone
We are also attempting to anticipate neering practice. As we gather more data, plan or an earned-value system [7] for the
future trends via our overall Model-Based we will be able to test and refine these project, which enable plan deviations to be
(System) Architecting and Software models, and to identify further models or detected, and appropriate corrective
Engineering (MBASE) project. MBASE’s extensions likely to be important for actions to be taken (Figure 3) involving
key objective is to avoid harmful model future software engineering practice. COCOMO II in project rescoping.
clashes by integrating a project’s product,
process, property, and success models [5]. Rescope
The COCOMO II suite of models is our System Objectives: No
functionality,
main effort in the property model area. performance, quality Cost,
Concurrently, we are integrating comple- Schedule,
mentary research into product models risks Yes
Project Parameters: COCOMO II Ok?
(domain, requirements, and architecture Personnel, team, sites, platform
models); process models (WinWin spiral
model, process anchor points); and suc- Corporate Parameters:
cess models (stakeholder win-win, busi- tools, processes, reuse
Rescope
System Objectives: No
functionality, Execute
performance, quality Cost, project
Schedule,
to next Revise
Risks
Project Parameters: Yes milestone milestones,
Personnel, team, sites, platform COCOMO II OK? plans,
Milestone resources
Results
Milestone Plans,
Corporate Parameters:
Resources No
tools, processes, reuse
Milestone Expectations OK?
Revised
Expectations
Figure 3. Using COCOMO II to Cope With Change: II Yes
Rescope
System Objectives: No
functionality, Execute
performance, quality Cost,
project
Schedule,
to next Revise
Risks
Project Parameters: Yes milestone milestones,
Personnel, team, sites, platform COCOMO II OK? plans,
Milestone resources
Results
Milestone Plans,
Corporate Parameters:
Resources No
tools, processes, reuse
Milestone Expectations OK? Revised
Expectations
Yes
Accumulate
COCOMO II Done?
Recalibrate No
calibration
or extend Yes
data
COCOMO II
End project
Rescope
System Objectives: No
functionality, Execute
performance, quality Cost, project
Schedule,
to next Revise
Risks
Project Parameters: Yes milestone milestones,
Personnel, team, sites, platform COCOMO II OK? plans,
Milestone resources
Results
Milestone Plans,
Corporate Parameters:
Resources No
tools, processes, reuse
Milestone Expectations OK? Revised
Expectations
Improved Yes
Corporate Cost,Schedule,
Parameters Quality Drivers
Accumulate
Evaluate COCOMO II Done?
Recalibrate No
Corporate calibration
or extend Yes
SW data
COCOMO II
Improvement
Strategies End project
Put together, the four COCOMO II capitalizing on change rather than being a 3. Reifer, D. Practical Software Reuse, John
feedback cycles in Figure 5 can enable reactive victim of change. Wiley and Sons, 1997.
your organization to determine and 4. Maier, M. Architecting Principles for
evolve a project-level and organization- References Systems-of-Systems, Systems Engineering
level set of project analysis, management, Vol. 1 No. 4 (1998), pp. 267-284.
1. Boehm, B.; Abts, A.; Brown, W.;
and improvement strategies based on 5. Boehm, B. and Port, D. Escaping the
Chulani, S.; Clark, B.; Horowitz, E.;
your own quantitative metrics. These Software Tar Pit: Model Clashes and
Madachy R.; Reifer, D.; and Steece, B.
strategies will enable you to determine How to Avoid Them, ACM Software
Software Cost Estimation with COCOMO
appropriate objectives and approaches for Engineering Notes, Jan. 1999, pp. 36-48.
II, Prentice Hall (to appear in June 2000).
6. Boehm, B.; Egyed, A.; Port, D.; Shah, A.;
each project, to manage projects to more 2. Boehm, B.; Kellner, M. and Perry, D.
Kwan, J.; and Madachy R., A Stakeholder
successful completion, and to improve (eds.), Proceedings, ISPW 10: Process
Win-Win Approach to Software
your organization’s software productivity, Support of Software Product Lines, IEEE
Engineering Education, Annals of Software
speed, and quality by anticipating and Computer Society, 1998.
Engineering, Vol. 6(1998), pp. 295-321.
About the Authors Dr. Ellis Horowitz is professor of computer in Industrial and Systems Engineering at
Barry Boehm is the TRW science and electrical engineering at the USC in 1994.
Professor of Software University of Southern California.He is also
Chris Abts holds Bachelor’s
Engineering and Director Director of the Distance Education Network
and Master’s degrees in
of the Center for Software in the School of Engineering. He was chair-
industrial engineering and
Engineering at USC. He man of the Computer Science Department
is a research assistant/
was previously in technical at USC for nine years. He is the author of
Ph.D. Candidate at the
and management positions 10 books and more than 100 research arti-
USC Center for Software
at General Dynamics, Rand Corp., TRW, cles on computer science subjects ranging
Engineering. He has
and the Office of the Secretary of Defense from data structures, algorithms, and soft-
worked as a lead systems engineer/analyst for
as the Director of Defense Research & ware design to computer science education.
Logicon in the area of Mission Planning,
Engineering Software and Computer Dr. Raymond Madachy is including development of automated mis-
Technology Office. Besides COCOMO, he an adjunct assistant profes- sion planning tools, algorithm development,
originated the spiral model of the software sor in the computer science mission scenario analysis, and simulation
process and the stakeholder win-win and industrial and systems modeling. His research interests have been in
approach to software management and engineering departments software metrics and cost models, risk man-
requirements negotiation. and research collaborator agement, and systems architecting, including
University of Southern California with the USC Center for the development of the COCOTS COTS
Center for Software Engineering Software Engineering. He is also the manag- modeling extension to COCOMO II.
Los Angeles, Calif. 90089-0781 er of the Software Engineering Process
Voice: 213-740-8163
Information on other authors of this article
Group at Litton Guidance and Control
Fax: 213-740-4927 may be found at http://sunset.usc.edu/
Systems, which achieved SEI CMM Level 4
E-mail: boehm@sunset.usc.edu Research_Group/People.html
in December 1998. He completed his Ph.D.
The Changing Nature of Software Development Future software estimators will have to estimate the costs of trade-
There are now many ways to develop and sell software offs between development, operating, and maintenance costs.
products. This means that the scope of the estimation problem This will require more knowledge of financial practices such as
is much larger now than it was in the early days of software return on investment, discounted value, etc. Barry Boehm covers
development. In the 1960s, all software was custom built. such topics in Part III of his classic book [2].
Projects had dedicated staff. Companies were usually paid on a Another factor that estimators must confront is the people
level of effort basis (cost plus, or time and materials). who will produce the software. Projects need experts in multiple
Today, there are many ways to build software (custom cod- application and solution domains in order to build the large,
ing, integration of pre-built components, generation of code complex systems. They may also have to receive guidance from
using tools, etc.). The project environment is more varied as well. experts in the legal, regulatory, and business domains. No single
Large, complex software products need a wider range of skills. person can understand all of these domains, nor can one individ-
Organizational structures are flatter and more fluid. Workers are ual keep up with them all. This means that development teams
often dispersed and may be hired only for short periods of time will be more interdisciplinary. Because all of these experts are not
when particular skills are needed. The business environment has needed continuously, project teams (and possibly entire compa-
also become more complex. There are new ways of selling soft- nies) may consist of a core of permanent experts and groups of
ware and data, increased liabilities for defective products, and new temporary workers hired just in time. The permanent staff would
accounting practices. The following paragraphs briefly describe include managers, project control, chief engineers, etc. The tem-
these areas. Each area presents challenges to software estimators. porary workers would include analysts, designers, engineers,
The technology used to build systems will continue to testers, support staff, and various domain experts. It will be chal-
evolve rapidly. This technology includes hardware platforms, lenging to assemble and manage such diverse, dynamic teams.
operating systems, data formats, transmission protocols, pro- Advances in telecommunications, networking, and support soft-
gramming languages, methods, tools, and commercial off-the- ware (groupware) can help such teams function even though they
shelf (COTS) components. The half-life of software engineering are geographically and temporally dispersed. Such organizational
knowledge is typically less than three years. structures affect estimators because they impact parameters such
Project teams will use new development processes such as as the average staff capability, experience, and turnover.
rapid application development (RAD) and COTS integration to There will also be a growing need for estimates of quality
grow software systems. These processes will continue to evolve (defects), reliability, and availability, as well as the usual cost and
rapidly as we learn. (Unless an organization is at Software schedule estimates. Developers and customers will become more
Engineering Institute Capability Maturity Model® Level 5, it interested in ensuring the safety and reliability of complex soft-
may not be able to evaluate and inject new technology at the ware systems such as those used for financial and medical applica-
rate needed to keep up.) Such constant and rapid changes mean tions. Estimating such characteristics is especially challenging for
that little relevant historical data will be available to help esti- systems built using COTS components.
mate future software projects and to develop new cost estima-
tion models. This may challenge CMM® criteria relating to Promising Research
estimating, planning, and tracking that require the use of histor- Several areas hold promise for coping with these challenges.
ical data and assume a stable process. This section describes recent work.
Technology and processes alone do not determine how
businesses will develop software, license products, etc. There is Size
an interaction with the legal and business domains. For exam- We measure size for many reasons. We use size to estimate
ple, Paul Strassman discusses possible ways of acquiring software effort, to measure memory requirements, to estimate processing
as summarized in Table 1. Strassman observes that outsourcing or execution speed, etc. What we measure and the units we use
or renting software (data processing) capability frees an organi- are determined by our intended use of the measure. The goal-
zation from the details of business support functions, and allows question-metric paradigm addresses this concept in detail [3]. The
it to focus on business objectives and growth. For additional Table 1. Ways to Acquire Software *
information, see www.strassman.com
• Build it yourself
Scott McNealy of Sun Microsystems proposes putting • Hire a developer to build it
everyday applications on the Internet for all to use for free [1]. • Hire a firm to build, maintain, and operate it for you
Such external influences will affect how software is built and sold. (outsourcing)
• Purchase COTS products
The Capability Maturity Model and CMM are registered in the • Rent pre-built, pre-tested functions
U.S Patent and Trademark office to Carnegie Mellon University. *Adapted from a talk presented in October by Paul Strassman.
usual goal of software cost estimators is to size of the product. oper’s effort.
determine the amount of effort and sched- Some authors are attempting to link Still other size measures are needed
ule needed to produce a software product. the products of analysis and design directly for software maintenance. Lines of code
The amount of functionality in the prod- to the size measured in function points, or are of little use. Some possible size meas-
uct is gauged in terms of size (measured in some variant thereof. Specifically, they ures are the number of change requests,
Source Lines of Code, function points, endeavor to tie the attributes of diagrams and the number of modules affected by a
etc.). The estimator uses some productivity of the Unified Modeling Language (UML) particular change request. Lack of time
model or cost estimating relation to com- to function points. Some recent references prevents us from discussing this topic fur-
pute effort from the size. Schedule is often are [9] 3 and [10]. This will make counting ther here.
computed from the total effort, possibly of software size more objective.
modified by parameters such as the rate of “Software is seldom built using Standardized Process Milestones
staff buildup, etc. (Interestingly, several the Waterfall Model. Still, we need Software is seldom built using the
models for the development of new soft- some sort of milestones to be able Waterfall Model. Still, we need some sort
ware have schedule approximately propor- to define the scope of project activ- of milestones to be able to define the
tional to the cube root of the total effort.) ities covered by effort and sched- scope of project activities covered by
Size in SLOC clearly depends on the effort and schedule estimation models.
ule estimation models.”
choice of programming language. This Boehm has proposed “process anchors” as
leads to difficulties in defining the true This increased objectivity and preci- one way to standardize the description of
amount of functionality in a software sion comes at a price: we cannot count the production process [11]. These are
product, and in measuring programmer the size until after some analysis has been points where significant decisions or
productivity. Capers Jones described these done. Such a sizing method, while more events happen in a project. Table 2 lists
in his recent Scientific American article [4]. precise, could affect how software is pro- an extension of these. The milestones
Jones observes that the cost of developing cured. Perhaps it will be more like the shown in Table 2 are adapted from the
software is determined by more that just way that buildings are purchased. The Model-Based (System) Architecting and
the cost of the actual coding process. architect works with the user to define Software Engineering (MBASE) life cycle
Considerable effort is spent in designing, the building. All stakeholders must agree process model [12] and [13], and the
documenting, and testing. Jones, and oth- on the building’s purpose, architectural Rational Unified Process (RUP) [14],
ers, advocates a size measure developed by style, types of rooms and their juxtaposi- [15] and [16]. I have added the Unit Test
Allan Albrecht called function points [5]. tion, overall size, and types of building Complete milestone.
Albrecht’s goal was to define a measure materials. Sometimes there are additional The life cycle concept objectives
that was independent of the implement- constraints such as zoning laws, building (LCO) milestone defines the overall pur-
ing technology and based on quantities a codes, and available funding. Once every- pose of the system and the environment
user could understand. He used five quan- one agrees, the architect draws up in which it will operate. The operational
tities: inputs, outputs, queries, internal detailed plans and proceeds to cost the concept indicates which business or mis-
logical files, and external interface files. 1 project (The detailed plans for software sion functions will be performed by the
The International Function Point Users’ products could perhaps be UML dia- software and which will be performed
Group (IFPUG) is the custodian of the grams.). The architect receives a fee com- manually by the operators. The stakehold-
official counting rules.2 puted as some percentage of the total cost ers agree on the system’s requirements and
Albrecht originally defined function of the building. Another approach is to life cycle. The design team has identified a
points only for Management Information fund the early stages of requirements feasible architecture. The information
Systems. Since then, several workers have analysis and product design as level-of- defined at LCO is critical to guide design-
extended the concept to address other effort tasks. Once the team reaches prod- ers and programmers as they refine, elabo-
types of systems. For example, Charles uct design review (PDR)4 a binding pro- rate, and implement the system.
Symons has extended the concept to meet duction contract can be negotiated. This The life cycle architecture (LCA)
the needs of transaction-based systems [6]. will also affect which phases and activities milestone confirms the top-level structure
David Garmus discussed function point are covered by the estimation models. for the product. This further constrains
counting in a real-time environment [7]. Size is also difficult to define for pre- the choices available to the designers and
Alain Abran and his collaborators are built components. In many cases, the implementers. The unit test complete
working to update the measures of soft- developer does not even have the source (UTC) milestone occurs after LCA. Even
ware size by extending function points to code, so measures such as SLOC are not for rapid development, there should come
create what they call full function points. feasible. In addition, the developer needs a time when a component is considered
Full function points are based on a solid to understand, integrate, and test only finished. (This point is also called “code
theoretical foundation and will be vali- the portion of the component’s interfaces complete” by some authors. This name
dated using actual data from modern and functionality that is actually used. apparently arose at Microsoft [17].
projects. See [8] and [9]. Full function The size needs to reflect only this portion Rational Corp. has also defined an equiva-
points provide one way to measure the for the purpose of estimating the devel- lent milestone.) The UTC milestone
Back to Basics 9. IWSM’99, Proceedings of the Ninth no. 1, pages 57-94. J. C. Baltzer AG
Planners and estimators need ways to International Workshop on Software Science Publishers, Amsterdam, The
address these challenges today. I think that Measurement, Lac Supérieur, Québec, Netherlands, 1995. See http://manta.cs.
Canada, 8-10 Sept. 8-10, 1999. vt.edu/ase/vol1Contents.html.
there are three things we can do. First, we
10. Stutzke, Richard D., Possible UML-
need to measure our projects, products,
and processes. To reduce measurement
Based Size Measures, Proceedings of the Notes
18th International Forum on COCOMO 1. The files may actually be collections of
costs, we need to collect and analyze data and Software Cost Modeling, Los Angeles,
based on our goals. The goal-question- physical files, database tables, etc. These
Calif., Oct. 6-8, 1998. collections are perceived externally as
metric (GQM) model is one way to attack 11. Boehm, Barry W., Anchoring the single entities.
this. Second, we should use updated esti- Software Process, IEEE Software, Vol. 13, 2. The IFPUG web site is http://ifpug.org
mation models as they become available. No. 4, July 1996, pages 73-82. 3. Accessible online at: www.lrgl.uqam.ca/
We should also use our metrics to formu- 12. Boehm, Barry W., D. Port, A. Egyed, iwsm99/indes2.html. Three papers
late simple estimation models that are bet- and M. Abi-Antoun, The MBASE Life dealing with UML-based size measures
ter suited to the new project types and Cycle Architecture Package: No were presented by Stutzke, Labyad et. al.,
development processes. Because all models Architecture is an Island, in P. Donohoe and Bévo et. al.
are only approximations, we should never (ed.), Software Architecture, Kluwer, 1999, 4. I use the phrase product design review
rely on a single model for our estimates. pp. 511-528. deliberately. There is nothing preliminary
Instead we should compare estimates from 13. Boehm, Barry W., and Dan Port, about it for software projects. Once PDR
two or more models. Third, we must be Escaping the Software Tar Pit: Model occurs you have defined the form into
prepared to change our metrics and mod- Clashes and How to Avoid Them, ACM which the programmers start to pour
els as we gain new understanding of the Software Engineering Notes, January concrete. After PDR, changes become
new development processes, technologies, 1999, pp. 36-48. very expensive for software!
and tools. This will continue to be a very 14. Royce, Walker E., Software Project 5. There are some challenges with calibrat-
Management: A Unified Framework, ing and using this model for prediction.
dynamic and exciting area of research as
Addison-Wesley, 1998. See their book.
we enter the new millennium.
15. Kruchten, Philippe, The Rational 6. For more information on these models
Unified Process: An Introduction, see the COCOMO II web site at http://
References Addison-Wesley, 1999. sunset.usc.edu/COCOMOII/suite. html
1. McNealy, Scott, Stop Buying Software, 16. Jacobson, Ivar, Grady Booch, and James
Dot Com Perspectives. See www.sun.com/ Rumbaugh, The Unified Software Devel- About the Author
dot-com/perspectives/stop.html. opment Process, Addison-Wesley, 1999. Dr. Richard D. Stutzke
2. Boehm, Barry W., Software Engineering 17. Cusumano, Michael A. and Richard W. has more than 40 years
Economics, Prentice-Hall, 1981. Selby, Microsoft Secrets: How the World’s of experience developing
3. Basili, V.R. and D.M. Weiss, A Method Most Powerful Software Company Creates software. He established
for Collecting Valid Software Engineering Technology, Shapes Markets, and Manages and led the Corporate
Data, IEEE Transactions on Software People, The Free Press, 1995. Page 195 Software Process Group
Engineering, vol. 10, no. 6, pages 728- describes the code complete concept. for Science Applications
738, 1984. 18. Pfleeger, Shari Lawrence, Model of International Corp.
4. Jones, Capers, Sizing Up Software, Software Effort and Productivity, (SAIC) for its first two years. For the past
Scientific American, December 1998, Information and Software Technology, seven years, he has been a principal mem-
pp. 104-109. vol. 33, no. 3, April 1991, pp. 224- ber of two Software Engineering Process
5. Albrecht, Allan J., Measuring 231. Groups: one at the Army Aviation and
Application Development Productivity, 19. Conte, Samuel D., H.E. Dunsmore, Missile Command's Software Engineering
Proceedings of the Joint SHARE, GUIDE, and V.Y. Shen, Software Engineering Directorate and one at SAIC's Applied
and IBM Application Development Metrics and Models,” Benjamin/ Technology Group. Both organizations
Symposium, October 14-17, 1979. Cummings, 1986. Section 5.8 describes have achieved SEI CMM Level 3. Dr.
6. Symons, Charles, Software Sizing and task partitioning and communications Stutzke has written dozens of papers in the
Estimating: Mark II Function Points overhead. Section 6.7 describes COPMO. field of software cost estimation and is
(Function Point Analysis), John Wiley & 20. Stutzke, Richard D., Software Estimating writing a book for Addison-Wesley,
Sons, 1991, ISBN 0-471-92985-9. Technology: A Survey, CROSS TALK , vol. 9, Software Estimation: Projects, Products,
7. Garmus, David, Function Point Counting no. 5, June 1996, pages 17-22. Processes, that will appear this fall.
in a Real-Time Environment, CROSS TALK , 21. Boehm, Barry W, Bradford Clark, Ellis
Vol. 9, No. 1, January 1996, pp. 11-14. Horowitz, Chris Westland, Ray Madachy Dr. Richard D. Stutzke
8. Abran, Alain and P.N. Robillard, Func- Science Applications International Corp.
and Richard Selby, Cost Models for
tion Point Analysis: An Empirical Study 6725 Odyssey Drive
Future Software Life Cycle Processes: Huntsville, Ala. 35806-3301
of Its Measurement Processes, IEEE COCOMO 2.0, Annals of Software Voice: 256-971-6624 or 256-971-7330
Transactions on Software Engineering, vol. Engineering, Special Volume on Software Fax: 256-971-6550
22, no. 12, December 1996, pp. 895-909. Process and Product Measurement, vol. 1 E-mail: Richard.D.Stuzke@saic.com
Software costs continue to rise in the calibration improves the estimating accu- 8, 9, 10, 11]. Each is available from the
Department of Defense (DoD) and other racy of a model [6]. Defense Technical Information Center.
government agencies. To better understand Additional detail is also available from the
and control these costs, agencies often use The Decalogue Project authors of this article [12, 13]. Here,
parametric cost models for software devel- This paper describes the results of a only the highlights of the results of the
opment cost and schedule estimation. long-term project at the Air Force five studies are provided.
However, the accuracy of these models is Institute of Technology to calibrate and Calibration rules. The five models
poor when the default values embedded in validate selected software cost estimation were calibrated to a portion of the SMC
the models are used [1]. Even after the models. Two Air Force product centers database. The database was divided into
software cost models are calibrated to provided software databases: the Space subsets: military ground, avionics,
DoD databases, most have been shown to and Missile Systems Center (SMC), and unmanned space, missiles, and military
be accurate to within only 25 percent of the Electronic Systems Center (ESC). mobile. The military ground subset was
actual cost or schedule about half the time. The project has been nicknamed the further divided into command and control
For example, Robert Thibodeau [2] “Decalogue project” because 10 masters’ programs and signal processing programs.
reported accuracy of early versions of the theses extensively document the proce- Each subset was divided into calibration
PRICE-S and SLIM models to be within dures and results of calibrating each soft- and holdout samples using three rules:
25 and 30 percent, respectively, on mili- ware cost estimation model. 1. If there were less than nine data points,
tary ground programs. The IIT Research The Decalogue project is organized the subset was considered too small for
Institute [3] reported similar results on into three phases, corresponding to when a holdout sample and could not be
eight Ada programs, with the most accu- the theses were completed. Five theses validated.
rate model at only 30 percent of actual were completed in 1995; two theses were 2. If there were between nine and 11 data
cost or schedule, 62 percent of the time. completed in 1996; and three theses were points, eight were randomly selected for
Furthermore, the level of accuracy completed in 1997. Lessons learned dur- calibration and the rest were used for
reported by these studies is likely overstat- ing each phase were applied to the next validation.
ed because most studies have failed to use phase. A brief description of each phase 3. If there were 12 or more data points,
holdout samples to validate the calibrated and its results follows. two-thirds were randomly selected for
models. Instead of reserving a sample of calibration and the rest were used for
the database for validation, the same data Phase 1 validation.
used to calibrate the models were used to Each student calibrated a specific The accuracy of each model was eval-
assess accuracy [4]. In a study using 28 software cost model using the SMC soft- uated using criteria proposed by Samuel
military ground software data points, ware database. The models were the Conte, et al. [14] based on the following
Gerald Ourada [5] showed that failure to Revised Enhanced Intermediate Version statistics:
use a holdout sample overstates a model’s of the Constructive Cost Model (COCO- (1) Magnitude of Relative Error (MRE) =
accuracy. Half of the data was used to cal- MO) (REVIC), the Software Architecture | Estimate – Actual | / Actual
ibrate the Air Force’s REVIC model. The Sizing and Estimating Tool (SASET), (2) Mean Magnitude of Relative Error
PRICE-S, SEER-SEM, and SLIM. The (MMRE) = (MRE) / n
remaining half was used to validate the
(3) Root Mean Square (RMS) = [(1/n)
calibrated model. REVIC was accurate to government owns REVIC and SASET. (Estimate – Actual)2] ½
within 30 percent, 57 percent of the time The other models are privately owned. (4) Relative Root Mean Square (RRMS) =
on the calibration subset, but only 28 per- Management Consulting and RMS / [(Actual) / n]
cent of the time on the validation subset. Research developed the SMC database, (5) Prediction Level (Pred (.25)) = k/n
Validating on a holdout sample is and it contains detailed historical data for For Equation No. 5, n is the number
clearly more relevant because new pro- more than 2,500 software programs. The of data points in the subset and k is the
grams being estimated are, by definition, database includes inputs for REVIC, number of data points with MRE # 0.25.
not in the calibration database. The pur- SASET, PRICE-S, and SEER-SEM for According to Conte, et al. [14], a model’s
pose of this project was to calibrate and some of the 2,500 projects, but none estimate is accurate when MMRE < 0.25,
properly evaluate the accuracy of selected specifically for SLIM. RRMS < 0.25, and Pred (.25) > .75.
Results . Table 1 summarizes the
software cost estimation models using The details of each thesis project are
described in the separate thesis reports [7, results of Phase 1. Due to an oversight,
holdout samples. The expectation is that
not all five theses reported RRMS. Thus, Table 1 REVIC, SASET, PRICE-S, SEER-SEM, AND SLIM CALIBRATION RESULTS (1995)
only MMRE and PRED (.25) are shown. Model Validation Pre-Calibration Post-Calibration
Validation sample size is the number of Data Set Sample Size MMRE PRED (.25) MMRE PRED (.25)
REVIC Military Ground 5 1.21 0 0.86 0
data points in the holdout sample used Unmanned Space 4 0.43 0.50 0.31 0.50
for validation. For some models, the mili- SASET Avionics 1 1.76 0 0.22* 1.00*
Military Ground 24 10.04 0 0.58 0
tary ground subsets (signal processing and PRICE-S Military Ground 11 0.30 0.36 0.29 0.36
command and control) were combined Unmanned Space 4 0.34 0.50 0.34 0.50
SEER-SEM Avionics 1 0.46 0 0.24* 1.00*
into an overall military ground subset to Command and Control 7 0.31 0.43 0.31 0.29
Signal Processing 7 1.54 0.29 2.10 0.43
obtain a sufficiently large sample size for Military Mobile 4 0.39 0.25 0.46 0.25
validation. SLIM Command and Control 3 0.62 0 0.67 0
* Met Conte’s criteria
As shown in Table 1, most of the cali-
Table 2 SOFTCOST CALIBRATION RESULTS (1996)
brated models were inaccurate. In the two
instances where the calibrated models met Validation Pre-Calibration Post-Calibration
Data Set Sample Size MMRE RRMS PRED (.25) MMRE RRMS PRED (.25)
Conte’s criteria, only one data point was Ground Support 15 2.73 3.13 0.13 1.80 1.96 0.20
used for validation. Thus, these results are Ground Support (Europe) 25 3.05 3.61 0.08 0.67 0.84 0.36
Unmanned Space 5 0.56 1.05 0.20 0.48 0.92 0.20
not compelling evidence that calibration Unmanned Space (Europe) 7 1.79 0.79 0.14 1.27 0.84 0.14
improves accuracy. In some cases the cali- Avionics 5 0.71 0.76 0.20 0.85 0.56 0.20
Command and Control 6 1.90 3.43 0.17 0.52 0.87 0.50
brated model was less accurate than the Signal Processing 9 0.43 0.61 0.11 0.28 0.64 0.44
Military Mobile 5 0.63 0.51 0.20 0.42 0.40 0.20
model before calibration.
Table 3 CHECKPOINT CALIBRATION RESULTS (EFFORT, 1996)
These results may be due in part to
the nature of the databases available to Validation Pre-Calibration Post-Calibration
Data Set Sample Size MMRE RRMS PRED (.25) MMRE RRMS PRED (.25)
DoD agencies. In the SMC database, the Effort – Function Points
developing contractors are not identified. MIS – COBOL 6 0.54 0.10 0.67 0.02* 0.01* 1.00*
Military Mobile - Ada 4 1.38 0.41 0.25 0.19* 0.06* 0.75*
Therefore, the data may represent an Avionics 4 0.82 0.68 0.50 0.16* 0.11* 0.75*
amalgamation of many different develop-
Effort – SLOC
ment processes, programming styles, etc., Command and Control 6 0.19* 0.14* 0.50 0.16* 0.16* 0.50
which are consistent within contracting Signal Processing 10 0.09* 0.08* 1.00* 0.09* 0.08* 1.00*
Unmanned Space 5 0.05* 0.05* 1.00* 0.04* 0.06* 1.00*
organizations, but vary widely across con- Ground Support 4 0.05* 0.06* 1.00* 0.05* 0.06* 1.00*
COBOL Programs 4 0.05* 0.05* 1.00* 0.05* 0.05* 1.00*
tractors. Also, because of inconsistencies in
software data collection among different * Met Conte’s Criteria
DoD efforts, actual cost data and other Table 4 CHECKPOINT CALIBRATION RESULTS (1997)
the holdout sample rules, the two models Table 6 SAGE CALIBRATION RESULTS (1997)
For CHECKPOINT, the missile sub- from a single contractor. Data from mul- ples were used for validation. Averages of
set was not used, and no European pro- tiple contractors, which often characterize the validation results became the measure
grams were used. In addition, data were DoD databases, are more difficult to cali- of accuracy. This “resampling” technique is
obtained on Management Information brate accurately. Furthermore, CHECK- becoming an increasingly popular and
System programs written in Common POINT is a function point model. If the acceptable substitute for more convention-
Business-Oriented Language (COBOL) user wants to input size in SLOC, which al statistical techniques [20].
from a local contractor, and a subset for is usually the case, the user or model The resampling technique is flexible.
COBOL programs was added to deter- must first convert the SLOC to function For CHECKPOINT, resampling was used
mine if stratification by language would points. Unfortunately, the conversion on only the small data sets (eight to 12
provide better results. Finally, the rules to ratios are sometimes subject to significant data points). Four random samples from
determine the sizes of the calibration and variations. Thus, the SLOC effort results the small sets were used to calibrate and
holdout samples were changed to avoid for CHECKPOINT may not work out as validate the model. For COCOMO II,
the problem of single-point validations well elsewhere. only data sets of 12 or more data points
experienced in Phase 1. If there were eight were used, and resampling was accom-
or more data points in a subset, half were Phase 3 plished on all sets by using 80 percent of
used for calibration, and the other half for In 1997 three models (COCOMO II, the randomly selected points for calibra-
validation. If there were fewer than eight SAGE, and CHECKPOINT) were cali- tion, and the remaining 20 percent for val-
data points, that subset was not used. brated. COCOMO II, the successor to idation. The process was repeated five
Results. Table 2 and Table 3 show Boehm’s COCOMO model [1], was cali- times, and the results were averaged. For
the results of calibrating each model for brated to the SMC database. The SAGE the SAGE model, all data sets having four
development effort. For SoftCost-00 model, a commercial model developed by or more points were used with an even
(Table 2), calibration almost always Randy Jensen, was calibrated to the SMC more comprehensive resampling proce-
improved the accuracy of the model, and ESC databases. Finally, CHECK- dure. Simulation software, Crystal Ball,
although none of the subsets met Conte’s POINT was calibrated to the ESC data- was used to select two data points for vali-
criteria. For CHECKPOINT, all but one base to determine whether the unusually dation, and the rest for calibration. Instead
subset met the criteria when predicting high accuracy reported by Karen Mertes of limiting the number of runs to four or
development effort (Table 3). [15] could be achieved on a different data- five, all possible subsets were run.
Since CHECKPOINT uses function base. As before, the details are documented Results. Table 4 shows the results of
points as a measure of size, they were used in the 1997 thesis reports [17,18,19]. the CHECKPOINT calibration using the
when sufficient data points were available Only the highlights are described here. ESC database. Unlike the results reported
for the subsets; otherwise, source lines of The ESC database contains informa- by Mertes [15], none of the data sets met
code (SLOC) were used. For three func- tion on 52 projects and 312 computer any of Conte’s criteria, even those for a
tion point effort subsets, there was sub- software configuration items [18], and single contractor. This may be due in part
stantial improvement in accuracy after the contractor identifiers and language, but to the lack of function point counts in the
model was calibrated for other programs does not contain information on applica- ESC database; only SLOC are provided
in these subsets, especially for the Manage- tion type. It also contains inputs for the for all data points. However, since Mertes’
ment Information System COBOL subset. SEER-SEM model for which it was origi- results using CHECKPOINT for SLOC
Except for the Command and Control nally developed. The ESC database was were also good, it is difficult to account
subset, the SLOC effort subsets met initially stratified by a contractor as it was for differences between the results of
Conte’s criteria before and after calibra- thought that a model could be more Mertes [15] and Thomas Shrum [19].
tion. Although calibration did not signifi- accurate when calibrated for a specific Table 5 shows the results for
cantly improve accuracy for these subsets developer [6]. For CHECKPOINT, the COCOMO II, where calibration slightly
(primarily because SLOC are an output, ESC database was also stratified by lan- improved the model’s predictive accuracy,
not an input, to CHECKPOINT), the guage, and by contractor and language. but none of the subsets met Conte’s crite-
accuracy was good even without calibra- Calibration rules. The techniques ria. It is possible that better results may
tion. CHECKPOINT results for effort used to calibrate the models were signifi- be attained when the online calibration
estimation are especially noteworthy as cantly improved over those used in the capability is incorporated into the model.
inputs for this model were not considered earlier phases. In the past, small data sets Table 6 shows the results for SAGE
when the SMC database was developed. reduced the meaningfulness of the calibra- on both databases. Although calibration
Although these results were promis- tion. Making statistically valid inferences sometimes resulted in improved accuracy,
ing, it should not be assumed that from small data sets of completed software only a few sets met Conte’s criteria. This is
CHECKPOINT will do as well in other projects is a common limitation of any cal- somewhat surprising for the ESC data sets,
environments. The best results for the ibration study. To overcome this limita- where individual contractors are identified
CHECKPOINT model were for the tion, each model was calibrated multiple by a code letter, and the model should be
Management Information System times by drawing random samples from consistent for a company. It may be that
COBOL data set, which was obtained the data set. The remaining holdout sam- even within a single company software
programs are developed differently. Also, it 3. IITRI. Test Case Study: Estimating the 15. Mertes, Karen R. Calibration of the
is possible that if the simultaneous effort Cost of Ada Software Development. CHECKPOINT Model to the Space and
and schedule calibration capability that is Lanham, Md., IIT Research Institute Missile Systems Center (SMC) Software
now integrated into SAGE was used, the (1989). Database (SWDB). Master’s thesis.
results would be better. 4. Ourada, Gerald L. and Daniel V. Ferens. Dayton, Ohio, Air Force Institute of
Software Cost Estimating Models: A Technology (1996).
Calibration, Evaluation, and Comparison. 16. Southwell, Steven V. Calibration of the
Conclusion Cost Estimating and Analysis: Balancing SoftCost-R Software Cost Model to the
Calibration does not always improve a Technology and Declining Budgets. N.Y., Space and Missile Systems Center (SMC)
model’s predictive accuracy. Most of the Springer-Verlag, pp. 83-101 (1992). Software Database (SWDB). Master’s
calibrated models evaluated in this project 5 Ourada, Gerald L. Software Cost thesis. Dayton, Ohio, Air Force
failed to meet Conte’s criteria. According Estimating Models: A Calibration, Institute of Technology (1996).
to Mertes, the one exception was the cali- Evaluation, and Comparison. Master’s 17. Bernheisel, Wayne A. Calibration and
bration of CHECKPOINT to the SMC thesis. Dayton, Ohio, Air Force Institute Validation of the COCOMO II Cost/
database, where almost all of the calibrated of Technology (1991). Schedule Estimating Model to the Space
data sets met Conte’s criteria for function 6. Kemerer, Chris F. An Empirical and Missile Systems Center Database.
point and SLOC applications. Unfortu- Validation of Software Cost Estimation Master’s thesis. Dayton, Ohio, Air
nately, Shrum could not replicate this Models. Communications of the ACM, Force Institute of Technology (1977)
result on the ESC database using a superi- pp. 416-429 (May 1997). 18. Marzo, David B. Calibration and Valida-
or validation technique. Overall, none of 7. Galonsky, James C. Calibration of the tion of the SAGE Cost/Schedule Estimating
the models was shown to be more accurate PRICE-S Model. Master’s thesis. Dayton, System to United States Air Force Databases.
than within 25 percent of actual cost or Ohio: Air Force Institute of Technology Master’s thesis. Dayton, Ohio, Air Force
effort, one half of the time. (1995). Institute of Technology (1997).
This does not mean the Decalogue 8. Kressin, Robert K. Calibration of the 19. Shrum, Thomas C. Calibration and
Software Life Cycle Model (SLIM) to the Validation of the CHECKPOINT Model
project was done in vain. Much was
Space and Missile Systems Center Software to the Air Force Electronic Systems Center
learned about the models, their strengths
Database (SWDB). Master’s thesis. Software Database. Master’s thesis.
and weaknesses, and the challenges in cali-
Dayton, Ohio, Air Force Institute of Dayton, Ohio, Air Force Institute
brating them to DoD databases. One Technology (1995). of Technology (1997).
major insight is that the use of a holdout 9. Rathmann, Kolin D. Calibration of the 20. University of Maryland. The Resampling
sample is essential for meaningful model System Evaluation and Estimation of Project. College Park, Md. (1997).
calibration. Without a holdout sample, the Resources Software Estimation Model 21. Albrecht, A.J. and J.E. Gaffney.
predictive accuracy of the model is proba- (SEER-SEM) for the Space and Missile Software Function, Source Lines of
bly overstated. Since all new projects are Systems Center. Master’s thesis. Dayton, Code, and Development Effort
outside of the historical database(s), valida- Ohio, Air Force Institute of Technology Production: A Software Science
tion is much more meaningful than the (1995). Validation. IEEE Transactions on
more common practice of analyzing with- 10. Vegas, Carl D. Calibration of the Software Engineering. Volume SE-9
in-database performance. The calibrations Software Architecture Sizing and (November 1983).
performed in 1997 also developed and Estimation Tool (SASET). Master’s
applied resampling as a superior technique thesis. Dayton, Ohio,: Air Force Notes
to use in validating small samples. It is Institute of Technology (1995). 1. This problem was addressed in Phase 3
better than just using one subset of data 11. Weber, Betty G. A Calibration of the of the Decalogue project, where the ESC
for a holdout, and can be done easily with REVIC Software Cost Estimating Model. database was used. The ESC database
modern software, such as Excel and Master’s thesis. Dayton, Ohio, Air contains an identifier for each contribut-
Crystal Ball. Hopefully, the findings of the Force Institute of Technology (1995). ing contractor.
12. Ferens, Daniel V., and David S. 2. Function points are weighted sums of
Decalogue project will inspire additional
Christensen. Software Cost Model five attributes or functions of a software
effort in the area of model calibration, and
Calibration, An Air Force Case Study. program (inputs, outputs, inquiries,
more promising results will be obtained.
Journal of Cost Analysis and Management, interfaces, and master files). Based on
pp. 43-46 (Fall 1997). their analysis of more than 30 data pro-
References 13. Ferens, Daniel V., and David S. cessing programs, Allan J. Albrecht and
1. Boehm, Barry W. Software Engineering Christensen. Calibrating Software Cost John Gaffney[21] report that function
Economics. Englewood Cliffs, N.J., Models to DOD Databases—A Review points may be superior to SLOC as
Prentice-Hall (1981). of 10 Studies. Journal of Parametrics 14: predictors of software development cost
2. Thibodeau, Robert. An Evaluation of 33-52 (Spring 1999). or effort.
Software Cost Estimating Models. 14. Conte, S.D., Dunsmore, H.E., and
Huntsville, Ala., General Research Corp. Shen, V.Y. Software Engineering Metrics See p. 24 for author information.
(1981). and Models. Menlo Park, Calif.:
Benjamin-Cummings (1986).
10
Software Mini-
Assessments: Process ment, development, and process focus leader of the EPG respon- of the EPG responsible for all
and Practice by Gary improvement) with Harris sible for HISD software process HISD engineering process
Natwick, Geoff Draper, and Corp. and the Air Force. He definition and improvement. improvements. He has more
Lennis Bearden [October 1999]. earned a bachelor of science He has more than 15 years than 25 years experience cover-
Gary Natwick is the metrics degree in electrical engineering experience with Harris Corp. in ing all aspects of system develop-
leader for the Engineering from the University of Miami. various software development ment, including hardware, soft-
Process Group (EPG) responsi- Natwick is a member of the and leadership positions. ware, system engineering, and
ble for advancing the Harris Institute of Electrical and Draper earned a bachelor's program management. His
Information Systems Division to Electronics Engineers and the degree and a master of science interests are software processes,
SEI SW-CMM Level 4. Association for Computing degree in computer science systems engineering process, and
Previously, he was the leader of Machinery and is an Authorized from the University of Illinois systems architecture. Bearden
the SEPG advancing the HISD Lead Assessor in the SEI Cost and Florida Institute of earned a bachelor's degree and
software process maturity to SEI Benefits Analysis-Internal Technology, respectively. master of science degree in elec-
SW-CMM Level 3. He has Process Improvement method. E-mail: gdraper@harris.com trical engineering from the
more than 25 years of software E-mail: gnatwick@harris.com University of Tennessee.
9
Structured Approaches to Managing Change, by Mark C. Paulk [November 1999]. Paulk is a senior member of the
SEI technical staff. He has been with the SEI since 1987 and initially worked on the Software Capability
Evaluation project. He has worked with the Capability Maturity Model® project since its inception and was the
project leader during the development of v. 1.1 of the CMM®. He is a contributor to the International Organization
for Standardization's Software Process Improvement and Capability Determination (SPICE) project, which is develop-
ing a suite of international standards for software process assessment. Prior to his work with the SEI, Paulk was a senior
systems analyst for System Development Corp. (later Unisys Defense Systems) at the Ballistic Missile Defense
Advanced Research Center in Huntsville, Ala. He is a senior member of the Institute of Electrical and Electronic Engineers and a senior
member of the American Society for Quality Control. Paulk has a master's degree in computer science from Vanderbilt University and a
bachelor's degree in mathematics and computer science from the University of Alabama in Huntsville. E-mail: mcp@sei.cmu.edu
8
Improving Software Engineering Practice" by Patricia Sanders [January 1999]. Sanders is the director of test, sys-
tems engineering, and evaluation for the Department of Defense (DoD), where she is responsible for ensuring
effective integration of all engineering disciplines into the system acquisition process, including design, produc-
tion, manufacturing and quality, acquisition logistics, modeling and simulation, and software engineering, with
emphasis on test and evaluation as the feedback loop. She also oversees the DoD's Major Range and Test Facility Base
and development of test resources such as instrumentation, targets, and other threat simulators. She has more than 24
years experience. She holds a doctorate in mathematics from Wayne State University and is a graduate of the Senior
Executive Fellow Program, John F. Kennedy School of Government, Harvard University. E-mail: zetterbt@acq.osd.mil
7
16 Critical Software Practices for Performance-Based Management, by Jane T. Lochner [October 1999]. Lochner is a
1984 Naval Academy graduate. She served aboard USS Norton Sound (AVM-1) and USS Cape Cod (AD-43). She
was selected to the Engineering Duty community in 1988. She has extensive experience with developing and field-
ing complex, real-time combat systems on aircraft carriers and large-deck amphibious ships. She is assigned to the Office
of the Assistant Secretary of the Navy for Research, Development, and Acquisition working command, control, commu-
nications, computers, intelligence, surveillance, and reconnaissance and interoperability issues. She holds a bachelor's
degree in marine engineering, a master's degrees in logistics, applied physics, and computer science, and is a graduate of
the Defense Systems Management College Program Manager's course. E-mail: lochner.jane@hq.navy.mil
6
Influential Men and Women of Software, by Kathy Gurchiek [December 1999]. Gurchiek is the Managing Editor of
CROSS TALK : The Journal of Defense Software Engineering. She has been a journalist for nearly 20 years. She has
worked as a reporter and editor for newspapers in Indiana, Illinois, and Georgia. She has served as an adjunct col-
lege instructor of communications in Salt Lake City, and her free-lance writing experience includes working for regional
magazines, The Chicago Tribune, the Salt Lake bureau of The Associated Press, the Salt Lake Tribune, and the former
CompuServe Wow! online magazine. She holds a master's degree in journalism from Columbia College in Chicago.
E-mail: kathy.gurchiek@hill.af.mil
5
High-Leverage Best Practices—What Hot Companies are Doing to Stay Ahead and How DoD Programs can
Benefit, by Norm Brown [October 1999]. Brown is the founder and executive director of the Software
Program Managers Network, a member (ex officio) of the DoD Software Management Review Board,
and executive director of the DoD Software Acquisition Best Practice Initiative. Brown has a bachelor's
degree in electrical engineering from Pratt Institute, a master's degree in electrical engineering from Rutgers
University, and a doctor of laws from American University. He is a member of IEEE and ACM.
E-mail: spmn@aol.com
4 Earned Value Project Management: An Introduction by Quentin W. Fleming and Joel M. Koppelman [July
1999]. Fleming is a senior staff consultant to Primavera Systems Inc. and has more than 30 years industrial
project management experience. He held various management assignments with the Northrop Corp. from
1968-91, served on an earned value corporate review team, and wrote the corporate policy directive on scheduling.
He was president of the Orange County Project Management Institute (PMI) chapter and developed and taught
four PMI Project Management Professional tutorial courses covering scope, cost, time, and procurement manage-
ment. He has a bachelor's and a master's degree in management and is the author of seven published textbooks,
including Earned Value Project Management, with Koppelman. E-mail:QuentinF@Primavera.com
Joel M. Koppelman is president of Primavera Systems Inc., which provides a family of project management
software products. Before co-founding Primavera in 1983, he spent more than 12 years planning, designing,
and managing major capital projects in the transportation industry, including duties as vice president and
chief financial officer for Transportation and Distribution Associates Inc. Prior to that, he was affiliated with
the management consulting firm of Booz Allen Hamilton Inc. Koppelman is a registered professional engi-
neer with a bachelor's degree in civil engineering from Drexel University and a master's degree in business
administration from the Wharton School of the University of Pennsylvania. He is a frequent speaker at uni-
versities and for international management organizations. E-mail: JKoppel@Primavera.com
3
Confusing Process and Product: Why the Quality is not There Yet, by David Cook [July 1999]. Cook is a
principal member of the technical staff, Charles Stark Draper Laboratory, and working under contract to
the Software Technology Support Center. He has more than 25 years experience in software development
and has lectured and published articles on software engineering, requirements engineering, Ada, and simulation.
He has been an associate professor of computer science at the Air Force Academy, deputy department head of
software engineering at the Air Force Institute of Technology, and chairman of the Ada Software Engineering
Education and Training Team. He has a doctorate in computer science from Texas A&M University and is a
SEI-authorized PSP instructor. E-mail: cookd@software.hill.af.mil
2
CCB—An Acronym for Chocolate Chip Brownies? by Reed Sorensen [March 1999]. Sorensen is on the
technical staff at TRW and was under contract to the STSC at the time this article appeared. He has
more than 20 years experience developing and maintaining software and documentation of embedded
and management information systems, providing systems engineering and technical assistance to program
offices, and consulting with many DoD organizations regarding their software configuration management
and documentation needs.
E-mail: Reed.Sorensen@cti-net.com
1
Configuration Management: Coming of Age in the Year 2000 by Clive Burrows [March 1999]. Burrows
is principal evaluator of configuration management products for Ovum in London, England. He is
the author of four Ovum reports on this subject, the most recent was Ovum Evaluates: Configuration
Management published June 1998.
E-mail: clive_burrows@compuserve.com
CROSSTALK will honor its Top 10 Authors of 1999 during the Software Technology Conference
in Salt Lake City, Utah. Please join us at STC 2000, scheduled for April 30-May 4, when these
authors are singled out for their contribution to CROSSTALK : The Journal of Defense Software
Engineering. For more information on the conference, please see http://www.stc-online.org
as the “best darn project ever done on tor of future results.” To no one’s sur- Bias-Reduction Strategies
time and under budget.” Alex uses his prise, Ralph does not use historical proj- There are ways to decrease the risk of
experience on his last project as an analo- ect data or other metrics to derive his having an estimate that reflects reality in
gy to come up with his task-level esti- task-level estimates for your project. only the most fortunate of situations.
mates for your project, which is good May luck be your constant companion,
news. The bad news is that the estimate Bias-Reduction Strategies but just in case, you can:
may be biased due to the fact that a cross- As the project manager, you are ulti- 1. Encourage Olive to develop a range
section of projects was not used. mately responsible for the accuracy of instead of a point estimate. Make
Ralph’s estimates. To ensure you will not sure she considers the worst case,
Bias-Reduction Strategies be in a soup line any time soon: Murphy’s Law-type of scenario for
There are tactics you can use to stress- 1. Encourage Ralph to use any and all the high-end of the range (a pes-
test Alex’s estimates: historical data and metric informa- simistic estimate).
1. Ask him what assumptions were tion available. While intuition is 2. Ask Olive on what assumptions this
used, and whether they make sense. good, so are data. estimate range is based. If the
Basing the estimate on a similar task 2. At the very least adjust Ralph’s esti- answer is “We will have two fully
completed for a past project where mate in the direction of the histori- dedicated clairvoyants developing
everything (or nothing) went well is cal average. We are more likely to the requirements,” adjust the esti-
a recipe for disaster. Not only should perform closer to the average on mate upward.
the task be similar, but the project subsequent trials. Statisticians call 3. Gather information from a variety
should be, too. this “regression to the mean.” of sources to get a broader picture of
2. Encourage Alex to adjust his initial 3. Make sure Ralph does his homework what needs to be done.
estimate so it is based on historical before presenting this estimate to the 4. Tell the team that you are not
data or metrics such as productivity team. Groups generally show a higher interested in best-case estimates, but
rates and size measures, if available. rate of representative bias than indi- realistic estimates. Some studies have
The objective is to use more than viduals. In other words, groups are shown this will help; some have
one project as a reference. less likely to use available data and shown it will not matter, but it
3. Discuss Alex’s estimate as a team. metrics [6]. cannot hurt.
Groups have been shown to exhibit Remember—studies show our estimates
less of an availability bias than Overconfidence Bias are even more optimistic the more com-
individuals [6]. This bias (sometimes referred to as plex and difficult the task [7].
the optimistic bias) demonstrates that we
Representative Bias tend to overestimate our abilities and Confirmation Bias
The representative bias is most often underestimate the effort involved in com- This is in effect when people search
expressed in software estimating as insensi- pleting a difficult task, particularly when for information that supports their idea
tivity to base-rate data. We can think of we are completing the task ourselves. and ignore information that does not sup-
base-rate data as existing metric data from Studies have shown that the more diffi- port their idea. An analyst who develops a
past projects. Individuals may tend to cult and uncertain a task, the more preva- task-level estimate may consider informa-
ignore metric data in assessing their esti- lent the overconfidence bias [7]. In other tion supporting the estimate, and ignore
mates when other anecdotal information is words, individuals tend to drastically information that the task at hand may be
available, even if the anecdotal informa- underestimate large, complex tasks when significantly larger or smaller than that
tion is irrelevant [7]. The representative using expert judgment as an estimating initial estimate indicates.
bias predicts that even if we have extensive method.
metric data, our teammates may not be Confirmation Example
inclined to consider it when coming up Overconfidence Example Cathy is a perfect example. She tends
with their estimates. Under this bias, the Olive is assigned to the coding to stick to her guns, and can be narrow-
estimate is probably constructed using changes for your high-profile project. minded. She tends to start estimating her
information with a higher degree of uncer- When asked about the amount of work work effort with an estimate in hand and,
tainty than would have been the case had involved in completing her tasks, she after limited research, usually concludes
we used the existing metric data. often prefaces her response with phrases she was right in the first place.
like, “This is a piece of cake,” and “No
Representative Example problem.” Even you, the project manager, Bias-Reduction Strategies
Ralph has just joined your project are taken aback by the aggressiveness of Cathy can be helped. Here is how:
team from another organization that did Olive’s schedule. Ironically, the more dif- 1. Encourage her to research historical
not have historical data or metrics. He ficult the task the quicker she plans to get data and metrics, and ask other
avoids metrics like the plague and points it done. “No problem” might end up experienced team members for help.
out that “past experience is a poor indica- being a big problem. It is important to get her to look at
a variety of information, not just this about 50 hours?” Or, “Can we Work expands to fill the amount of time
data to support her initial estimate. get this done by my birthday next available for completion
2. Play devil’s advocate. Question her week?” Let Alice do her homework
sources and assumptions. and then negotiate. Bias-Reduction Strategies
3. Most importantly, ask if she adjusted Paul is an asset; he realizes the need
her initial estimate based on informa- Prudence Bias to take a closer look at the estimating
tion she found after her research. When faced with high-profile tasks, process. In order to get a more accurate
or the first few times accountability is used estimate, however, try these techniques:
Insufficient Anchor in the same sentence as task-level estimates, 1. Ask him if he added a cushion or
Adjustment Bias team members may respond by coming up padded his estimate. Pad the project
This occurs when an initial estimate with over-cautious estimates [8]. Padding estimate, not each task estimate.
is made (the anchor), and upon re-esti- task estimates can be just as dangerous as 2. Emphasize the need for accurate
mating the effort, insufficient adjust- wildly optimistic low-ball estimates. effort estimates at the task level and
ments are made from that anchor. It does show how padding each task will
not matter if the initial estimate is Prudence Example inadvertently lengthen the critical
derived from historical data, parametric Paul follows all the rules, but you do path.
modeling tools, or a random number not want to get behind him on the free- 3. Olive the optimist and Paul probably
generator. way if you are in a hurry. He takes it pret- do not have a lot to talk about, but it
ty slow to be safe, and also pads his task- is a good idea to have them review
Insufficient Anchor Adjustment Example level estimates to be safe. If several team each other’s estimates.
The task of creating a test plan falls to members follow Paul’s lead, the result can See Table 1 for a summary of the
Alice, who likes to get other team mem- be a wildly over-cautious project estimate. biases that impact software development
bers’ opinions on how much effort they Have you heard of of Parkinson’s Law? task-level estimates.
think the task entails. She hates a blank Table 1. Summary of the Biases and Bias Reduction Strategies
sheet of paper. Someone estimates the task
Bias Description Bias Reduction Strategies
at 25 effort hours. After assessesing the
available information, she determines that Availability Vivid or graphic events • Challenge the assumptions of the
25 hours seems low, and decides to double overshadow objectivity estimate.
the estimate to 50 hours based on limited • Use more than one project/task as a
research. Chances are this adjustment is
reference.
insufficient, simply because it is based on
the initial anchor of 25 hours. The task • Discuss the estimate as a team.
turns out to require 250 effort hours. This Representative Not using base rate data or • Use data as well as intuition.
is the danger of the anchoring bias. metrics • Adjust estimate toward the mean.
Bias-Reduction Strategies • Formulate estimate before
There are methods you can employ discussing as a team.
as a project manager, or conscientious Overconfidence Too optimistic • Use an estimate range vs. a point
team member, to try and avoid the nega-
estimate.
tive aspects of the anchor bias:
1. Encourage Alice to research the • Challenge the assumptions.
problem and really dig into it. • Use more than one source of
2. Ask her to specify a range rather information.
than a point when researching the
• Set expectations for realistic
effort required. This will denote the
estimates.
uncertainty involved and reduce the
tendency to insufficiently adjust Confirmation See what you want to see • Use historical data and metrics.
subsequent estimates. Stating the • Play devil’s advocate.
estimate as about 40 to 80 effort • Stress the importance of adjusting
hours is less specific and probably
the estimate.
easier to adjust, than an early esti-
mate of 52 hours. It pays to be Anchor Insufficient adjustment of • Foster a research-based estimate.
• Use an estimate range vs. a point
approximately accurate, rather than Adjustment subsequent estimates
estimate.
precisely inaccurate. • Do not ask leading questions or
3. Do not ask leading questions when throw out a guess.
inquiring about an estimate. Avoid Prudence Too pessimistic • Pad the project estimate, not the
saying, “Alice, what do you think? Is task estimates.
• Discuss the estimate as a team.
General Bias-Reduction Strategies Let us take Alice's test plan as an encourage estimating. The real expert in
It is virtually impossible to eliminate example. She should document where she the expert judgment approach is home-
the impact of human biases on software collected the information for the task-level work, not just experience, and the team
project estimating. Biases are by defini- estimate, the activity driver for the task needs time to do it right.
tion subconscious. The same psychologi- (perhaps the number of test cases), and
cal mechanism that creates the bias works her assumptions. This data will be very Use More Than One Estimating Method
to conceal it [4]. useful the next time she or anyone else Use a variety of estimating methods
The first and most important step is develops a task-level estimate for a test and sources of information. Use historical
awareness that human biases impact deci- plan. Over the course of many projects, it data (if you do not have any, start collect-
sion-making, particularly decisions with may be found that given this type of proj- ing it), industry statistics, estimating tools,
uncertainty—like task-level estimating in ect and testing environment, it takes organizational metrics data, experienced
software development. If the project team approximately four hours per test case to team members, best guesses, and even
can anticipate, identify, and minimize the complete the test plan. If she estimates she intuition. Comparing multiple estimates
negative impact of biases in the software will have about 50 test cases, her initial lets you know if your team is really getting
estimating process there will be greater effort estimate might be around 200 a handle on the project. For example, it is
certainty in the validity of the project esti- hours. Of course the estimate should be always a good idea to compare the phase-
mate. General strategies will help reduce adjusted (and perhaps not insufficiently), level estimates from a top-down approach,
the human biases in software project esti- but the data collected provides an excel- using a parametric modeling tool, to the
mates. These strategies are: lent place to start, and a handy rule of aggregated task-level estimates from a bot-
• Provide feedback on the accuracy of thumb. It also provides a repeatable tom-up approach. If they are close, you
the estimates. process, which can be improved upon. know you are talking apples and apples.
• Collect data to provide rules of thumb. Imagine being dropped off in a
• Challenge team members to defend Challenge Team Members to Defend, remote location. Being lost is a lot like
and justify their estimates. Justify their Estimates coming up with an estimate. You are not
• Emphasize the importance of estimating. Estimates are based largely on uncer- sure where you are, but you have to know
• Use more than one estimating method. tainty. The more information you can before you can figure out where to go.
find related to the task at hand, the less Imagine you reach in your pocket and
Provide Feedback on uncertainty is involved. Question and find a hand-held global positioning sys-
the Accuracy of the Estimates challenge the estimates, the source of the tem. Things are looking up. You hit a but-
Compare the actual effort hours data, and the assumptions. The adage of ton and find out where you are. However,
logged on each task to the current esti- garbage in, garbage out applies here. that estimate of your location is not based
mate. That way the team member knows on one satellite (a single source of data); it
where he or she is vs. where he or she Emphasize the Importance of Estimating is based on two or three, as your team’s
should be, and can make adjustments To paraphrase President Eisenhower, estimates should be. Estimating is like
accordingly. Do not discount the team estimates are nothing, estimating is every- putting together the pieces of a puzzle.
member’s perception of what work thing. Discourage the path of least resist- There is no answer, just indicators that
remains or how far along he or she is, but ance or the permanent sacrifice of accura- need to be analyzed and managed. See
do not rely on that information alone. It cy for a temporary reduction in effort. Table 2 for a summary of the general bias-
is also a good idea to collect data across Do not just settle for an estimate, but reduction strategies and examples.
several completed projects to use as start-
ing points for future estimates. In addi- Table 2. Summary of General Bias Reduction Strategies
tion, be sure to collect the original esti-
General Bias Reduction Strategies Example
mate as well as the actual effort required
Promote awareness Talk about the impact of biases on estimates
to complete the task [9].
Provide feedback on the accuracy of Track and report estimates to actuals for tasks
Collect Data to Provide Rules of Thumb estimates
In addition to the original estimate Collect data to provide “rules of Record estimates, actuals, assumptions, and
and actual hours logged, other data are
thumb” size measures for future reference
useful to provide a history of a project
Challenge team members to justify Document and question assumptions and
task. At a minimum collect data related to:
• The source of the estimate (best guess, their estimates sources
past projects, etc.). Use more than one estimating method Combine task level estimates and compare to
• The activity driver (number of installs, phase estimates
number of requirements, lines of code).
Emphasize the importance of Give team members the opportunity to research
• The assumptions used (especially skill
estimating their estimates – encourage estimating
level, resource dedication, requirements
volatility).
Conclusion technology project managers should focus 4. Jones, Morgan D. The Thinker’s Toolkit,
Human biases influence and general- their efforts to reduce the negative conse- 1998, Random House, Inc.
ly have a negative impact on the develop- quences of bias in the software estimating 5. Simon, Hervert A. Psychology Review,
process. Our hope is that the suggestions Vol. 63, p. 129, 1956.
ment of task-level estimates. Although it
we have provided here can help you and 6 Lim, Lai-Huat., and Benbasat, Izak. A
is impossible to obviate these biases,
your team develop better task-level soft- Framework for Addressing Group
awareness, understanding, and the incor-
ware project estimates. Judgment Biases with Group Technology.
poration of bias-reduction strategies can Journal of Management Information
help mitigate their negative impact. Systems, Vol. 13, No. 3, Winter 96-97,
We have taken a step back to discuss References pp. 7-24.
what we feel to be the root cause of poor 1. Godson, Philip. To Err is Human, to 7. Bazerman, Max. H. Managerial Decision
task-level estimates using the expert judg- Estimate Divine. InformationWeek, Making, 2nd Ed., 1990. John Wiley &
ment approach during bottom-up esti- January 18 ,1999, pp. 65-72. Sons, Inc.
mating. The expert judgment method is 2. Kahneman, Daniel, and Tversky, Amos 8. Hammond, John. S. Keeney, Ralph. L.,
viable, and likely to remain one of the The Framing of Decisions and the Raiffa, Howard. The Hidden Traps in
most popular methods of developing soft- Psychology of Choice. Science, Vol. 211 Decision Making. Harvard Business
ware project estimates for some time. The No. 30, January 1981, pp. 453-458. Review, Sept.-Oct. 1998, pp. 47-58.
next step will be determining to what 3. Hughes, Robert T. Expert Judgement as 9. Demarco, Tom Controlling Software
an Estimating Method. Information and Projects, Yourdon Press Computing Series,
extent these biases impact software proj-
Software Technology, Vol. 38, 1996 pp. 1982.
ect estimates, and where information
67-75.
About the Authors George Dewey is President of Pathfinder Global
David Peeters is a project manager in the Group Inc. He is a certified Project Management
Information Services Division at American Family Professional, with more than 20 years of experi-
Insurance in Madison, Wis. He has more than 10 ence in corporate planning, project scheduling,
years experience in application development, proj- cost control, estimating, and management with
ect planning, and project management. Peeters has numerous consulting firms and client organiza-
a bachelor’s degree in computer information sys- tions. Dewey holds a bachelor’s degree in indus-
tems from Southwest State University and a mas- trial engineering from North Dakota State University and a mas-
ter’s of business administration from Illinois State University. ter’s of business administration from Virginia Polytechnic Institute.
About the Authors of Does Calibration Improve Predictive Accuracy?, continued from page 17
Daniel V. Ferens is a corporate affordability officer David S. Christensen is an associate professor of
at the Air Force Research Laboratory at Wright- accounting at Southern Utah University. He was
Patterson AFB in Dayton, Ohio. He is also an the reader for the 10 theses described in this paper.
adjunct associate professor of software systems He received his doctorate degree in accounting
management at the Air Force Institute of from the University of Nebraska-Lincoln in 1987,
Technology (AFIT), Graduate School of Logistics and has published more than 50 articles in the
and Acquisition Management, at Wright-Patterson area of defense cost management. He taught cost
AFB, where he teaches courses in software estimation and software management topics at the Air Force Institute of Technology from
management in general. He was the advisor for the 10 theses 1987-97. He is a member of the American Accounting Association,
described in this paper, is an active member of the Society of Cost the Institute of Management Accountants, and the Society of Cost
Estimating and Analysis, and a lifetime member of the International Estimating and Analysis.
Society of Parametric Analysts. Ferens has a master’s degree in electri-
Southern Utah University
cal engineering from Rensselaer Polytechnic Institute, and a master’s College of Business
degree in business from the University of Northern Colorado. 351 West Center St.
AFRL/IFSD, Bldg 620 Cedar City, Utah 84720
2241 Avionics Circle, Room S1Z19 Voice: 435-865-8058
Wright-Patterson AFB, Ohio 45433-7334 Fax: 435-586-5493
Voice: 937-255-4429, ext. 3558 E-mail: ChristensenD@suu.edu
FAX 937-255-4511
E-mail: daniel.ferens@sn.wpafb.af.mil
The Automated Materiel Tracking AMTS Development Research The original paper-based manifest
System (AMTS) had to offer end users The project began as a way to track system required data entry of a 14-char-
what technology has always promised: all materiel movement activities between acter alphanumeric string package identi-
cost-effective, easy, real-time access to a AFMC divisions and a Defense Logistic fication code at each point along the
myriad of time-sensitive and detail-specif- Agency (DLA). It expanded to track the delivery route. This process was very
ic information. AMTS needed to func- actual delivery sites within each AFMC labor-intensive and prone to data entry
tion as the technology bridge between division. The AMTS’ expanded project errors. Quantitative metric data was diffi-
different operating systems and data scope included Hill Air Force Base with cult to compile and, once compiled, not
structures, and allow access to an incredi- approximately 30 delivery sites, handling always accurate or reliable. As a solution,
ble amount of data from multiple virtual approximately 700 transactions daily; hand-held laser bar code scanners became
sites and geographical locations with a Tinker Air Force Base with approximately an intrinsic portion of AMTS, signifi-
seamless interface, so the user need only 100 delivery sites, handling approximately cantly reducing data entry errors.
point and click to obtain needed infor- 2,000 transactions daily; and Warner AFMC and DLA staff members
mation. AMTS had to level the playing Robbins Air Force Base with approximate- identified specific features and benefits:
field by offering a way for simplistic, ly 150 delivery sites, handling approxi- • Conversion of several legacy data
complex and legacy systems to communi- mately 3,000 transactions daily. information systems.
cate with each other, allowing end users The original AMTS required distinc- • Point-and-click ease of use (for access,
to quickly and easily extract data as tions in individual process steps involved in query, input, assessment report
usable information employing various a materiel delivery transaction, including: functions).
hardware input and output options. • Receipt of the requisition by the DLA’s • Online help features.
Myron Anderson, OO-ALC/LGN, Depot Supply System. • Standardized, customizable tracking
sponsored the prototype of the AMTS • Material picking process. procedures and reporting functions.
solution, which was successfully imple- • Packing process. • Easy, low complexity updating
mented in the summer of 1999 at Hill • Transporting and shipping. procedures.
Air Force Base Within days of the proto- • Final receipt of the materiel by the • Lower costs and time required to
type deployment, end users were able to maintenance customer. manually investigate a shipping
provide empirical data on the timeliness The main challenge presented for the discrepancy.
of the receipt of the materiel. Collected project was to find a way to determine • Information protection on the client
date and time stamps could prove when and track if and at what time a materiel intranet with client-designated levels of
an item was ordered, readied for ship- order was involved in each step of a deliv- authorization.
ping, and delivered to a specific location. ery transaction. Although the materiel • Overall system security (to prevent
Part of the project’s success is its ability shipping and delivery movements were malicious and accidental breaches).
to access and manipulate Web-enabled tracked on paper manifests, discrepancies • Ability to utilize wireless portables for
information from the desktop, as well as were common regarding the requested use in tracking purposes and Internet
on handheld scanning units used in the delivery time and location vs. the actual access over a wireless LAN for dynamic
field via wireless local area network delivery time and location. Delivery data access and manipulation
(LAN) and Internet technologies. AMTS urgency specifications (needed within two • Designed to be as lightweight as
is projected to go online simultaneously or four hours, etc.) usually dictated the possible and work on a desktop
at Tinker and Warner Robbins in the final transportation cost of an item; the computer with performance as low as
first quarter of 2000. Although the proj- exact time between order acceptance and 486/33MHz with no appreciable
ect began for Air Force use only, the final delivery needed to be tracked in a performance hit.
Navy has expressed interest in imple- way that could satisfy shipping and receiv- Additional requested enhancements
menting AMTS at its depot locations. ing parties of the transaction. to the original system included tracking
depot maintenance items returning to the also several versions of systems, each writ- The main interface of AMTS is Web-
supply system, clearing of in-transit ten in its own flavor of database language. enabled; if a user were to exit AMTS to
records, tracking of issues from other sup- Additionally, the legacy reports and query access another site, he or she could intro-
ply systems, and developing a series of capabilities were very elementary in nature duce a hostile application back into the
analysis tools to ensure peak performance due to the archaic database design struc- host network, posing security and data
and continual improvement. ture, and data access was difficult due to integrity risks. This was a major concern.
mainframe architecture. In essence, AFMC Again, AMTS utilizes any Web editor
AMTS Development Process had legacy data only, and it needed search- or browser to capture, query, and display
Bar Coding Challenges able, formattable, information, which information. The ability to use existing,
Untethered mobility is a major could be accessed and manipulated in real industry-standard software allows for
requirement for the project. Having a time, merged with new AMTS data, and quick, cost-effective use of AMTS at the
scanning terminal physically connected to used in statistical and accountability desktop level or in the field, regardless of
a LAN would severely hamper productivi- reports in standard existing commercial database interface.
ty. In addition to substantially decreasing off-the-shelf software, such as Microsoft
data entry errors, the portable computers’ Access, Excel, and PowerPoint.
wireless LAN technology complemented Although the AMTS prototype was
the AMTS solution. And, the wireless developed in Access and Excel, releases of The Internet
capability also allows for Internet access, the software are also available in two other
versions to meet existing standardized UNIX Oracle
using any Web browser (i.e. Netscape or NT Alpha Win 95
environments or preferences: Legacy
Explorer), and allows easy access to AMTS
information for immediate use in the field. • Oracle 8i with a Visual Basic interface.
Various Operating Systems, Data Warehouses, Environments
To begin a transaction within AMTS, • SQL with a Visual Basic interface.
a bar coded manifest is generated from the AMTS also uses Microsoft’s remote Bridging the Technology
DLA Depot Supply System. This physical scripting technique to create a dynamic, Not only does AMTS level the play-
manifest accompanies the materiel order as Web-based user interface. Utilizing their ing field and provide full database inter-
it flows through individual steps within Internet Information Server, Scripting face with any operating system environ-
the shipping and delivery process. At each Engines 5.0, and Internet Explorer 5.0, ment; it also acts as a technology bridge
step in the delivery process, the bar code is this technique allows for HTML-based between intercompany departments or
scanned and logged into AMTS to track Web pages to interact with the server distinct companies or entities.
its progress and timing, and the data are without having to reload the page with
then recorded with time and date stamp each transaction.
verifications. The system allows for data Remote scripting uses client-side Division or Company A Division or Company B
Once there was a buyer (end user) tions, with various reactions, such as: obvious problems. If you talk to people
who asked a producer, “Can you sell me – We can do it, but we do not have the involved in building military software sys-
this and that and what is your price?” time to analyze these requirements tems, for example, you will get some clear
Alternatively the producer could ask a until we get the contract proposal of opinions about what causes the problems:
buyer, “Do you want to buy this and that $40 million. The military end user: “These keyboard
at this price?” – This looks interesting, but these monkeys do not understand a thing
This was a long time ago, before the requirements need to be analyzed. about military needs. They do not even
days of complex systems, when both buy- Advance us $3 million to analyze the understand that you cannot put an M317
ers and producers understood the mean- requirements and build a first model backward on an A32!”
ing and the use of this and that. of the system. The programmer: “These brass hats do
Today, with complex systems, the sit- – We do not understand these require not understand a thing about their own
uation has become more complicated: ments, but we desperately need busi- systems. They try to express accuracy per-
• The buyer is not always the end user ness. We will accept a proposal of centage in inches.”
since the end user needs help from $20 million, with 30 percent in This may seem humorous, but as
acquirers and contractors who under- advance. long as the most important players in sys-
stand more about bargaining and con- • The acquirer interprets the acquisition tem production (the end user and the
tract issues than end users’ real needs. regulations and awards the contract to producer) talk about each other instead of
• The seller is not always the producer the third vendor as it had the best to each other, the prognosis for the sys-
since the producer needs to take help price. tem to be produced is not very good.
from marketing and sales people, who • A couple of years pass, and the vendor What is needed is dialogue and . . .
understand more about marketing tries to understand the requirements • Understanding—in a language, which
than about the product. and build a system in accordance with is common to everyone involved.
• Nobody involved really understands this understanding. During the process • Respect—for others’ professional com-
this and that, because the product sold of understanding, the vendor will find petence, with no name calling.
is a new, complex system, which was a number of inconsistencies, contradic- • Courage—to speak up whenever some-
not seen until delivery. tions and gaps in the requirements. one says or writes something you do
The basic questions above are still • The vendor runs out of money and not understand.
asked, but the complicated situation returns to the acquirer and says, “There
makes the answers somewhat hazy, leading are some problems with this contract Take Care of Knowledge Growth
to a situation where requirements specifi- that need to be sorted out. We need an If you start a dialogue between end
cations and management are needed. additional $20 million or we cannot users and producers in a complex system
complete it.” development project, it is inevitable that
Today’s Situation • The acquirer is left with two knowledge grows among those involved.
We are in a situation where too often alternatives: Knowledge growth may reveal fundamen-
a system project runs like this: 1. Not paying extra, not getting a tal glitches in the original specification
• The end user and the acquirer put system, and possibly causing the and/or the original proposed solution.
together a requirement specification. vendor to go bankrupt. If you have a fixed contract with
They get help from one or more 2. Paying extra and getting a system negotiated deliveries and payments, the
consultants to make it complete and that is probably late and not equal best thing about the situation is that it is a
correct. The result is a specification, to the true needs since the end real challenge to the contractors, who may
which requires considerable work just users’ understanding of needs has not understand there is a problem.
to be read and understood. grown during system development. What you need is a work principle,
• The acquirer asks for proposals based which anticipates that knowledge will
on the specification. The Need for Dialogue grow during system development and
• Several vendors look into the specifica- As previously discussed, there are that this new knowledge will change the
direction and content of the development effort. To find a con- supported by other objects used to complete the mission at hand.
tract form that considers growth of knowledge is the real chal- Original requirements are often stated in a requirements
lenge for contractors. specification. They may also be found in published standards and
regulations. Railway systems, for example, are heavily regulated.
Requirements on the Dialogue, Its Language To make it possible to work with the original requirements,
Besides the obvious need for mutual respect, the dialogue and you need a database. Many system engineering tools offer such a
its language require that: database where you can insert the requirements by copying and
• The dialogue must use a language that is readily understand- pasting from a document or even having the original document
able by end users and developers without much training parsed automatically for requirements. One can also use com-
in the language used. mon office tools like Word or Excel to get a low-cost require-
• The language used must be formal in order to avoid ments database.
misunderstandings. However, doing requirements insertion manually is strongly
• The language must be able to describe objects to be managed recommended in order to check uniqueness, testability, contra-
by the system under development. dictions, etc. These checks give valuable understanding of any
• The language must describe system performance precisely. problems pertaining to the original requirements.
• For critical systems, the dialogue must support discussion of Derived Requirements.
fault-tolerance issues, including unexpected operator behavior. As knowledge grows during development and design deci-
• The dialogue must include definition, discussion, and sions are taken, new requirements will surface. These are called
decision on problems, which will surface during development derived requirements, and should be put in the requirements
of any nontrivial system. database as derived.
• The dialogue must anticipate that knowledge will grow
during system development and allow this knowledge to Compositive Structure Allocation
influence requirements and design solutions. Provided the system under development is modeled as a
• The dialogue must accept that requirements management, compositive structure, allocation of requirements is simple. A
development, and verification are three parallel processes compositive structure is where the system is composed from
during a systems engineering effort. objects and connected through their interfaces in such a way
that it is always obvious which objects depend on other objects
Figure 1: Successive Deliveries with Parallel Processes to complete their action. The compositive structure makes it
possible to float requirements downward through the structure
until you find the object, which the requirement should be test-
Development
ed with. The requirement becomes the fulfillment requirement
Requirements of that object.
management Problem Management
Management of problems or issues is a very important part
Verification of the dialogue during system evolution. Problems inevitably sur-
with test face; most of them require a combined effort from end users and
developers to find a feasible solution.
This means that the dialogue must include problem man-
Elements of a Solution Alternative agement, including:
• Problem statements with category and priority.
As understood from the aforementioned reasoning, there is
• Problem headings and numbers.
more to requirements management than writing and accepting a
• Solution alternatives.
requirements specification. The following are some aspects to be
• Solution decisions.
used as the basis for necessary dialogue.
It is possible to manage this with an ordinary word proces-
Missions and Scenarios sor, but a tool that supports at least numbering of the problems
To the end user, a system’s missions are often so obvious that is preferable.
he does not even state them. Instead, he defines a set of scenarios
Understandable Formalism
that may or may not cover the complete mission space. On the
An end user who has expressed himself in clear English,
other hand, the developer will interpret the specification and cre-
with diagrams, would normally believe he has made himself
ate a number of use cases, which may or may not cover the mission
completely clear. That will often be the case, but it is amazing
space.
how such clear requirements are transformed into software and
To create understanding, it is necessary that the end user
hardware that does unanticipated things.
state the missions clearly as they constitute the foundation of
It is doubtful that you would try to make the end user
requirements and design. Scenarios can be added to clarify the
write formal specifications, since the necessary knowledge is
missions’ meaning. The missions are fundamental.
normally not available when the specification is written.
One way to express missions is as mission objects, which are
You could, however, provide a formal representation as part
of the design effort with the objective to: Conclusions About the Author
1. Get a reconfirmation from the end user There are several aspects of require- Ingmar Ogren gradu-
that the specification is understood in ments management. The most important ated with an master’s
an acceptable way. issue is to establish a dialogue between degree in science
2. Give a detailed and formal basis for end users and producers of a system. (electronics) from the
the implementation work, be it hard- It has also been found that the Royal University of
ware, software, or an operator role. original requirements specification is only Technology in Stock-
One way to get this formal descrip- part of the information required for suc- holm in 1966; his
tion is to use formalized English, a sim- cessful requirements management. final project was connecting a fighter aircraft
plified language containing: training simulator with a sector operation
It is a necessity to make requirements
• Variables of defined types. center. He worked with the Swedish Defense
documentation understandable both to the
• Control structures. Material Administration and various con-
end user and to the developers concerned.
• Comments. sulting companies until 1989 in systems
Since the dialogue results in more engineering areas such as communications,
Test Specifications information than can be comfortably aircraft, and command and control. Ogren
Requirements are not much good managed manually, computer-based sup- chairs the board and holds majority owner-
unless they can be tested. If they are dis- port tools will be helpful. ship in two companies: Tofs, which produces
tributed to design objects as fulfillment Furthermore, there is a need to create and markets the Tool For Systems software,
requirements, you can design test cases work situations where everyone involved and Romet, which provides systems engi-
for each object to test that they are met. communicates and respects the profession- neering consulting with the Objects For
To ensure a correct set of test cases al competence of others involved. Systems method as its main product.
has been written, they should be reviewed Finally, you cannot do the require- Ingmar Ogren
by the end user. It is helpful if test cases ments in the beginning of a project, but Romet Corp.
are presented together with the require- you must establish a requirements man- Fridhem2
ments they are intended to verify. One agement process in parallel with processes SE-76040 Veddoe
for development and verification as visu- Sweden
way to do this is to produce a require-
alized in Figure 1. Internet: www.toolforsystems.com
ments/test case matrix.
http://xanadu.bmth.ac.uk/staff/kphalp/students/bsi/predict/tsld http://cse.usc.edu/COCOMOII/cost_bib.html
002.h tm This is a general bibliography on cost estimation, updated
This shows slides on software cost estimation, including in November.
Editor’s Note: A continuation of this interview will appear in our May issue.