Top Banner

of 32

PCEH-5

Jun 04, 2018

Download

Documents

c406400
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 8/14/2019 PCEH-5

    1/32

    Parametric Cost Analysis Handbook

    CHAPTER V

    SOFTWARE PARAMETRIC

    COST ESTIMATING

    107

  • 8/14/2019 PCEH-5

    2/32

    CHAPTER V

    SOFTWARE PARAMETRIC COST ESTIMATING

    SOFTWARE DEFINITION

    Software, in general, is a set of programs and accompanying documentation that direct

    computers to perform desired functions !n simple terms, a software program is a set of

    instructions for a computer Software is critical, not only in the control of space based systems,

    but in "irtually all current military systems #or e$ample, software controls aircraft engines,

    dri"ers and simulators% it directs sur"eillance systems, handles space shuttle operations, and

    controls account, in"entory and &anagement !nformation Systems '&!S(

    )here are three basic types of software )hese are*

    + System software 'also known as the operating system( is a collection of programs

    that manages all the concurrent tasks being performed by a computer, including the

    e$ecution of application software programs

    + tility software is a set of programs that perform routine day-to-day tasks, such as

    listing or compressing data, copying files, etc

    + Application software performs speciali.ed functions like Space Shuttle control and

    the &!S functions mentioned abo"e, or other useful work not related directly to the

    operation of the computer itself

    &ost analysts are familiar with all three types of software as all are used in personal

    computers &S-/S '&icro Soft /isk perating System(, for e$ample, is a trade name for the

    operating system for !ntel 23 Personal Computers 4)S 156 and &icro Soft $cel are

    e$amples of application based software 4isting a directory of user files is a utility softwarefunction )he system software procured by the S 8o"ernment is usually a comple$ combination

    of all three types of software

    THE IMPORTANCE OF SOFTWARE TODAY

    102

  • 8/14/2019 PCEH-5

    3/32

    Parametric Cost Analysis Handbook

    As discussed earlier, maintenance problems are a dri"ing force behind re-engineering, but

    a new business strategy now challenges software organi.ations !t is called business process re-

    engineering or 9ust business re-engineering )he reader should ne"er confuse business re-

    engineering with software re-engineering :e ha"e included this section to discuss how software

    re-engineering is being used to support business re-engineering

    ;usiness re-engineering is the fundamental rethinking and radical redesign of business

    processes to achie"e dramatic impro"ements in measures of performance, such as cost, chucks? that are functionally integrated )hese >chunks? are then analy.ed and regrouped

    around the newly identified business core processes

    !n many ways, this seems a lot like the process of translating from structured analysis to

    ob9ect-oriented analysis Some ad"ocates of business re-engineering admit this is the case ;oth

    in"ol"e changing the basic approach to software and business Software 'and organi.ations(

    should correspond to a meta-model of the real-world !n the past, we attempted to force our

    software designs and organi.ations to conform to a structure that was basically incompatible with

    the real-world sers e$pressed their real-world re

  • 8/14/2019 PCEH-5

    4/32

    implied rules that go"ern how the organi.ation was run at the time the system was de"eloped ;y

    e$tracting these business rules, an organi.ation can better understand and, later, codify the rules

    by which they conduct business

    !mpro"ing software

  • 8/14/2019 PCEH-5

    5/32

    Parametric Cost Analysis Handbook

    FIGURE V-1 HARDWARE/SOFTWARE COST TRENDS

    )he military, like the business world today, sees software pro"iding the "ersatility and

    le"erage to achie"e performance goals #or e$ample, software demonstrated its fle$ibility to

    "irtually insatiable?

    Software is an increasingly important element in military systems of all kinds )he

    capabilities of current and future military systems are dependent on the performance of the

    systems@ software As a system is upgraded or impro"ed, much of the additional capability is

    achie"ed through new software !n fact, many of the functions essential to mission or

    organi.ational success are partly or completely accomplished through the use of software

    nfortunately, software de"elopment and maintenance is an error-prone, time-consuming

    and comple$ acti"ity $perience has re"ealed that many software de"elopment efforts falter

    because the management of these pro9ects fall into se"eral common traps )hese problems are*

    + 4ack of ade

  • 8/14/2019 PCEH-5

    6/32

    + 4ack of control at key points during de"elopment

    + 4ack of standardi.ation

    + 4ack of attention to cost of ownership considerations

    + 4ack of adecontractor? may be a // agency )he de"elopment contractor has the

    responsibility for deli"ering a software product that meets all contractual re

  • 8/14/2019 PCEH-5

    7/32

    Parametric Cost Analysis Handbook

    processes !ncreasingly, the /o/ demands that software be de"eloped within predictable costs

    and schedule nter, therefore, parametric cost modeling

    FIGURE V-2 RELATIVE PENALTY-ERROR CORRECTION

    THE SOFTWARE DEVELOPMENT PROCESS

    )his section defines the basic process of software de"elopment as currently practiced by

    the ma9ority of go"ernment contractors &a9or phases and software de"elopment acti"ities are

    defined, as well as key milestones for the measurement of progress

    The Waterfa M!"e

    //-S)/-5137ADEB2, the current pre"ailing standard guiding software de"elopment, has

    been interpreted as mandating as specific process for use on all military ac:aterfall? &odel, which ser"es as the conceptual guideline for

    almost all Air #orce and ASA software de"elopment )he process described by the model

    116

  • 8/14/2019 PCEH-5

    8/32

    in"ol"es de"elopment through specific, se

  • 8/14/2019 PCEH-5

    9/32

    Parametric Cost Analysis Handbook

    FIGURE V-# WATERFALL MODEL

    An alternati"e approach to software de"elopment in"ol"es the use of incremental builds

    :ith this approach, software de"elopment begins with the design of certain core functions to

    meet critical re

  • 8/14/2019 PCEH-5

    10/32

    complete, each build may follow the waterfall pattern for subse)he product was late, it took more memory than planned, the costs were se"eral times

    the estimate, and it did not perform "ery well until se"eral releases after the first?

    :hy is it so difficult to estimate the cost of software de"elopment= &any of the problems

    that plague the de"elopment effort itself are responsible for the difficulty encountered in

    estimating that effort ne of the first steps in any estimate is to understand and define the system

    to be estimated Software, howe"er, is intangible, in"isible, and intractable !t is inherently more

    difficult to understand and estimate a product or process that cannot be seen and touched

    Software grows and changes as it is written :hen hardware design has been inadesolution? is often attempted through changes to

    the software )his change may occur late in the de"elopment process, and sometimes results in

    unanticipated software growth !n this case it is most important to create a picture, since the

    product can be highly ambiguous at this time

    )he software :;S 'see Appendi$ ;( is an e$cellent tool for "isuali.ing the software

    product )he :;S need not be comple$, nor does it need to be highly detailed A simple

    product tree line drawing is often ade

  • 8/14/2019 PCEH-5

    11/32

    Parametric Cost Analysis Handbook

    software associated with the program regardless of whether it is de"eloped, furnished, or

    purchased !f furnished or purchased software were omitted, it would not be possible to capture

    the cost of integrating pree$isting or purchased software with the de"elopment software

    )he :;S should depict only ma9or software functions, and ma9or subdi"isions !t should

    not attempt to relate the software to the hardware it controls ach of the ma9or software

    functional units can be modeled as a Computer Software Configuration !tem 'CSC!( 4ower le"el

    :;S elements can be modeled as a component nce the :;S is established the ne$t step is to

    determine which estimating techni)echnical Ge"iews and Audits for Systems,

  • 8/14/2019 PCEH-5

    12/32

    Additionally, structured approaches to sub-task identification are e$tremely beneficial in

    determining tasks and the re

  • 8/14/2019 PCEH-5

    13/32

    Parametric Cost Analysis Handbook

    de"elopment of the pro9ect, each of the :;S tasks can be gi"en a pro9ect budget, and a 9ob

    number which is used for reporting time spent on each pro9ect phase or acti"ity )his pro"ides an

    e$cellent pro9ect tracking and history data collection method &ost go"ernment contracts re

  • 8/14/2019 PCEH-5

    14/32

    All potential risks associated with the proposed software de"elopment pro9ect should be

    defined and weighed, and impacts to pro9ect cost should be determined )his information should

    always be included in the software estimation process

    E*t$at$!% Meth!"!!0$e*

    Se"eral methods 'if possible( should be used during the software estimation process o

    one methodology is necessarily better than the other, in fact, their strengths and weaknesses are

    often complimentary to each other !t is recommended that more than one software estimation

    methodology be used for comparison and "erification purposes ne method may o"erlook

    system le"el acti"ities such as integration, while another method may ha"e included this, but

    o"erlooked some key post-processing components #i"e of the methods discussed in /r;oehm@s book Software ngineering conomics are* analogy, bottom-up, top-down, e$pert

    9udgment, and algorithms 'parametrics(

    )hese methods are often used in con9unction with each other and ha"e been used for many

    years by managers of software pro9ects without the use of any formal software estimation tools

    Software estimation tools ha"e only recently been de"eloped which incorporate these methods,

    and many incorporate multiple methodologies

    A%a!0 Meth!"

    stimating by analogy means comparing the proposed pro9ect to pre"iously completed

    similar pro9ects where pro9ect de"elopment information is known Actual data from the completed

    pro9ects are e$trapolated to estimate the proposed pro9ect stimating by analogy can be done either

    at the system le"el or the component le"el

    )he main strength of this method is that the estimates are based on actual pro9ect data and

    past e$perience /ifferences between completed pro9ects and the proposed pro9ect can be identified

    and impacts estimated ne problem with this method is in identifying those differences )his

    method is also limited because similar pro9ects may not e$ist, or the accuracy of a"ailable historical

    data is suspect Also, many pro9ects for // weapon systems may not ha"e historical precedents

    )he analogy or comparati"e techni

  • 8/14/2019 PCEH-5

    15/32

    Parametric Cost Analysis Handbook

    ;ottom-up estimation in"ol"es identifying and estimating each indi"idual component

    separately, then combining the results to produce an estimate of the entire pro9ect

    !t is often difficult to perform a bottom-up estimate early in the life cycle process because the

    necessary information may not be a"ailable )his method also tends to be more time consuming and

    may not be feasible when either time or personnel are limited

    T!3-D!.% Meth!"

    )he top-down method of estimation is based on o"erall characteristics of the software

    pro9ect )he pro9ect is partitioned into lower-le"el components and life cycle phases beginning at the

    highest le"el )his method is more applicable to early cost estimates when only global properties are

    known

    Ad"antages include consideration of system-le"el acti"ities 'integration, documentation,pro9ect control, configuration management, etc(, many of which may be ignored in other estimating

    methods )he top-down method is usually faster, easier to implement and re

  • 8/14/2019 PCEH-5

    16/32

    'S4C(, number of functions to perform, and other cost dri"ers such as language, design

    methodology, skill-le"els, risk assessments, etc

    Ad"antages of this method include being able to generate repeatable results, easily modifying

    input data, easily refining and customi.ing formulas, and better understanding of the o"erall

    estimating methods since the formulas can be analy.ed Howe"er, the results are

  • 8/14/2019 PCEH-5

    17/32

    Parametric Cost Analysis Handbook

    As these software estimating components are enhanced, refined, and continually applied, the

    software estimating process, associated tools, and resulting products attain higher le"els of

  • 8/14/2019 PCEH-5

    18/32

    + $perience of team in the application area

    + $perience of team with the programming language and computer

    + se of tools and software engineering practices

    + Ge

  • 8/14/2019 PCEH-5

    19/32

    Parametric Cost Analysis Handbook

    to F function points per person month( #PA has been de"eloped and applied almost e$clusi"ely in

    !nformation System applications A "ariation, called feature point analysis, has been defined for

    other application areas )he chief difference between feature point analysis and #PA is that the

    number and comple$ity of the algorithms to be implemented are considered in calculating the number

    of feature points

    /o not depend on a single cost or schedule estimate se se"eral estimating techni

  • 8/14/2019 PCEH-5

    20/32

    Additionally, organi.ations need to customi.e the software estimation tools to their own

    de"elopment en"ironment 'the calibration process was discussed pre"iously in Chapter !(

    )his customi.ation re

  • 8/14/2019 PCEH-5

    21/32

    Parametric Cost Analysis Handbook

    '6( Pro"ide early estimates - )he tool should be capable of generating estimates

    early and

  • 8/14/2019 PCEH-5

    22/32

    '2( Pro"ide maintenance estimates separately - )he software estimating tool

    should be able to pro"ide software maintenance estimates as a separate item Software

    maintenance includes such acti"ities as correcting errors, modifying the software to

    accommodate changes in re

  • 8/14/2019 PCEH-5

    23/32

    Parametric Cost Analysis Handbook

    )he Ge"ised nhanced ersion of !ntermediate CC& 'G!C( model was de"eloped

    by &r Gaymond 4 Lile formerly of Hughes Aerospace )he Air #orce Contract &anagement

    /i"ision, Air #orce System Command, Lirtland Air #orce ;ase, ew &e$ico, sponsored the

    de"elopment for use by its contract administrator

    )he main difference between G!C and CC& is the coefficients used in the effort

    e

  • 8/14/2019 PCEH-5

    24/32

    FIGURE V - 7

    )he PG!CS tool is based on Cost stimation Gelationships 'CGs( that make use of

    product characteristics in order to generate estimates CGs were determined by statistically

    analy.ing completed pro9ects where product characteristics and pro9ect information were known, or

    de"eloped with e$pert 9udgment

    A ma9or input to PG!CS is Source 4ines of Code 'S4C( Software si.e may be input

    directly, or automatically calculated from

  • 8/14/2019 PCEH-5

    25/32

    Parametric Cost Analysis Handbook

    SASET

    )he Software Architecture, Si.ing and stimating )ool 'SAS)( was de"eloped for //

    by the &artin &arietta Corporation SAS) is a forward-chaining, rule-based e$pert system

    utili.ing a hierarchiacally structured knowledge database )he database is composed of pro9ects with

    a wide range of applications

    SAS) pro"ides functional software si.ing "alues, de"elopment schedules, and associated

    man-loading outputs !t pro"ides estimates for all types of programs and all phases of the

    de"elopment cycle !t also pro"ides estimates for maintenance support and performs a risk

    assessment on si.ing, scheduling, and budget data

    SAS) uses a fi"e-tiered approach for estimating including class of software, source lines of

    code, software comple$ity, maintenance staff loading, and risk assessment )he user can either input

    the program si.e directly or allow SAS) to compute si.e, based on function-related inputs )hetool also has an e$tensi"e customi.ation file in which the user can ad9ust many parameters !t

    operates on PC compatible systems

    SEER-SEM

    System "aluation and stimation of Gesources - Software stimation &odel 'SG-S&(

    is distributed by 8alorath Associates and is currently under a fi"e year Air #orce wide license

    agreement !t pro"ides software estimates with knowledge bases de"eloped from many years of

    completed pro9ects

    )he knowledge base allows estimates with only minimal high le"el inputs )he user need

    only select the platform 'ie ground, unmanned space, etc(, application 'ie command and control,

    diagnostic(, de"elopment methods 'ie prototype, incremental(, and de"elopment standards 'ie

    5137ADEB2( SG-S& is applicable to all types of software pro9ects and considers all phases of

    software de"elopment

    SG-S& is designed to run on PC compatible systems running &icrosoft :indows

    60D61 'Air #orce license includes &S-/S "ersion( !t is also a"ailable for the Apple &ac!ntosh

    running system 306 and abo"e and the !DS work station

    A companion tool called the SG-Software Si.ing &odel 'SS&( is also distributed by

    8alorath Associates and is used to estimate the si.e of the software product

    SLIM

    161

  • 8/14/2019 PCEH-5

    26/32

    )he Software 4ife Cycle &odel 'S4!&( is marketed by Ouantitati"e Software 'OS&(

    S4!& was de"eloped in 1B7B by &r 4arry Putnam riginally de"eloped from analyses of ground-

    based radar programs, the S4!& tool has been e$panded to include other types of programs !t can

    be customi.ed for the userJs de"elopment en"ironment

    S4!& supports all phases of software de"elopment, e$cept re

  • 8/14/2019 PCEH-5

    27/32

    Parametric Cost Analysis Handbook

    GC! also has a separate estimating tool called ASS)-G to estimate the si.e of the software

    product S#)CS)-G, S#)CS)-Ada, and ASS)-G are leased on an annual license basis,

    and re

  • 8/14/2019 PCEH-5

    28/32

    ad9usted by a factor determined from e$perience )hese tools accept characteristics of new programs

    as inputs, then search a database for similar programs )he tools either list the similar programs or

    pro"ide an estimate of si.e based on an a"erage of the si.e of the similar programs selected from the

    database

    $pert 9udgment tools use the opinion of one or more e$perts to estimate the si.e of the

    program, or use structured

  • 8/14/2019 PCEH-5

    29/32

    Parametric Cost Analysis Handbook

    works in con9unction with CA-S)!&ACS to pro"ide software si.e estimation input, and operates

    on PC compatible systems

    CEIS

    C!S is marketed by Computer conomics, !nc stimates are generated by comparing the

    attributes of the new pro9ect to the attributes of three reference pro9ects of known si.e )he user

    determines any si$ attributes that contribute to the number of lines of code and ranks them in order

    of importance, then selects three reference pro9ects of known si.e Separate algorithms are used to

    produce four independent estimates and to determine a le"el of confidence C!S works in

    con9unction with SMS)&-E, and operates on PC compatible systems

    SI9EE6PERTS!PG) was de"eloped by the !nstitute for Systems Analysis and is marketed by

    )echnology ApplicationDngineering Corporation )his tool is an e$pert 9udgment tool that

    produces estimates of liens of code based on

  • 8/14/2019 PCEH-5

    30/32

    )he act of calibration standardi.es a model &any models are de"eloped for specific

    situations and are, by definition, calibrated to that situation Such models usually are not useful

    outside of their particular en"ironment Howe"er, general cost estimating models including

    commercially a"ailable ones such as the #AS), PG!C and SG models 'described earlier( are

    designed to be useful as estimating tools for a wide range of situations )he act of calibration is

    needed to increase the accuracy of one of these general models by making it temporarily a specific

    model for whate"er product it has been calibrated for Calibration is in a sense customi.ing a generic

    model

    !tems which can be calibrated in a model are* product types, operating en"ironments, labor

    rates and factors, "arious relationships between functional cost items, and e"en the method of

    accounting used by a contractor All general models should be standardi.ed 'ie calibrated(, unless

    used by an e$perienced modeler with the appropriate education, skills and tools, and e$perience inthe technology being modeled

    Calibration is the process of determining the de"iation from a standard in order to compute

    the correction factors #or cost estimating models, the standard is considered historical actual costs

    )he calibration procedure is theoretically "ery simple !t is simply running the model with normal

    inputs 'known parameters such as software lines of code( against items for which the actual cost are

    known )hese estimates are then compared with the actual costs and the a"erage de"iation becomes

    a correction factor for the model !n essence, the calibration factor obtained is really good only for

    the type of inputs that were used in the calibration runs #or a general total model calibration, a wide

    range of components with actual costs need to be used ;etter yet, numerous calibrations should be

    performed with different types of components in order to obtain a set of calibration factors for the

    "arious possible e$pected estimating situations #or instance, the PG!C Software &odel addresses

    this situation using internal producti"ity factors )hese can be modified by the calibration process

    TRENDS AND CONCLUSIONS

    Tre%"*

    Ad"ances in languages, de"elopment methodologies, and other areas will ha"e to be

    addressed by future software cost estimating models and associated methodologies As software

    technology matures, changes in de"elopment and support concepts occur which will impact software

    163

  • 8/14/2019 PCEH-5

    31/32

    Parametric Cost Analysis Handbook

    cost estimating Concepts such as prototyping and spiral de"elopment present a challenge to cost

    estimation since normal software de"elopment cycles are altered

    Artificial !ntelligence 'A!( represents a growing area of modern technology Since A! is

    software-intensi"e, proper management of A! software, including cost estimating, will be a challenge

    for software managers )he de"elopment of software for e$pert system and other A! applications

    will probably re

  • 8/14/2019 PCEH-5

    32/32

    )his staff should do all the software estimating acti"ities and determine what data should be collected

    to pro"ide a historical database for future reference

    )he use of two or more software estimating tools using different methodologies is

    recommended )he software de"elopment organi.ation should select a primary tool for software

    estimating and an alternate tool for comparison and "alidation )hese tools should be used

    throughout the software de"elopment process Parametric tools are considered to be the best for

    software estimating for the following reasons*

    +