| GUIDANCE | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| The Pricing Handbook / Appendix 19D
(Revised 01/2005)
19. Software Pricing 19D. POPULAR PARAMETRIC SOFTWARE COST MODELS
19D.1 Introduction There are several sophisticated parametric software cost models that consider multiple parameters in computing cost or effort required. A list of some common models is provided below, listed in alphabetical order. Subsequent sections are a basic discussion of each model. For each of the models, general information, principal inputs, processing, principal outputs, calibration, and life cycle (or support) considerations will be discussed. When more detailed information is needed, cost estimators are encouraged to consult the referenced documents.
19D.2 Automated Cost Estimating Integrated Tools (ACEIT) ACEIT is an estimating system consisting of a suite of tools designed to assist cost analysts in arriving at cost estimates, conducting "what-if?" studies, developing cost proposals and evaluations, conducting risk and uncertainty analysis, and developing Cost Estimating Relationships (CERs). Its primary purpose is Financial Management. ACEIT is a Joint Service system, sponsored by the Air Force Materiel Command (AFMC) Electronic Systems Center and the US Army Cost and Economic Analysis Center (CEAC). The result of government-sponsored efforts, the ACEIT suite of applications is available to U.S. Government organizations with no charge for use (but there is an annual maintenance & support fee). It is used by Acquisition Program Offices and at various other levels across the Armed Services, throughout DoD, and by other Government agencies. The ACEIT system is comprised of five analysis/estimating tools:
ACE is the heart of ACEIT. It automates all of the steps of the estimating process, including, building a Work Breakdown Structure (WBS), specifying estimating methods, performing learning, time phasing and inflation, and documentation. ACE also provides access to on-line databases and a knowledge base of over 1000 cost estimating relationships, models, and source documents from which users can identify appropriate estimating methods and incorporate them into their estimate. ACDB is an automated cost database with the capability to enter, search, and retrieve cost, schedule, technical, and programmatic data and to automatically load retrieved data into the Cost Analysis Statistics Package (CO$TAT). CO$TAT is a cost analysis statistical package built specifically for the cost estimator to perform statistical analyses commonly used in cost estimation. RI$K is a cost risk application that performs risk and uncertainty analysis. ACE Executive allows estimates and models hosted in ACE to act as cost model servers to other applications.
19D2.1 ACEIT Inputs ACEs provides a workscreen or spreadsheet to perform each step required to make an estimate. The complete list of steps is as follows:
The input screens resemble spreadsheets and require the equations and variables to be defined. Within each workscreen, functionality is provided in ACE by giving each column a dedicated purpose. For example, the Learning Curve Slope column only lets you enter a learning curve slope or a variable name that represents the slope. Each column has its own syntax. By making entries in several columns for a row, you can specify that rows estimating methodology. Typically, the rows in ACE represent WBS/CES line items or input variable items. ACE can import from PRICE Software Models, SEER Cost Models, MS Excel and MS Word. 19D2.2 ACEIT Processing Since the user enters the equations and variables, the user basically defines the processing. The ACE structure allows the user to progressively move from one workscreen to another. The user creates the model structure of the estimate, and calculates the result. This model building can be free-form. The user does not need to move through the workscreens in a pre-defined order. Unique IDs or variable names can be specified for each row and then used in the ACE columns of other rows. This lets rows of the model link together into a system of equations. 19D2.3 ACEIT Outputs Reports are basically spreadsheets containing the results. Tools that ACE can export data to include MS Excel and MS Word. 19D2.4 ACEIT Calibration Since the user controls the equations, calibration is accomplished by creating historical databases, experience and refining the equations. 19D2.5 ACEIT Life Cycle Considerations Include the WBS Lifecycle elements into the model.
19D.3 COnstructive COst MOdel (COCOMO.II) COCOMO.II is a screen-oriented, interactive-software package that assists in budgetary planning and schedule estimation of a software development project prior to any work beginning. Through the flexibility of COCOMO.II, a software project manager can develop a model (or multiple models) of projects in order to identify potential problems in resources, personnel, budgets, and schedules both before and after the potential software package has been completed. The COCOMO.II software package is based upon a recently revised version of the original COnstructive COst MOdel (COCOMO) first published by Barry Boehm in his book Software Engineering Economics, Prentice-Hall (1981), and the Ada COCOMO (1987) predecessors. Table 19D-1 summarizes the different versions of COCOMO. Table 19D-1. COCOMO Model Versions
The primary objectives of the COCOMO.II.1997 effort were to:
The full COCOMO.II model includes three stages. Stage 1 supports estimation of prototyping or applications composition efforts. Stage 2 supports estimation in the Early Design stage of a project, when less is known about the project’s cost drivers. Stage 3 supports estimation in the Post-Architecture stage of a project. The current version of COCOMO.II implements stage 3 formulas to estimate the effort, schedule, and cost required to develop a software product. It also provides the breakdown of effort and schedule into software life cycle phases and activities from the original COCOMO manual. These are still reasonably valid for waterfall model software projects, but need to be interpreted for non-waterfall projects. Equation 19D-1 below is the equation used by COCOMO.II to calculate the estimated effort.
Equation 19D-1. Effort Estimation Equation
Where:
19D.3.1 COCOMO.II Inputs The primary COCOMO.II input are the program size, in KDSI, Function Points or Object Points. However, ratings for sixteen additional attributes must be assessed. These attributes are included in four categories as follows:
These 16 factors (or effort multipliers (EM)) are incorporated into the schedule and effort estimation formulas by multiplying them together. The numerical value of the ith adjustment factor is called EMi and their product is called the adjustment factor or EAF. The actual effort, PMtotal, is the product of the nominal effort times the EAF. 19D.3.2 COCOMO.II Processing Using COCOMO.II, a nominal assessment of man-months based on size alone is assessed for the program being considered. Next, the ratings for all attributes are multiplied to compute the required man-months of effort for the project. The primary challenges in using COCOMO.II are determining size and assigning proper ratings to the sixteen attributes. 19D.3.3 COCOMO.II Outputs The output of the COCOMO.II model is simply the level of effort in man-months for the project being estimated and a schedule in months. The effort output can easily be converted to a monetary value if the cost per man-month is known. The Phase Distribution is one of the outputs. Its function is to display a breakdown of the software effort and schedule into the phases of the development cycle. These phases are plans & requirements, design, programming and integration & test. The outputs of the model are very basic and not very flexible, so performance metrics will need to be created outside of this model. 19D.3.4 COCOMO.II Calibration Calibration is essential to the proper use of software cost models. The user of the COCOMO.II may calibrate EAFs and the effort/schedule equations of the current project. (Detailed procedures for COCOMO calibration are discussed in the COCOMO Reference Manual.) 19D.3.5 COCOMO.II Life Cycle Considerations There are no life cycle considerations included in the COCOMO.II model. The COCOMO Maintenance model (COCOMO-M), described in Chapter 30 of Boehm's book, can be used to estimate annual man-months required to support a software program. No mention of COCOMO-M is contained in the COCOMO.II literature. For the intermediate level COCOMO-M, all inputs from COCOMO 1.0 are used, except that different numerical values are assigned to two attributes: reliability and use of modern design practices. The annual support costs can be computed by multiplying the number of man-months by the average cost of a man-month.
19D.4 Cost Xpert Marotz, Inc. developed a new model called Cost Xpert. The model is designed to provide software project cost estimates, to determine optimal delivery time, to break the project down into tasks by allocating time/effort and to perform quantitative risk/sensitivity analysis. It supports projects using object- oriented development, GUI development and formalized software reuse.
19D.4.1 Cost Xpert Inputs The most important input parameter is size, which can be input as SLOC or function points, GUI Metrics, top down and bottoms up methodologies. All size inputs are converted to equivalent SLOC. When more than one size estimating methodology is used, the user can select which results to be averaged together to create the cost and schedule estimate. Cost Xpert has about thirty inputs which are included in the three other "notebooks tabs". A help screen for each input assists the user in selecting proper values. Each of the tabs is now summarized.
19D.4.2 Cost Xpert Processing The model performs all computations based on "equivalent SLOC". The core costing equations involve a relatively simple equation of the form "Effort = a * volume b ." a and b are organization specific coefficients and can be adjusted by the user during calibration. The exact equations used in the model are not defined in the User’s Guide. The environmental factors used in Cost Xpert are very similar to those used in the REVIC model. 19D.4.3 Cost Xpert Outputs The model’s primary outputs are development effort and schedule, including the optimal effort and schedule for the program(s) being analyzed. Cost Xpert provides staffing profiles by labor category/month. Cost Xpert also has a risk assessment with which the user can perform numerous size, effort, and schedule risk analyses, as well as identifying likely risks to the project and a sensitivity analysis. Maintenance and document deliverable reports summarize those areas. The schedule report is exportable to MS Project. There is a risk assessment tool available (Risk Xpert) that supports both risk assessment and contingency planning/tracking to mitigate risks in a formal, optimized manner. 19D.4.4 Cost Xpert Calibration Cost Xpert contains a minimum amount of detail for calibrating the model. Basically, it is done by comparing actual historical data to model predicted results, then adjusting the coefficients a and b . Further calibration is made by tailoring the inputs in the Project and Constraints tabs. 19D.4.5 Cost Xpert Life Cycle Considerations The model predicts both the maintenance effort for each year of the project and the projected maintenance adjusted for inflation. The quantity of software defect estimates and support calls are also estimated based on the original project input data.
19D.5 ForeSight Model ForeSight is a parametric tool for forecasting time, effort, and cost of non-military software projects; the projects can be new developments, modifications, integration of off-the-shelf applications, maintenance programs, or software upgrades of any type. ForeSight is a tool for all project management tasks related to effort and time forecasting--budgeting, staffing plans, estimate to complete, performance measurement etc. This model has a one button OLE interface to MS Project. ForeSight is a contemporary adaptation of the PRICE S model to address non-military software projects only. It was based upon the same database used to construct PRICE S. ForeSight, however, was tuned to the commercial and non-military government (AIS) records of the PRICE S database and has some different equations. In addition, several databases unique to ForeSight development were incorporated, among them: the National Software Data Information Repository (NSDIR), the ISBSG (International Software Benchmarking Standards Group) database, and a proprietary database of Object Oriented (OO) applications.
19D.5.1 ForeSight Inputs One of the primary inputs for the ForeSight model is program size. Size is usually expressed in SLOC that can be input directly by the user or computed using a sizing model included in the ForeSight package. The Sizer model estimates size by SLOC, by using predictive object points (POPs) or by converting a function point count to SLOC. Other key inputs include the following:
There are other inputs for internal and external integration effort, schedule start and end dates, programming language used, and economic factors.
19D.5.2 ForeSight Processing ForeSight uses a common core equation that relates schedule and effort to software product size and software production capability. The form of the core equation is: M = A * SizeB; where M is either effort or time and A and B are functions of software production capability and/or product type. ForeSight adjusts the size measure (in units of lines of code, function points, or object points) for software functionality and amount of reuse. Other areas around the core equation that influence project performance are treated by the forecasting engine. The exact equations are proprietary and are not included in the user’s manual. 19D.5.2 ForeSight Outputs Results are provided in a number of fix formatted forms, including text and graphic reports, screens, Microsoft Project inputs, and a ForeSight project file in Microsoft Access format. ForeSight produces estimates that include: size, schedules, staffing, labor effort, cost, and quality. 19D.5.3 ForeSight Calibration The Help menu provides no indication of how to calibrate this model other than by changing the individual attribute ratings or through updating "historical elements". Historical elements are software systems, subsystems or elements that have been completed and for which cost, schedule or effort information is available. A historical element may be integrated into a new system/subsystem as COTS or as an analogy for forecasting purposes. "In either case ForeSight will calibrate the technical and cost information to establish a unique performance measure for each historical element." 19D.5.4 ForeSight Life Cycle Consideration The ForeSight Life Cycle Model, included in the ForeSight package, is a detailed model which computes software operation and support costs. The Profile menu generates a graphical display that is used to control the distribution of effort expended during the support period. The total effort is a combination of four distributions: Defect Detection, Defect Repair, Enhancement, and Adaptation. All four may be viewed on a single Profile screen at once. Associated with every element of an ForeSight Estimation Breakdown Structure is a table of data that enables tailoring of the type listed above. Supplemental data controls the level of tasks and resources estimated for elements.
19D.6 KnowledgePLAN Model (Replaces CHECKPOINT) The KnowledgePLAN model algorithms are derived from over 6,700 projects. The model is applicable to all types of programs and has its knowledge base updated annually.
19D.6.1 KnowledgePLAN Inputs Like the other models discussed, the primary input for KnowledgePLAN is size. However, KnowledgePLAN is different than most other models in that it works primarily in sizing by analogy or with function points instead of SLOC. The model will accept SLOC, but converts SLOC to function points using conversion factors in the model. In addition to size, the model requires certain inputs for a quick (or basic) estimate, and additional parameters for a detailed estimate. The inputs for each option are now summarized.
19D.6.2 KnowledgePLAN Processing The specific algorithms used in this model are not defined in the KnowledgePLAN User’s Guide. The Guide does state that the project estimates are regulated by: algorithms from the project’s assigned knowledge base, by task category inclusion rules, by adjustment rules from the estimation engine, by task/category properties and by task estimation flags. The starting point is the knowledge base assigned to the project by the model based primarily on the answers to the quick estimate inputs. Knowledge bases contain the rules and estimates for the base estimate. The algorithms are tuned to the default settings of the project classification variables and can be viewed/modified by the user. 19D.6.3 KnowledgePLAN Output The model provides the user with several different outputs. Like most other models, KnowledgePLAN provides an estimate of schedule, staffing, and effort in dollars or person-months in table or Gantt chart views. KnowledgePLAN provides a risk analysis of various input options selected; along with estimates for size, defects, test and reliability, maintenance, documentation, and various productivity parameters. 19D.6.4 KnowledgePLAN Calibration The user can calibrate KnowledgePLAN by overriding the model’s default values for inputs or quality and productivity rates. This can either be done directly or, more commonly, by creating templates based on historical data. Templates include any values for which the user wants to override the model’s defaults, and are requested as part of a basic estimate. Templates pass along the domain and knowledge base that the new project will use. The KnowledgePLAN User's Guide provides information about template creation. 19D.6.5 KnowledgePLAN Life Cycle Considerations KnowledgePLAN includes more than fifteen "maintenance" inputs in the "detailed estimate inputs". Examples are maintenance personnel experience, amount of replacement and restructure planning, number of sites, and customer support. The user can also specify the amount of code to be added or deleted annually. The model estimates the annual cost of maintenance and enhancements for a time period specified by the user, up to 20 years.
19D.7 PRICE-S Model Martin Marietta Price Systems (initially RCA Price, then GE Price) originally developed this model as one of a family of models for hardware and software cost estimation. Developed in 1977, PRICE-S was the first commercially available detailed parametric software cost model to be extensively marketed and used. The PRICE-S model is proprietary; not all equations are published, although the PRICE-S Reference Manual describes the basic parametric relationships. The model is applicable to all types of software projects. It considers all eight phases of the software development cycle, plus system concept and operational testing phases.
19D.7.1 PRICE-S Inputs One of the primary inputs for the PRICE-S model is program size. Size is usually expressed in SLOC that can be input directly by the user or computed using a sizing model included in the PRICE-S package. The Sizer model estimates size by SLOC, by using predictive object points (POPs) or by converting a function point count to SLOC. Other key inputs include the following:
There are other inputs for internal and external integration effort, schedule start and end dates, programming language used, and economic factors. 19D.7.2 PRICE-S Processing Parametric relationships which combine management perception and historical results are used to relate new software projects to costs and schedules that are typical of the work to be accomplished. Although much material concerning the PRICE-S algorithms has been published, some details concerning the algorithms are proprietary and are not available to the user. It is known that PRICE-S computes a "weight" of software based on the product of instructions and application inputs, which are comparable to hardware volume and density respectively. The productivity factor and complexity inputs are very sensitive parameters that affect effort and schedule respectively. Platform is known to be an exponential input; hence, it can be very sensitive. Other input parameters are used to adjust the "weight" of software for a specific program. A 1988 paper published by PRICE Systems, entitled The Central Equations of the PRICE Software Cost Model, describes many internal algorithms in detail, although some algorithms may have been modified since that time. 19D.7.3 PRICE-S Outputs PRICE-S computes an estimate in person-months which may be converted to cost in dollars or other currency units. The model estimates schedule by milestones, with a staffing profile. In addition to cost and schedule estimates, PRICE-S provides automatic sensitivity and schedule effect analyses, together with monthly cost and progress summaries to support budgeting, risk analysis, and project tracking. 19D.7.4 PRICE-S Calibration Organizational performance history serves as input to a calibration mode that fits the model to user specific environments that characterize productivity within a line of business. The PRICE-S model can be run in the ECIRP (PRICE backwards) mode to calibrate selected parameters. The most common calibration is that of the productivity factor, which, according to the PRICE-S Reference Manual, tends to remain constant for a given organization. It is also possible to calibrate platform, application, and selected internal parameters. 19D.7.5 PRICE-S Life Cycle Consideration The PRICE-S Life Cycle Model, included in the PRICE-S package, is a detailed model which computes software operation and support costs. The Life Cycle Model is designed to be used in conjunction with the Acquisition Model that provides the development costs and design parameters to the Life Cycle Model. The primary inputs are support descriptors such as number of installations, expected growth, and quality and enhancement levels; three calibratible support productivity factors; and separate size and expected growth. The Life Cycle Model outputs cost in three support categories: maintenance, enhancements, modifications and growth. It also outputs a predicted number of delivered defects in the program to be supported.
19D.8 RESERVED
19D.9 SoftCost-Object-Oriented (OO) Model The SoftCost Object-Oriented (SoftCost-OO) model, developed and marketed by Resources Calculations, Inc. (RCI), evolved from the SoftCost-Ada model developed by Don Reifer which was, in turn, based on the published work of Dr. Robert Tausworthe of the Jet Propulsion Laboratory. In addition to Ada, SoftCost-OO has calibration files for the C++ language and generic object-oriented paradigms. The model is markedly different from the SoftCost-R model, which more closely paralleled COCOMO. The SoftCost-OO model has a database of over 240 Ada, 50 C++, and 120 object-oriented projects. The model is one of a family of models marketed by RCI, which includes SoftCost-R (a software cost estimation tool for data processing, scientific and real-time applications), Asset-R (a function point tool to estimate software size) and SSM (an analogy software sizing model). SoftCost-OO includes a work breakdown structure (WBS) file editor which allows use of preloaded WBS files, modification of pre-loaded files, or development of a new WBS from scratch. The WBS file editor also checks for correct allocation of duration and effort percentages for each WBS item, and for an allowable set of predecessor activities in a network. SoftCost-OO is applicable to all types of object-oriented programs and considers all phases of the software development cycle. The model’s equations are published in the SoftCost-OO User's Guide; however, the computer program used to solve these equations and related analyses is proprietary to RCI.
19D.9.1 SoftCost-OO Inputs A key input of SoftCost-OO is size, which can be input either as SLOC or function points. If SLOC is used, the minimum, most likely, and maximum SLOC are input for new, reused, and modified components. In addition to size, SOFTCOST-OO has twenty-eight other inputs, or attributes, in four categories. Some of the categories and inputs are similar to those used in COCOMO and REVIC. Most of these inputs require a rating ranging from "1" to "6" with "3" being "nominal" or "no-effect"; however, a few inputs such as number of organizations allow other numerical values. A help screen for each input assists the user in selecting proper values. The inputs in each category are as follows:
SoftCost-OO also has a "Quick Run" capability where, if a similar project has previously been estimated, it can be recalled and only size is required as an input. Once size has been entered, the project can be analyzed like any other project. 19D.9.2 SoftCost-OO Processing SoftCost-OO is one of the few models for which the mathematical algorithms are completely described in the Reference Manual. The SoftCost-OO equations are:
PM is the effort in person-months; M is schedule in months; A0 and B0 are calibration constants which depend on the application type input; Al is an architectural constant which depends on the system architecture input; A4 and B2 are scaling factors which vary with size, degree of reuse, and number of OO projects completed; A3 is the product of all inputs not used for other equation factors; and C and D are exponents which vary with number of OO projects completed. The SoftCost-Ada User's Manual illustrates values assigned to ratings for all model inputs to help the user understand the effect of each on effort and schedule. The model also has several other equations, as described in the SoftCost-OO Reference Manual. 19D.9.3 SoftCost-OO Outputs SoftCost-OO computes a nominal estimate in person-months of effort and schedule for each project, along with a productivity value and an estimate of average number of personnel required. The model then allows for investigation of the sensitivity of each of the input variables and exploration of alternatives to the nominal estimate or changes in schedule, effort, or confidence level. The model also provides schedule outputs for Gantt and PERT charts. 19D.9.4 SoftCost-OO Calibration The model contains three calibration files; an Ada file, a C++ file, and a generic OO file. The user must select one of these as an input for a model estimate. The user can change these files to reflect his or her environment, but this must be done carefully. RCI plans to develop an on-line calibration capability to work with SoftCost-OO as a separate product. 19D.9.5 SoftCost-OO Life Cycle Considerations SoftCost-OO contains a separate life cycle model for support costs. In addition to SoftCost-OO developmental inputs, life cycle inputs include annual change traffic, length of the support period, a sustaining engineering factor, and economic factors. There is also a provision for entering and reporting on various staff levels, fixed support costs, and fixed work force levels. 19D.10 RESERVED
19D.11 RESERVED
19D.12 Software Life Cycle Model (SLIM) This model was developed by Quantitative Software Management (QSM) Corporation, and is based on the work of Lawrence Putnam. SLIM is proprietary; however, much of the theory behind the model is published in previous works by Putnam, and his book Measures of Excellence. A key feature of SLIM is the use of the Rayleigh-Norden curve, illustrated in Figure 19D-1, to allocate resources during a project. The time integral of the Rayleigh-Norden curve results in the "software equation", which is as follows: (Note: TD is development time.) Size = (Productivity Factor) * (Effort)1/3 * TD4/3 This software equation is fundamental to SLIM and the entire QSM approach. SLIM is applicable to all types of projects, although it was originally developed for large projects. It computes costs for all software development phases. The "main build" phase initially computed by SLIM includes the detailed design through system test phases, but the model has the option to include the "requirements and design" phase, including software requirements and preliminary design, and a "feasibility study" phase to encompass system requirements and design.
19D.12.1 SLIM Input The significant user inputs to the model are as follows:
19D.12.2 SLIM Processing Although the actual equations for SLIM are proprietary, it is known that SLIM relies heavily on the Rayleigh-Norden curve and its inherent assumptions. The original curve assumed that the maximum manpower was allocated at TD, the development time, and that there was a 60:40 ratio of support costs to development costs. SLIM adjusts this curve as required to meet project-peculiar inputs, especially for smaller programs, and user-specified constraints. The shape of the curve is determined by three key parameters within the model: size, PI, and the manpower buildup index (MBI). The MBI is a number that varies between -3 and 10. It reflects the rate at which personnel are added to a project. Higher ratings indicate faster buildup rates, and result in shorter schedules but higher costs. The Rayleigh curve, as shown in Figure 19D-1, is shifted upward and to the left as MBI increases. Lower size or higher PI values result in both lower costs and shorter schedules; the Rayleigh curve is shifted downward and to the left. Although MBI is a significant parameter, the user cannot input MBI directly. Instead, it is determined primarily by the user-specified constraints. 19D.12.3 SLIM Outputs The primary output of SLIM is an optimal solution to meet the constraints specified by the user. In the absence of constraints, the model will compute a "minimum time" solution for which the user can reduce cost by relaxing the schedule. The "staffing view" of the model shows a staffing profile along with the model’s computed cost, effort, schedule, peak staffing required, and MTTD. The staffing view also shows the probabilities of meeting each of the specified constraints. The model also has a "ballpark view" and a "consistency view" where time, effort, MTTD, average staffing, and PI are compared with similar projects in the SLIM database. SLIM has numerous report options for risk analysis, defect profiles, and other areas of interest to the user. The model has a very impressive feature that allows the user to vary a certain parameter on a chart with the mouse and see the effect on the other parameters, including risk. 19D.12.4 SLIM Calibration The PI for SLIM can (and should) be calibrated using historical data. The model has on-line calibration capability for the user to calibrate a PI from historical projects. All that is required are program size, development time in months, person man-months of effort, and, if available, MTTD for each historical project. PI is determined to the nearest tenth (e.g., 8.3) in calibration. 19D.12.5 SLIM Life Cycle Considerations SLIM has an optional "maintenance" phase output which uses SLIM development inputs to compute man-months, schedule, and staffing profiles. The user can not specify any support-peculiar inputs except the shape of the curve (Rayleigh, stair step, exponential, straight line, or level load). The model computes all support outputs based on extrapolation of the staffing curve for the time after software development is completed using the user-specified curve shape, and the time to achieve either 99% or 99.9% reliability as specified by the user.
19D.13 System Evaluation and Estimation of Resources Software Estimating Model (SEER-SEM) One of a family of models marketed by Galorath Associates, SEER-SEM is based on the work of Randall Jensen in his paper "An Improved Macro-Level Software Development Resource Estimation Model." It uses the Rayleigh-Norden curve (described in SLIM) to allocate resources during a software project and to estimate cost and schedule. SEER-SEM is applicable to all types of programs, and is applicable to all phases of the software development cycle except system requirements and design. The model is proprietary.
19D.13.1 SEER-SEM INPUTS The inputs for this model can be divided into three categories: size, knowledge base inputs, and input parameters. Each category of inputs is now summarized.
19D.13.2 SEER-SEM Processing Although the model is proprietary, some of the equations of the SEERSEM model can be found in the SEER-SEM User's Manual and in articles published by Randall Jensen. SEER-SEM computes an effective technology rating (ETR) based on several input parameters. The model apparently uses the Rayleigh-Norden curve to compute the required effort. SEER-SEM also contains windows where the user can compare two projects, examine several risk analysis graphs, and see what effect a changed input parameter will have on the overall development cost and schedule. 19D.13.3 SEER-SEM Outputs SEER-SEM allows the user to select a variety of output reports and charts. A "quick estimate" provides a snapshot of size effort, schedule, and ETR anytime during the estimating process. Optional outputs include a basic estimate, staffing by month, cost by month, cost by activity, person-months by activity, and software metrics including delivered defects. 19D.13.4 SEER-SEM Calibration The model may be calibrated by computing an ETR from past programs, by computing cost and schedule multipliers from past programs, or both. The cost and schedule multipliers are linear multipliers with a nominal value of one (which would have no effect). The ETR, multipliers, or both can be incorporated into a custom knowledge base for future programs of the type calibrated. One limitation of the ETR is that the user cannot input it directly as a model input; it must be adjusted by changing other input parameters. The cost and schedule multipliers, however, can be input directly. In addition to ETRs, knowledge bases and parameter setting may be calibrated. 19D.13.5 SEER-SEM Life Cycle Considerations SEER-SEM contains an optional "maintenance" output report which provides annual costs and person-months for each year of a user-specified schedule in four categories: corrective, adaptive, perfective, and enhancements. The user can specify the support time period desired along with several other support-unique parameters. These include annual change rate, number of support sites, expected program growth, and differences between development and support personnel and environment, and degree of rigor (level of support). 19D.15 Other Models The models discussed above do not encompass the entire arena of software parametric cost models; there are numerous other models available. For example, there are several variants of COCOMO available in addition to REVIC. Several companies have software cost models that are used solely within the company which developed the model. New models developed for more general use do appear occasionally. The models contained in this appendix were chosen because they were the ones included in most other Parametric Software Cost Estimating references (therefore are assumed to be the most widely used), they were free, or were new/inexpensive with a new approach. A list of other potential estimating tools is included in Appendix C of the Software Technology Support Center’s (STSC) Report on Project Management and Software Cost Estimation Technologies, dated April 1995, available for Internet download at www.stsc.hill.af.mil. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||