COCOMO (Constructive Cost Model)
|
|
|
- Jasmine Knight
- 10 years ago
- Views:
Transcription
1 COCOMO (Constructive Cost Model) Seminar on Software Cost Estimation WS 2002 / 2003 presented by Nancy Merlo Schett Requirements Engineering Research Group Department of Computer Science University of Zurich, Switzerland Prof. Dr. Martin Glinz Arun Mukhija
2 I. CONTENT I. Content...2 II. Abstract...3 III. Affiliates...3 IV. Overview COCOMO I Basic COCOMO Intermediate COCOMO Advanced, Detailed COCOMO Ada COCOMO Example of Intermediate Cocomo Advantages of COCOMO' Drawbacks of COCOMO' COCOMO II ReEngineering COCOMO I Needs Focused issues Strategy Three Primary Premises Differences between COCOMO I and COCOMO II COCOMO II Model Definition Nominal Schedule Estimation Equations (NS) Code Category or disambiguation A Reuse Model Automatically translated code Requirements Evolution and Volatility (REVL) Development Effort Estimates Sizing The Scale Factors Cost Drivers Comparison of the Early design model and Post-Architecture model Bayesian approach COCOMO II Modeling Methodology Seven modeling steps The Rosetta Stone Emerging Extensions Status quo COCOTS Applications Composition COPSEMO CORADMO COQUALMO COPROMO expert COCOMO COSYSMO Outlook Problems with Existing Models...18 Tuesday, December 3, 2002, Nancy Merlo-Schett 2 of 20
3 9 Critics Tools Commercial COCOMO II Software Free COCOMO II Software (Extensions)...19 V. Conclusion...19 VI. List of References...20 II. ABSTRACT The original COCOMO stands for Constructive Cost Model. The word "constructive" implies that the complexity of the model can be understood because of the openness of the model, which permits exactly to know WHY the model gives the estimates it does. The model was first published by Dr. Barry Boehm in 1981, and reflected the software development practices of these days. Since this time many efforts were done in the improvement of the software development techniques. Some of the changes were moving away from mainframe overnight batch processing to real time applications, strenuousness in effort in building software for reusing, new kind of system development in including off-the-shelf software components (COTS) and spending as much effort on designing and managing the software development process as was once spent creating the software product. These changes urged to revise the existing model. By the joint efforts of USC-CSE (University of California, Center for Software Engineering) and the COCOMO II Project Affiliate Organizations the COCOMO II model was presented, which should remedy all deficiencies. This new, improved COCOMO (COCOMO II) is now ready to assist professional software cost estimators. III. AFFILIATES The work for COCOMO II has been supported financially and technically by the COCOMO II Program Affiliates: Aerospace, Air Force Cost Analysis Agency, Allied Signal, DARPA, DISA, Draper Lab, EDS, E-Systems, FAA, Fidelity, GDE Systems, Hughes, IDA, IBM, JPL, Litton, Lockheed Martin, Loral, Lucent, MCC, MDAC, Microsoft, Motorola, Northrop Grumman, ONR, Rational, Raytheon, Rockwell, SAIC, SEI, SPC, Sun, TASC, Teledyne, TI, TRW, USAF Rome Lab, US Army Research Labs, US Army TACOM, Telcordia, and Xerox. IV. OVERVIEW The paper gives an overview of COCOMO. It is structured in two parts. Part 1 (section 1) introduces COCOMO I or COCOMO '81 from Dr. Barry Boehm. This part is hold very short. It summarizes only the most important issues. Because of the up-to-dateness more attention is given to part 2 (see below). COCOMO I provides a well-defined, open engineering basis for reasoning about the cost and schedule implications of a software solution. Three levels are discussed and a conclusion shows the advantages and drawbacks of the model. The detailed information about ratings and cost drivers can be found in [Boehm 81]. Part 2 (section 2 to 10) deals with COCOMO II. At the beginning an overall context is given. The Model Definition then presents the specific definitions of COCOMO II. The three-stage model is introduced followed by the explanation of its quantities, estimating equations, scale factors, cost drivers and rating scales. The rating scales themselves won't be discussed in this paper. The section about the Bayesian approach gives a brief overview about this calibration process and summarizes its results. The emerging extensions are described in section 6. At the beginning of this section a status quo summarizes the current state of these extensions as most of them are still experimental (the calibration and counting rules aren't yet robust). The outlook, some general thoughts about the problems with existing models, a critic and a list of available tools close this part. At the end of this paper the list of references is given. Tuesday, December 3, 2002, Nancy Merlo-Schett 3 of 20
4 CHARTER1: COCOMO I, COCOMO'81 1 COCOMO I In this section the model of COCOMO I also called COCOMO'81 is presented. The underlying software lifecyle is a waterfall lifecycle. Detailed information about the ratings as well as the cost drivers can be found in [Boehm 81]. Boehm proposed three levels of the model: basic, intermediate, detailed. The basic COCOMO'81 model is a single-valued, static model that computes software development effort (and cost) as a function of program size expressed in estimated thousand delivered source instructions (KDSI). The intermediate COCOMO'81 model computes software development effort as a function of program size and a set of fifteen "cost drivers" that include subjective assessments of product, hardware, personnel, and project attributes. The advanced or detailed COCOMO'81 model incorporates all characteristics of the intermediate version with an assessment of the cost driver s impact on each step (analysis, design, etc.) of the software engineering process. COCOMO'81 models depends on the two main equations 1. development effort : MM = a * KDSI b based on MM - man-month / person month / staff-month is one month of effort by one person. In COCOMO'81, there are 152 hours per Person month. According to organization this values may differ from the standard by 10% to 20%. 2. effort and development time (TDEV) : TDEV = 2.5 * MM c The coefficents a, b and c depend on the mode of the development. There are three modes of development: Development Mode Project Characteristics Size Innovation Deadline/constraints Dev. Environment Organic Small Little Not tight Stable Semi-detached Medium Medium Medium Medium Embedded Large Greater Tight Complex hardware/ customer interfaces Table 1: development modes 1.1 BASIC COCOMO The basic COCOMO applies the parameterised equation without much detailed consideration of project characteristics. Basic COCOMO a b c MM = a * KDSI b Organic Semi-detached TDEV=2.5 * MM c Embedded Overview 1: COCOMO I; equations and parameters of the basic COCOMO I Tuesday, December 3, 2002, Nancy Merlo-Schett 4 of 20
5 1.2 INTERMEDIATE COCOMO The same basic equation for the model is used, but fifteen cost drivers are rated on a scale of 'very low' to 'very high' to calculate the specific effort multiplier and each of them returns an adjustment factor which multiplied yields in the total EAF (Effort Adjustment Factor). The adjustment factor is 1 for a cost driver that's judged as normal. In addition to the EAF, the model parameter "a" is slightly different in Intermediate COCOMO from the basic model. The parameter "b" remains the same in both models. Intermediate COCOMO a b c MM = a * KDSI b Organic Semi-detached TDEV=2.5 * MM c Embedded Overview 2: COCOMO I; equations and parameters of the intermediate COCOMO I Man Month correction is now: MM Korr = EAF * MM nominal Equation 1: intermediate COCOMO; man month correction Note: Only the Intermediate form has been implemented by USC in a calibrated software tool. 1.3 ADVANCED, DETAILED COCOMO The Advanced COCOMO model computes effort as a function of program size and a set of cost drivers weighted according to each phase of the software lifecycle. The Advanced model applies the Intermediate model at the component level, and then a phase-based approach is used to consolidate the estimate [Fenton, 1997]. The four phases used in the detailed COCOMO model are: requirements planning and product design (RPD), detailed design (DD), code and unit test (CUT), and integration and test (IT). Each cost driver is broken down by phases as in the example shown in Table 2. Cost Driver Rating RPD DD CUT IT ACAP Very Low Low Nominal High Very High Table 2: Analyst capability effort multiplier for detailed COCOMO Estimates for each module are combined into subsystems and eventually an overall project estimate. Using the detailed cost drivers, an estimate is determined for each phase of the lifecycle. 1.4 ADA COCOMO COCOMO has been continued to evolve and improve since its introduction. Beneath the "ADA COCOMO" model: The model named "ADA_87" assumes that the ADA programming language is being used. The use of ADA made it easier to develop highly reliable systems and to manage complex applications. The APM_88 model is based upon a different "process model" called the ADA Process Model. Among the assumptions are: ADA is used to produce compiler checked package specifications by the Product Design Review (PDR) Small design teams are used More effort is spent in requirements analysis and design Less effort is spent in coding, integration, and testing The APM_88 model incorporates changes to the equations, several cost drivers, and a variety of other tables. For further information please contact [Boehm 81]. Tuesday, December 3, 2002, Nancy Merlo-Schett 5 of 20
6 1.5 EXAMPLE OF INTERMEDIATE COCOMO Required: database system for an office automation project. Project = organic (a=3.2, b = 1.05, c=0.38), 4 modules to implement: data entry data update query report generator System SIZE 0.6 KDSI 0.6 KDSI 0.8 KDSI 1.0 KDSI 3.0 KDSI Efforts are rated as follows (all others nominal, 1.0): cost drivers level EAF MM Korr = (1.15*1.06*1.13*1.17) * 3.2 * MM Korr = 1.61* 3.2*3.17 MM Korr = TDEV = 2.5* TDEV = 7.23 (>7months to complete) How many people should be hired? MM Korr / TDEV = team members / 7.23 = 2.26 (>2 team members) complexity high 1.15 storage high 1.06 experience low 1.13 prog capabilities low ADVANTAGES OF COCOMO'81 COCOMO is transparent, one can see how it works unlike other models such as SLIM Drivers are particularly helpful to the estimator to understand the impact of different factors that affect project costs 1.7 DRAWBACKS OF COCOMO'81 It is hard to accurately estimate KDSI early on in the project, when most effort estimates are required KDSI, actually, is not a size measure it is a length measure Extremely vulnerable to mis-classification of the development mode Success depends largely on tuning the model to the needs of the organization, using historical data which is not always available 2 COCOMO II CHARTER 2: COCOMO II, COCOMO 2000 At the beginning an overall context is given where the need of the reengineering of COCOMO I is stressed as well as the focused issues for the new COCOMO version are presented. 2.1 REENGINEERING COCOMO I NEEDS new software processes new phenomena: size, reuse need for decision making based on incomplete information Tuesday, December 3, 2002, Nancy Merlo-Schett 6 of 20
7 2.2 FOCUSED ISSUES The reengineering process focussed on issues such as: 1. non-sequential and rapid-development process models 2. reuse-driven approaches involving commercial-off-the-shelf (COTS) packages 3. reengineering [reused, translated code integration] 4. applications composition 5. application generation capabilities 6. object oriented approaches supported by distributed middleware 7. software process maturity effects 8. process-driven quality estimation 2.3 STRATEGY 1. Preserve the openness of the original COCOMO 2. Key the structure of COCOMO II to the future software marketplace sectors 3. Key the inputs and outputs of the COCOMO II submodels to the level of information available 4. Enable the COCOMO II submodels to be tailored to a project's particular process strategy (early prototyping stage [application composition model], Early Design stage, post-architecture stage COCOMO II provides a family (COCOMO suite) of increasingly detailed software cost estimation models, each tuned to the sectors' needs and type of information available to support software cost estimation [Boehm 2000b]. 2.4 THREE PRIMARY PREMISES PARTICULAR PROCESS DRIVERS: current and future software projects tailor their processes to their particular process drivers (no single, preferred software life cycle model anymore), process drivers include COTS /reusable software availability, degree of understanding requirements and architectures and other schedule constraints as size and required reliability INFORMATION: Consistency between granularity of the software model and the information available RANGE ESTIMATES: coarse-grained cost driver information in the early project stages, and increasingly finegrained information in later stages. Not point estimates of software cost and effort, but rather range estimates tied to the degree of definition of the estimation inputs. 2.5 DIFFERENCES BETWEEN COCOMO I AND COCOMO II The major differences between COCOMO I AND COCOMO II are: COCOMO'81 requires software size in KDSI as an input, but COCOMO II is based on KSLOC (logical code). The major difference between DSI and SLOC is that a single Source Line of Code may be several physical lines. For example, an "if-then-else" statement would be counted as one SLOC, but might be counted as several DSI. COCOMO II addresses the following three phases of the spiral life cycle: applications development, early design and post architecture COCOMO'81 provides point estimates of effort and schedule, but COCOMO II provides likely ranges of estimates that represent one standard deviation around the most likely estimate. The estimation equation exponent is determined by five scale factors (instead of the three development modes) Changes in cost drivers are: Added cost drivers (7): DOCU, RUSE, PVOL, PLEX, LTEX, PCON, SITE Deleted cost drivers (5): VIRT, TURN, VEXP, LEXP, MODP Alter the retained ratings to reflect more up-do-date software practices Data points in COCOMO I: 63 and COCOMO II: 161 COCOMO II adjusts for software reuse and reengineering where automated tools are used for translation of existing software, but COCOMO'81 made little accommodation for these factors COCOMO II accounts for requirements volatility in its estimates Tuesday, December 3, 2002, Nancy Merlo-Schett 7 of 20
8 3 COCOMO II MODEL DEFINITION COCOMO II provides three stage series of models for estimation of software projects: APPLICATION COMPOSITION MODEL for earliest phases or spiral cycles [prototyping, and any other prototyping occurring later in the life cycle]. EARLY DESIGN MODEL for next phases or spiral cycles. Involves exploration of architectural alternatives or incremental development strategies. Level of detail consistent with level of information available and the general level of estimation accuracy needed at this stage. POST-ARCHITECTURE MODEL: once the project is ready to develop and sustain a fielded system it should have a life-cycle architecture, which provides more accurate information on cost driver inputs, and enables more accurate cost estimates. In the following sections the Early Design and Post-Architecture models are presented. The Application Composition Model will be discussed in section 6.3 p NOMINAL SCHEDULE ESTIMATION EQUATIONS (NS) The Early Design and Post-Architecture model use the same approach for product sizing (including reuse) and for scale factors as well as for estimating the amount of effort (PMNS) and calendar time it will take to develop (TDEVNS) a software project. The formula of the nominal-schedule (NS) is given here: PM NS = AxSize E x n i= 1 EM i where A = 2.94 (for COCOMO II.2000) Equation 2: Person month where 5 E = B+ 0.01x SF j where B = 0.91 (for COCOMO II.2000) j= 1 5 F NS = Cx( PM NS where = D + 0.2x0.01x j= 1 TDEV ) F Equation 3: Time to develop SF j where F = D x (E-B) and C = 3.67 and D = 0.28 Inputs: A = Effort coefficient, E = scale factors (5) which account for relative economies or diseconomies of scale encountered for software projects of different sizes, EM = effort multipliers (n=7 for the Early Design model, n=17 for the Post-Architecture model). The values A, B, C and D can be calibrated to one's own database of projects. It is recommended that at least A and C is calibrated to the local development environment to increase the model's accuracy. The scale factors and cost drivers are discussed in 4 p. 11. Equation 4: Sizing equations Inputs: REVL = Requirements Evolution and Volatility (3.7.3 p. 10), New KSLOC = new source code in thousands of source lines of code, the rest of Equation 4 will be discussed in section A Reuse Model p. 9. Tuesday, December 3, 2002, Nancy Merlo-Schett 8 of 20
9 Economies / Diseconomies of scale: the scale factors (SF) reflect this. If E < 1.0 the project exhibits economies of scale, if E = 1.0 it is in balance, if E > 1.0 the project exhibits diseconomies of scale, due to two main factors: growth of interpersonal communications overhead and growth of large system integration overhead. 3.7 CODE CATEGORY OR DISAMBIGUATION For the determination of size code is the basis. But code can have different sources. These sources are briefly discussed and some guidelines for quantifying software are giventable 3 summarizes this excursion. New code: Reused code: Adapted code: new code written manually (without any ICASE; for ICASE see 6.3 Applications Composition p. 16) different worded: from scratch pre-existing code that is treated as a black-box and plugged into the product as it is pre-existing code that is treated as a white-box and is modified for use with the product COTS component: commercial off-the-shelf component, leased, licensed, source code is not available Automatically translated code: pre-existing code for which translation is supported by automated tools (keyword: reengineering/conversion) The effective size of reused and adapted code is adjusted to be its equivalent in new code (ESLOC = equivalent source lines of code). The Adjustment is based on the additional effort it takes to modify the code for inclusion in the product. Additional costs for software understanding arise as soon as the unmodified (black-box) code is modified (white-box). For the adapted code the programmer familiarity with the code is also taken into account. The following section uses the expression reuse for a generic term (reuse and adapted code) A Reuse Model An analysis of the NASA Software Engineering Laboratory of reuse costs indicates that the amount of modification of the reused code to the resulting cost to reuse is nonlinear in three ways: I) The effort required to reuse code does not start at zero because of the 'fix costs' for assessing, selecting and assimilating the reusable component (ca. 5%) II) The cost of understanding the software to be modified and the programmer familiarity III) The relative cost of checking module interfaces The size of II) and III) can be reduced by good software structuring (modular, hierarchical, explained). Note: Small modifications generate disproportionately large costs. The following equation is used to count the module interfaces N to be checked if a module k is modified out of m software modules. Equation 5 N = k x (m-k) + k x ((k -1)/2) As previously mentioned the COCOMO II treats software reuse as nonlinear. This involves estimating the amount of software to be adapted and three degree-of-modification factors: percentage of design modified (DM), - of code modified (CM), - of integration effort required for adapted software (IM). The detailed ratings can be found in [Boehm et al. 2000a]. Further increments are: - percentage of software understanding increment (SU), which consists of three sub-factors: structure, application clarity, self-descriptivness. If these sub-factors are rated as 'very high' SU is 10%, as they are rated 'very low', SU is 50%. - degree of Assessment and Assimilation (AA), which states the appropriation to the application and the integration (documentation, test and evaluation modules available?) into the overall product - degree of programmers unfamiliarity (UNFM), which is 0.0 if the programmer works with the software every day. The equation (Equation 4) can be found in section Note: at the worst case, it can take twice the effort to modify a reused module than it takes to develop it as new! The best case follows a one for one correspondence between adapting an existing product and developing it from scratch. Tuesday, December 3, 2002, Nancy Merlo-Schett 9 of 20
10 3.7.2 Automatically translated code This is an additional refinement for the COCOMO II reuse model to estimate the costs of software reengineering and conversion where automated tools are used for software restructuring. It is seen as a separate activity from development. PM Auto = (Adapted SLOC (AT/100)) / ATPROD Equation 6: automatically translated code PM Auto = ATPROD = AT = Estimated effort of the automated translation default productivity value for automated translation is 2400 source statements per person month. This value can vary with different technologies. percentage of the code that is re-engineered by automatic translation. It is a strong function of the difference between the boundary conditions (e.g., use of COTS packages, change from batch to interactive operation) of the old code and the re -engineered code Requirements Evolution and Volatility (REVL) COCOMO II uses a factor called REVL, to adjust the effective size of the product caused by requirements evolution and volatility, by such factors as mission or user interface evolution, technology upgrades or COTS volatility. It is the percentage of code discarded due to requirements evolution. Size D in the following equation is the reuse-equivalent of the delivered software. Size = (1 + (REVL/100)) x Size D Equation 7: requirements evolution and volatility CODE CATEGORY approach effort estimation via adjustments to new code included in nominalschedule (NS) reused black-box SLOC or UFP yes adapted white box & modifications SLOC or UFP yes yes yes no automatically translated separate translation productivity rate no separate equation COTS component new (ICASE) new black-box scratch scratch special no separate equation no (see 6.2 COCOTS p. 15) note special form of reused code new glue code is annotation associated with COTS component DM 0% 0%-100% normally>0% 0% 0% 0%-100% usually CM 0% > DM 0% and must be 0% > 0% 0%-100% 0%-100% IM IM rarely 0%, usually 0%-100% but could be moderate & can 0%-100% very small be > 100% AA 0%-8% 0%-8% 0%-8% 0%-8% SU not 0%-50% UNFM applicable 0-1 not applicable not applicable Reuse Parameters Table 3:code types or disambiguation Application Points SLOC or UFP no separate yes equation no (see 6.3 Applications yes Composition p. 16) not applicable not applicable Tuesday, December 3, 2002, Nancy Merlo-Schett 10 of 20
11 4 DEVELOPMENT EFFORT ESTIMATES 4.1 SIZING A good size estimate is very important for a good model estimate. However determining size can be very challenging because projects are generally composed of new, reused (with or without modifications) and automatically translated code. The baseline size in COCOMO II is a count of new lines of code. SLOC is defined such that only source lines that are DELIVERED as part of the product are included -- test drivers and other support software (-as long as they aren't documented as carefully as source code- is excluded). One SLOC is one logical source statement of code (e.g. declarations are counted, comments not) In COCOMO II effort is expressed as person months (PM). Person month is the amount of time one person spends working on the software development project for one month. Code size is expressed in thousands of source lines of code (KSLOC). The goal is to measure the amount of intellectual work put into program development. Counting source lines of Code (SLOC) takes account of new lines of code (reused code has to be adjusted). There are two possibilities: either to count the source lines of code (with the Software Engineering Institute (SEII) checklists or tool supported (see 10 Tools p. 19)) or to count the unadjusted function points and to convert them via "backfiring" tables to source lines of code. For further information on counting the unadjusted function points (UFP) as well as the ratios for the conversion can be found in [Boehm et al. 2000a] and [conversion tables for SLOC/UFP]. 4.2 THE SCALE FACTORS Most significant input to the COCOMO II model is size. Size is treated as a special cost driver in that it has an exponential factor, E. This exponent is an aggregation of five scale factors. They are only used at the project level for both the Early Design and the Post-Architecture model. All scale factors have qualitative rating levels ('extra low' to 'extra high'). Each scale factor is the subjective weighted average of its characteristics. The ratings can be fount at [Boehm et. al 2000a]. The five Scale Factors are: 1. PREC Precedentedness (how novel the project is for the organization) 2. FLEX Development Flexibility 3. RESL Architecture / Risk Resolution 4. TEAM Team Cohesion 5. PMAT Process Maturity Scale Factors (Wi) PREC If a product is similar to several previously developed project, then the precedentedness is high FLEX Conformance needs with requirements / external interface specifications, annotation Describe much the same influences that the original Development Mode did, largely intrinsic to a project and uncontrollable RESL TEAM PMAT Combines Design Thoroughness and Risk Elimination (two scale factors in Ada). accounts for the sources of project turbulence and entropy because of difficulties in synchronizing the project's stakeholders. time for rating: project start. Two ways for rating: 1. by the results of an organized evaluation based on the SEI CMM, Key Process Areas in the SEI CMM. Identify management controllables by which projects can reduce diseconomies of scale by reducing sources of project turbulence, entropy and rework. Table 4: scale factors description for COCOMO II Tuesday, December 3, 2002, Nancy Merlo-Schett 11 of 20
12 Scale Factors for COCOMO II Early Design and Post-Architecture Models Scale Factors (Wi) Very Low Low Nominal High Very High Extra High PREC thoroughly unprecedented largely unprecedented somewhat generally unprecedented familiar largely familiar throughly familiar FLEX rigorous occasional relaxation some relaxation general conformity some conformity general goals RESL little (20%) some (40%) often (60%) generally (75%) mostly (90%) full (100%) TEAM very difficult interactions some difficult interactions basically cooperative interactions largely cooperative highly cooperative seamless interactions PMAT Weighted average of "Yes" answers to CMM Maturity Questionnaire Table 5: Scale factors for COCOMO II 4.3 COST DRIVERS COCOMO II has 7 to 17 multiplicative factors that determine the effort required to complete a software project. All cost drivers have qualitative rating levels ('extra low' to 'extra high') that express the impact of the driver and a corresponding set of effort multiplier. The nominal level always has an effort multiplier (EM) of 1.00, which does not change the estimated effort. So a cost driver's qualitative rating is translated into a quantitative one for use in the model. The COCOMO II model can be used to estimate effort and schedule for the whole project or for a project that consists of multiple modules. The size and cost driver ratings can be different for each module, with the exception of the Required Development Schedule (SCED) cost driver and the scale factors. In the Early Design model a reduced set of multiplicative cost drivers is used as shown in Table 6. The early cost drivers are obtained by combining the Post-Architecture model cost drivers. For example, if a project will develop software that controls an airplane's flight, the Required Software Reliability (RELY) cost driver would be set to 'very high'. That rating corresponds to an effort multiplier of 1.26, meaning that the project will require 26% more effort than a typical software project. Early Design cost drivers Post-Architecture cost drivers (Counterpart combined) Product reliability and complexity RCPX RELY, DATA, CPLX, DOCU Required reuse RUSE RUSE Platform difficulty PDIF TIME, STOR, PVOL Personnel capability PERS ACAP, PCAP, PCON Personnel experience PREX AEXP, PEXP, LTEX Facilities FCIL TOOL, SITE Required Development Schedule SCED SCED Table 6: Effort Multipliers for the Early Design and Post-Architecture Tuesday, December 3, 2002, Nancy Merlo-Schett 12 of 20
13 4.4 COMPARISON OF THE EARLY DESIGN MODEL AND POST-ARCHITECTURE MODEL deployment information available Early Design model This model is used to make rough estimates of a project's cost and duration before its entire architecture is determined. not enough Post-Architecture model This is the most detailed COCOMO II model. It is used after project's overall architecture is developed. This stage proceeds most cost-effectively if a software lifecycle architecture has been developed, validated with respect to the systems mission, concept of operation and risk. fine-grain cost estimation can be supported cost drivers set of seven cost drivers set of 17 multiplicative cost drivers grouped into four categories (Product factors, Platform factors, Personnel factors, Project factors). These four categories are parallel the four categories of COCOMO'81. Many of the seventeen factors of COCOMO'II are similar to the fifteen factors of COCOMO'81. For added or removed cost driver see section 2.5 p. 7. involves exploration of alternative software/system architecture and concepts of operation actual development and maintenance of a software product Table 7: comparison of the Early Design model and Post-Architecture model 5 BAYESIAN APPROACH In short terms the Bayesian approach consists of merging expert-opinion (Delphi) and project data, based on the variance of the two sources of information, in order to determine a more robust posterior model. Model D (data determined) has all its cost-driver values calibrated to the best data that is available. Model E (expert-determined) uses the same form and cost drivers as Model D, but all cost driver values are determined by expert consensus. Two problems arise: - Problem of Model D (best data available): project data is inevitably collected with imprecise definitions of what is included in the product, process and workforce. - Problem of Model E: some of the cost driver values calibrated to the noisy data do not square with the expert's experience. For example: For a new project Model D estimates 122 mm, Model E comes to 236 mm. which model is to choose? if the average should be taken then just the halfway estimate 179 mm is correct? Model D (data determined) Model E (expert-determined)? Model B (balanced) Model B (balanced) is constructed in a way that it favours experts for cost drivers where they are in strong agreement and the data fit is week, and favours the data fit for cost drivers where it is strong and the experts disagree. This technique is provided by the Bayesian approach to determine model parameters. Model E (Expert-Determined) parameter values and their variances are taken as the a priori knowledge about the parameter values. Model D (data-determined) parameter values and their variances are taken as new information which can be used to determine a posteriori update of the parameter values. The Bayesian approach basically produces a weighted average of the Model D and E values, which gives higher weights to parameter values with smaller variances. Tuesday, December 3, 2002, Nancy Merlo-Schett 13 of 20
14 Wideband Delphi process guaranties the consistency of interpretations and increased consensus among the experts. Ends inevitably with some variance around the experts' mean parameter values, indicating the degree to which the experts disagree on the parameter's effect on the quantity being estimated. 5.5 COCOMO II MODELING METHODOLOGY Preparation includes: Parameter definition, how to use parameters to produce effective estimates. The methodology tries to minimize risk of lost expert time and maximize estimates. Here the question arises which parameters are significant (most estimate efficient), in which way and with which rating scale Seven modeling steps 1. analyse existing literature 2. review software cost modelling literature 3. to insight on improved functional forms potentially significant parameters 4. parameter definition issues (e.g. size) 5. identification of potential new parameters Process Maturity and Multisite Development 6. continuation of a number of parameters from COCOMO I 7. dropping of such COCOMO I parameters as turnaround time and modern programming practices (subsumed by process maturity) The Bayesian approach was used for COCOMO II and is (will be) reused for COCOTS, COQUALMO, COPSEMO and CORADMO. 5.6 THE ROSETTA STONE The ROSETTA STONE is a system that updates COCOMO I so that it can be used with COCOMO II models. The ROSETTA STONE permits users to translate project files from COCOMO 81 to COCOMO II (backwards compatibility). 6 EMERGING EXTENSIONS Because of the rapid changes in software engineering development not all directions of impact could take place in the COCOMO II model. So some emerging extensions were required to overcome the deficiencies. All of them are complementary to the COCOMO II model and some of them are still experimental, their calibration and counting rules aren't robust enough till now. Further research still has to be done. In the following section they are presented briefly. For further particulars please contact the list of references. The discussed extensions are: estimating the cost of software COTS integration (COCOTS) Application Composition Model phase distributions of schedule and effort (COPSEMO) rapid application development effort and schedule adjustments (CORADMO) quality in terms of delivered defect density (COQUALMO) effects of applying software productivity strategies /improvement (COPROMO) System Engineering (COSYSMO) 6.1 STATUS QUO The table beneath tries to give an overview of the current status of some of the discussed extension of COCOMO II. For the ranking of the column 'status quo' the following steps are taken as basis: Delphi round 1 Delphi round 2 gather Data analyse Bayesian Analysis Calibrate Model [Fakharzadeh 2001-b]. Extension Status quo Still experimental Tool supported New cost drivers Annotation Application Composition Model yes no calibration and counting rules not robust till now Tuesday, December 3, 2002, Nancy Merlo-Schett 14 of 20
15 Extension Status quo Still experimental Tool supported New cost drivers Annotation COCOTS not fully formulated and validated yes not up to date no does not treat the longterm operation and maintenance COPSEMO CORADMO about to complete Delphi round 1 [Fakharzadeh 2001-a] Delphi round 2 completed [Fakharzadeh 2001-b] yes yes no basis for other COCOMO II model extensions yes yes yes Table 8: status quo of the emerging extensions 6.2 COCOTS [COnstructive COTS] focuses on estimating the cost, effort, and schedule associated using commercial off-theshelf (COTS) components in a software development project. It captures costs that traditionally have been outside the scope of COCOMO. A COTS product refers to pre-built, commercially available software components that are becoming important in the creation of new software systems. The sense in using COTS components is that it requires less development time by taking advantage of existing, market-proven, vendor-supported products and reduces overall system development costs. A definition of COTS components might be: commercial software product - sold, leased, licensed at advertised prices, source code unavailable, usually periodic releases with feature growth (obsolescence), future development not under control of application developer As a consequence of this definition, the following COTS phenomena obtain: no control over a COTS product's functionality or performance, most COTS products are not designed to interoperate with each other, no control over a COTS product's evolution, COTS vendor behavior vary widely. This in turn leads to some basic risks inherent using COTS components: immaturity of the product and/or the vendor, inexperience of integrators and/or users with the product, incompatibility of the product with the larger application, platform, or other COTS components in the system, lack of control over the product's current and future functionality (COTS is evolutionary (volatility)), customer/user view that COTS integration is Plug-and- Play (i.e. the assumption that use of COTS means zero development time). These risks can be reduced or eliminated using the following mitigation strategies: qualification testing, benchmarking, reference checking, compatibility analysis. If risks are managed using COTS, COTS can be the right solution (most cost effectively and shortest schedule approach). COTS is a feasible solution when it is in balance with the three determinants: feasibility technical economic and strategic constraints. The four submodels To estimate the total effort of a COTS component integration an approach with four submodels (Assessment, Tailoring, Glue Code, Volatility) is followed. ASSESSMENT selection regarding / balancing between quality/requirements/aspects TAILORING GLUE CODE VOLATILITY functional requirement (capability offered) performance requirement (timing and sizing constraints) nonfunctional requirements (cost/training/installation/maintenance/reliability) configuration for use in a specific context in respect to complexity glueware/binding code/new code which is required to get a COTS product integrated into a larger system is the additional effort that results from the impact on the larger system of the effects of swapping COTS components out of the system with newer version of those components that have been released by the COTS vendors Tuesday, December 3, 2002, Nancy Merlo-Schett 15 of 20
16 The total effort is defined as follows: Total Effort = Assessment Effort + Tailoring Effort + Glue Code Effort + System Volatility Assessment Effort = Filtering Effort + Detailed Assessment Effort Equation 8: COCOTS effort estimation The model is still immature. 6.3 APPLICATIONS COMPOSITION Application composition methods are more and more used. These methods rely on having an Integrated Computer-Aided Software Engineering (ICASE) environment to accelerate product development. ICASE includes generally following capabilities: an application framework (e.g. client-server, peer-to-peer,..) with middleware to integrate and manage the execution of the applications components a set of common utilities (GUI builder, DBMS, Network support packages) domain architecture and set of reusable domain components, repository tools for design, construction, integration and test. Traditionally applications requiring people for one to two years using application composition methods. These can be developed by 2-6 people in 2-6 months. Note: project efforts tend to be relatively small <72 PM. Because there is no way to size products in SLOC or FP (too low-level) research was done to find a [passend, suitable] size-metric. Object Points which was developed by Banker, Kauffman, Kumar in 1991 was found. In the Object Point approach numbers of screens, reports and third-generation language (3GL) modules for basic sizing primitives are used. The function point convention was followed of weighting these by complexity and adding them together to obtain an overall size metric, which then was adjusted for reuse. The Object Point approach was adapted with two changes: 1. rating scales for determining a project's productivity rate in NAP 1 /PM in terms of ICASE system maturity and capability and the developer's experience and capability in using the ICASE 2. rename Object Points in Application Points Objects/Applications can be determined by the standard definitions of screens, reports and 3GL components in the ICASE environment. Then each object is classified into simple, medium and difficult complexity levels depending on values of characteristic dimensions defined. For further information see [Boehm et al. 2000a]. 6.4 COPSEMO [Constructive Phase Schedule & Effort Model] It has been observed that the COCOMO II's duration calculation which presently implements a waterfall process model seems unreasonable for small projects, those with effort under two person years. Therefore COPSEMO focuses on the cost of developing software (below 64 person months) by using a more complex calculation for the low effort situations and by applying the lifecycle anchoring concepts discussed by [Boehm 96]. COPSEMO model assumes that data is available form a COCOMO II model. It has no drivers per se. The model allows to be applied to the different phases by specifying the effort and schedule in the appropriate percentages. COPSEMO uses the MBSE and Rational Unified Process Milestones. Three milestones separate the effort and schedule phases of COPSEMO: Life Cycle Objectives review (LCO), Life Cycle Architecture review (LCA) and Initial Operational Capability (IOC). Project Start (PS) and Project Release (PR) serve as start and endpoints. Further information on the MBSE and COPSEMO itself can be found in [Boehm et al. 2000a] and [Brown 2000]. 1 NAP = percentage of reuse which is expected to be achieved in this project (100% reuse)/100 Tuesday, December 3, 2002, Nancy Merlo-Schett 16 of 20
17 Figure 1: Activity Levels COCOMO II was calibrated for minimum 2000 SLOC. Giving an example: By having all drivers nominal a project of 4700 SLOC is estimated with COCOMO II TDEV to take 16.1 PM over 8.9 calendar months with a staff of 1.8 persons. In reasonable engineering project management 4 people would handle the project in 4 calendar months. The lower bound with 16 person months and 4 months was selected. The upper bound, 64 PM was selected by incrementally increasing the calendar months until COCOMO II produced a reasonable TDEV and staff estimate. While actually developed as part of the early CORADMO models, COPSEMO is now recognized as a separate, independent model that will be used as the basis for other COCOMO II model extensions. 6.5 CORADMO [Constructive Rapid Application Development Model] Focuses on the cost of developing software using rapid application development (RAD) techniques, because not any RAD strategy is addressed in COCOMO II. RAD refers to an application of any number of techniques or strategies to reduce software development cycle time and sometimes effort as well. The intent of the CORADMO is to calculate/predict the schedule (months, M), personnel (P), and adjusted effort (person months, PM) based on the distribution of effort and schedule to the various stages, and impacts of the selected schedule driver ratings on the M, P, and PM of each stage. There are different types of RAD differentiated by B. Boehm [Boehm 99]: Generator RAD (GRAD), Composition RAD (CRAD), Full-System RAD (FRAD) and Dumb RAD (DRAD). The differences between these RADs are not discussed here. CORAMO applies to the GRAD, CRAD and FRAD but NOT to DRAD. New Drivers A set of five drivers reflect identifiable behavioural characteristics. These drivers are: Reuse and very high-level Languages (RVHL), Development Process Reengineering (DPRS), Collaboration Efficiency (CLAB), Architecture, Risk Resolution (RESL), Pre-positioning Assets (PPOS). The Relation to the COCOMO II is that CORADMO applies as a base for COPSEMO (Pre-processor model). CORADMO excludes COCOTS and COQUALM. Future work: new cost drivers whose additional effect on schedule may be significant will be included (such as personnel experience, capability and continuity factors as well as requirements volatility). Tuesday, December 3, 2002, Nancy Merlo-Schett 17 of 20
18 6.6 COQUALMO [COnstructive QUALity Model] In software estimation, it is important to recognize the strong relationships between cost, schedule and quality. They form three sides of the same triangle. Beyond a certain point (the "Quality is Free" point), it is difficult to increase software quality without increasing either the cost or schedule or both for the software under development. Similarly, development schedule cannot be drastically compressed without hampering the quality of the software product and/or increasing the cost of development. Software estimation models can play an important role in facilitating the balance of these three factors. COQUALMO is such an estimation model. 6.7 COPROMO [Constructive Productivity Improvement Model] Focuses on predicting the most cost effective allocation of investment resources in new technologies intended to improve productivity. 6.8 EXPERT COCOMO Expert COCOMO was developed by Dr. Ray Madachy and uses heuristics to flag potential risks found in specified project development conditions. It aids planning projects by identifying, categorizing, quantifying and prioritising projects risks. It also detects cost estimate input anomalies. Further information can be found in [Expert COCOMO] or [Boehm et al. 2000a]. 6.9 COSYSMO [Constructive Systems Engineering Cost Model] The purpose of the COSYSMO is to estimate the System Engineering (SE) tasks in software-intensive projects. The CSE Research Group Selected ANSI/EI632 SE standard as a guide for identifying the tasks addressed in COSYSMO. The focus of the initial increment of the model is on the costs of SE in Information Processing (IP) subsystems, hence the naming of COSYSMO-IP. Several CSE Affiliates and members of the International Council on Systems Engineering (INCOSE) have been involved in the definition of the drivers and strategic direction of the model. 7 OUTLOOK The target is to improve the calibration of COCOMO II and of the tool itself. The current plan is to release a new calibration annually. It is anticipated that USC COCOMO II will indeed have a new calibration. Finally, experience has shown that if an organization calibrates the multiplicative constant in COCOMO II to its own empirical data, the accuracy of the model can be greatly improved over the generic calibration results. 8 PROBLEMS WITH EXISTING MODELS There is some question as to the validity of existing algorithmic models applied to a wide range of projects. It is suggested that a model is acceptable if 75 percent of the predicted values fall within 25 percent of their actual values (Fenton, 1997). The reasons why existing modeling methods have fallen short of their goals include model structure, complexity, and size estimation. Structure: Models based on limited data sets tend to incorporate the particular characteristics of the data. This results in a high degree of accuracy for similar projects, but restricts the application of the model. Complexity: An organization s particular characteristics can influence its productivity [Humphrey, 1990]. The cost drivers are extremely subjective. It is difficult to ensure that the factors are assessed consistently and in the way the model developer intended. 9 CRITICS ADVANTAGES: - COCOMO II is an industry standard - very profound information is easy available - clear and effective calibration process by combining delphi with algorithmic cost estimation techniques (Bayesian method) - 'backwards compatibility' with the Rosetta Stone - various extension for almost every purpose are available - Tool support (also for the various extensions) Tuesday, December 3, 2002, Nancy Merlo-Schett 18 of 20
19 DRAWBACKS: - The 'heart' of COCOMO II is still based on a waterfall process model (predilection) - most of the extensions are still experimental and not fully calibrated till now - duration calculation for small projects is unreasonable 10 TOOLS The software implementation of the model follows a specific naming convention. The theoretical model is referred to as COCOMO II. The USC-CSE software implementation of the model is referred to as USC COCOMO II, to distinguish it from other academic or commercial implementations of the model. Here are several available Tools which support COCOMO II itself or its extensions. The list is not complete COMMERCIAL COCOMO II SOFTWARE COSTAR Softstar Systems Amherst, NH Cost Xpert Cost Xpert Group San Diego, CA ESTIMATE Professional Software Productivity Centre Vancouver, BC, Canada Table 9: Commercial COCOMO II Software FREE COCOMO II SOFTWARE (EXTENSIONS) COPSEMO Stand-alone spreadsheet implementation, Microsoft Excel, CORADMO COCOTS (Microsoft Excel etc.) (Microsoft Excel etc.) expert COCOMO http//sunset.usc.edu/cocomo II/expert_COCOMO/expert_COCOMO.html. CODECOUNT Table 10: Free USC-CSE COCOMO II Software V. CONCLUSION Software cost estimation is an important part of the software development process. The COCOMO suite (COCOMO II model and its extensions) offers a powerful instrument to predict software costs. Unfortunately not all of the extensions are already calibrated and therefore still experimental. Only the Post-Architecure model is implemented in a calibrated software tool. Despite this disadvantage the COCOMO II suite helps managing software projects. It supports process improvement analyses, tool purchases, architecture changes, component make/buy tradeoffs and decision making process with credible results. Many endeavours were done to measure up to the changes in software life cycles, technologies, components, tools, notations and organizational cultures since the first version of COCOMO (COCOMOI, COCOMO 81). Tuesday, December 3, 2002, Nancy Merlo-Schett 19 of 20
20 VI. LIST OF REFERENCES Boehm 81 Boehm 96 Boehm 99 Boehm et al. 2000a Boehm et al. 2000b Brown 2000 Boehm, B.W. (1981). Software Engineering Economics. Prentice Hall. Boehm, B.W. (1996). Anchoring the Software Process, IEEE Software, 13, 4 July 1996, pp Boehm, B.W. (1999). Making RAD Work for your Project, Extended version of March 1999, IEEE Computer Column; USC Technical Report USC-SCE Boehm, B.W. et al. (2000). Software Cost Estimation with COCOMO II, Prentice Hall PTR; 1st edition (January 15, 2000). Boehm, B.W., Abts, C., Clark, B., and Devnani-Chulani. S. (2000). COCOMO II Model Definition Manual. Version 2.1, The University of Southern California. A. Winsor Brown COPSEMO Summary. USC Center for Software Engineering, V2.0 05/18/2000. Fakharzadeh 2001-a Fakharzadeh, Cyrus (2001). CORADMO Update, Presentation, Cyrus Fakharzadeh, CSE Technology Week, February Fakharzadeh 2001-b Fenton 1997 Humphrey 1990 Fakharzadeh, Cyrus (2001). CORADMO in 2001: A RAD Odyssey, Presentation, Cyrus Fakharzadeh, 16th International Forum on COCOMO and Software Cost Modeling, October Fenton, N.E. and Pfleeger, S.L. (1997). Software Metrics: A Rigorous and Practical Approach. International Thomson Computer Press. Humphrey, W.S. (1990). Managing the Software Process. Addison-Wesley Publishing Company. IFPUG 1994 IFPUG (1994). Function Point Counting Practices: Manual Release 4.0, International Function Point User's Group, Blendonview Office Park, Pine Creek Drive, Westerville, OH COCOMO suite Center for Software Engineering, University of Southern California Conversion tables for SLOC/UFP DACS Expert COCOMO Data and Analysis Center for Software DACS http//sunset.usc.edu/cocomo II/expert_COCOMO/expert_COCOMO.html. Tuesday, December 3, 2002, Nancy Merlo-Schett 20 of 20
CSSE 372 Software Project Management: Software Estimation With COCOMO-II
CSSE 372 Software Project Management: Software Estimation With COCOMO-II Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: [email protected] Estimation Experience and Beware of the
The COCOMO II Estimating Model Suite
The COCOMO II Estimating Model Suite Barry Boehm, Chris Abts, Jongmoon Baik, Winsor Brown, Sunita Chulani, Cyrus Fakharzadeh, Ellis Horowitz and Donald Reifer Center for Software Engineering University
MTAT.03.244 Software Economics. Lecture 5: Software Cost Estimation
MTAT.03.244 Software Economics Lecture 5: Software Cost Estimation Marlon Dumas marlon.dumas ät ut. ee Outline Estimating Software Size Estimating Effort Estimating Duration 2 For Discussion It is hopeless
Software cost estimation. Predicting the resources required for a software development process
Software cost estimation Predicting the resources required for a software development process Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 23 Slide 1 Objectives To introduce the fundamentals
Software cost estimation
Software cost estimation Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 26 Slide 1 Objectives To introduce the fundamentals of software costing and pricing To describe three metrics for
COCOMO II Model Definition Manual
COCOMO II Model Definition Manual Acknowledgments COCOMO II is an effort to update the well-known COCOMO (Constructive Cost Model) software cost estimation model originally published in Software Engineering
COCOMO II Model Definition Manual
COCOMO II Model Definition Manual Version 1.4 - Copyright University of Southern California Acknowledgments This work has been supported both financially and technically by the COCOMO II Program Affiliates:
Software cost estimation
Software cost estimation Sommerville Chapter 26 Objectives To introduce the fundamentals of software costing and pricing To describe three metrics for software productivity assessment To explain why different
Dr. Barry W. Boehm USC Center for Software Engineering
7th Annual Practical Software and Systems Measurement Users Group Conference Keystone, CO July 16, 2003 Dr. Barry W. Boehm USC 1 Workshop Agenda Day 1 (1:30 AM 5:00 PM 7/16) Next-level tutorial Review
Chapter 23 Software Cost Estimation
Chapter 23 Software Cost Estimation Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 23 Slide 1 Software cost estimation Predicting the resources required for a software development process
CISC 322 Software Architecture
CISC 322 Software Architecture Lecture 20: Software Cost Estimation 2 Emad Shihab Slides adapted from Ian Sommerville and Ahmed E. Hassan Estimation Techniques There is no simple way to make accurate estimates
2 Evaluation of the Cost Estimation Models: Case Study of Task Manager Application. Equations
I.J.Modern Education and Computer Science, 2013, 8, 1-7 Published Online October 2013 in MECS (http://www.mecs-press.org/) DOI: 10.5815/ijmecs.2013.08.01 Evaluation of the Cost Estimation Models: Case
COCOMO II and Big Data
COCOMO II and Big Data Rachchabhorn Wongsaroj*, Jo Ann Lane, Supannika Koolmanojwong, Barry Boehm *Bank of Thailand and Center for Systems and Software Engineering Computer Science Department, Viterbi
Cost Models for Future Software Life Cycle Processes: COCOMO 2.0 *
Cost Models for Future Software Life Cycle Processes: COCOMO 2.0 * Barry Boehm, Bradford Clark, Ellis Horowitz, Chris Westland USC Center for Software Engineering Ray Madachy USC Center for Software Engineering
Topics. Project plan development. The theme. Planning documents. Sections in a typical project plan. Maciaszek, Liong - PSE Chapter 4
MACIASZEK, L.A. and LIONG, B.L. (2005): Practical Software Engineering. A Case Study Approach Addison Wesley, Harlow England, 864p. ISBN: 0 321 20465 4 Chapter 4 Software Project Planning and Tracking
Extending Change Impact Analysis Approach for Change Effort Estimation in the Software Development Phase
Extending Change Impact Analysis Approach for Change Effort Estimation in the Software Development Phase NAZRI KAMA, MEHRAN HALIMI Advanced Informatics School Universiti Teknologi Malaysia 54100, Jalan
Cost Estimation Driven Software Development Process
Cost Estimation Driven Software Development Process Orsolya Dobán, András Pataricza Budapest University of Technology and Economics Department of Measurement and Information Systems Pázmány P sétány 1/D
COCOMO-SCORM Interactive Courseware Project Cost Modeling
COCOMO-SCORM Interactive Courseware Project Cost Modeling Roger Smith & Lacey Edwards SPARTA Inc. 13501 Ingenuity Drive, Suite 132 Orlando, FL 32826 Roger.Smith, Lacey.Edwards @Sparta.com Copyright 2006
Software cost estimation
CH26_612-640.qxd 4/2/04 3:28 PM Page 612 26 Software cost estimation Objectives The objective of this chapter is to introduce techniques for estimating the cost and effort required for software production.
University of Southern California COCOMO Reference Manual
USC COCOMOII Reference Manual University of Southern California COCOMO Reference Manual 1 This manual is compatible with USC-COCOMOII.1999 version 0. Copyright Notice This document is copyrighted, and
SoftwareCostEstimation. Spring,2012
SoftwareCostEstimation Spring,2012 Chapter 3 SOFTWARE COST ESTIMATION DB Liu Software Cost Estimation INTRODUCTION Estimating the cost of a software product is one of the most difficult and error-prone
Finally, Article 4, Creating the Project Plan describes how to use your insight into project cost and schedule to create a complete project plan.
Project Cost Adjustments This article describes how to make adjustments to a cost estimate for environmental factors, schedule strategies and software reuse. Author: William Roetzheim Co-Founder, Cost
Effect of Schedule Compression on Project Effort
Effect of Schedule Compression on Project Effort Ye Yang, Zhihao Chen, Ricardo Valerdi, Barry Boehm Center for Software Engineering, University of Southern California (USC-CSE) Los Angeles, CA 90089-078,
E-COCOMO: The Extended COst Constructive MOdel for Cleanroom Software Engineering
Database Systems Journal vol. IV, no. 4/2013 3 E-COCOMO: The Extended COst Constructive MOdel for Cleanroom Software Engineering Hitesh KUMAR SHARMA University of Petroleum and Energy Studies, India [email protected]
Comparative Analysis of COCOMO II, SEER-SEM and True-S Software Cost Models
Comparative Analysis of COCOMO II, SEER-SEM and True-S Software Cost Models Raymond Madachy, Barry Boehm USC Center for Systems and Software Engineering {madachy, boehm}@usc.edu 1. Abstract We have been
Contents. Today Project Management. Project Management. Last Time - Software Development Processes. What is Project Management?
Contents Introduction Software Development Processes Project Management Requirements Engineering Software Construction Group processes Quality Assurance Software Management and Evolution Last Time - Software
Project Plan. Online Book Store. Version 1.0. Vamsi Krishna Mummaneni. CIS 895 MSE Project KSU. Major Professor. Dr.Torben Amtoft
Online Book Store Version 1.0 Vamsi Krishna Mummaneni CIS 895 MSE Project KSU Major Professor Dr.Torben Amtoft 1 Table of Contents 1. Task Breakdown 3 1.1. Inception Phase 3 1.2. Elaboration Phase 3 1.3.
Project Plan 1.0 Airline Reservation System
1.0 Airline Reservation System Submitted in partial fulfillment of the requirements of the degree of Master of Software Engineering Kaavya Kuppa CIS 895 MSE Project Department of Computing and Information
USC COCOMO. Reference Manual. University of Southern California
USC COCOMO Reference Manual University of Southern California This manual is compatible with USC COCOMO81a. Copyright Notice This document is copyrighted, and all rights are reserved by University of Southern
Software Migration Project Cost Estimation using COCOMO II and Enterprise Architecture Modeling
Software Migration Project Cost Estimation using COCOMO II and Enterprise Architecture Modeling Alexander Hjalmarsson 1, Matus Korman 1 and Robert Lagerström 1, 1 Royal Institute of Technology, Osquldas
Knowledge-Based Systems Engineering Risk Assessment
Knowledge-Based Systems Engineering Risk Assessment Raymond Madachy, Ricardo Valerdi University of Southern California - Center for Systems and Software Engineering Massachusetts Institute of Technology
Measurement Information Model
mcgarry02.qxd 9/7/01 1:27 PM Page 13 2 Information Model This chapter describes one of the fundamental measurement concepts of Practical Software, the Information Model. The Information Model provides
CISC 322 Software Architecture. Example of COCOMO-II Ahmed E. Hassan
CISC 322 Software Architecture Example of COCOMO-II Ahmed E. Hassan Function Point Table Number of FPs External user type Complexity Low Average High External input type 3 4 6 External output type 4 5
SOFTWARE COST DRIVERS AND COST ESTIMATION IN NIGERIA ASIEGBU B, C AND AHAIWE, J
SOFTWARE COST DRIVERS AND COST ESTIMATION IN NIGERIA Abstract ASIEGBU B, C AND AHAIWE, J This research work investigates the effect of cost drivers on software cost estimation. Several models exist that
Fundamentals of Measurements
Objective Software Project Measurements Slide 1 Fundamentals of Measurements Educational Objective: To review the fundamentals of software measurement, to illustrate that measurement plays a central role
To introduce software process models To describe three generic process models and when they may be used
Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software
Project Planning and Project Estimation Techniques. Naveen Aggarwal
Project Planning and Project Estimation Techniques Naveen Aggarwal Responsibilities of a software project manager The job responsibility of a project manager ranges from invisible activities like building
Fuzzy Expert-COCOMO Risk Assessment and Effort Contingency Model in Software Project Management
Western University Scholarship@Western Electronic Thesis and Dissertation Repository April 2013 Fuzzy Expert-COCOMO Assessment and Effort Contingency Model in Software Project Management Ekananta Manalif
Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering Software Processes Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce software process models To describe three generic process models and when
CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.
CS 389 Software Engineering Lecture 2 Chapter 2 Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. Topics covered Software process models Process activities Coping
Module 11. Software Project Planning. Version 2 CSE IIT, Kharagpur
Module 11 Software Project Planning Lesson 28 COCOMO Model Specific Instructional Objectives At the end of this lesson the student would be able to: Differentiate among organic, semidetached and embedded
Comparison of SDLC-2013 Model with Other SDLC Models by Using COCOMO
International Journal of Emerging Science and Engineering (IJESE) Comparison of SDLC-2013 Model with Other SDLC Models by Using COCOMO Naresh Kumar, Pinky Chandwal Abstract There exist a large number of
REVIC 11: Converting the REVIC Model to COCOMO I1
REVIC 11: Converting the REVIC Model to COCOMO I1 Dan Strickland Dynetics, Inc. 990 Explorer Blvd. Huntsville, AL 35806 (256) 964-4619 daniel.strickland @dyne tics. corn Nhuchi Khong THAAD Project Office
Cost Estimation for Secure Software & Systems
Background Cost Estimation for Secure Software & Systems Ed Colbert Dr. Barry Boehm Center for Systems & Software Engineering, University of Southern California, 941 W. 37th Pl., Sal 328, Los Angeles,
Incorporating Data Mining Techniques on Software Cost Estimation: Validation and Improvement
Incorporating Data Mining Techniques on Software Cost Estimation: Validation and Improvement 1 Narendra Sharma, 2 Ratnesh Litoriya Department of Computer Science and Engineering Jaypee University of Engg
(Refer Slide Time: 01:52)
Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This
Literature Survey on Algorithmic Methods for Software Development Cost Estimation
Literature Survey on Algorithmic Methods for Software Development Cost Estimation Mrs. Shubhangi Mahesh Potdar 1 Assistant professor, IBMRD, Ahmednagar, India Email:[email protected] Dr. Manimala
CDC UNIFIED PROCESS JOB AID
CDC UNIFIED PROCESS JOB AID Independent Verification & Validation Activities Document Purpose This Job Aid is a brief document listing the items to be noted, checked, remembered, and delivered when completing
Modern Tools to Support DoD Software Intensive System of Systems Cost Estimation
Modern Tools to Support DoD Software Intensive System of Systems Cost Estimation Jo Ann Lane and Barry Boehm University of Southern California Center for Systems and Software Engineering Abstract Many
Software Engineering. Dilbert on Project Planning. Overview CS / COE 1530. Reading: chapter 3 in textbook Requirements documents due 9/20
Software Engineering CS / COE 1530 Lecture 4 Project Management Dilbert on Project Planning Overview Reading: chapter 3 in textbook Requirements documents due 9/20 1 Tracking project progress Do you understand
Design with Reuse. Building software from reusable components. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14 Slide 1
Design with Reuse Building software from reusable components. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14 Slide 1 Objectives To explain the benefits of software reuse and some reuse
Article 3, Dealing with Reuse, explains how to quantify the impact of software reuse and commercial components/libraries on your estimate.
Estimating Software Costs This article describes the cost estimation lifecycle and a process to estimate project volume. Author: William Roetzheim Co-Founder, Cost Xpert Group, Inc. Estimating Software
Web Development: Estimating Quick-to-Market Software
Web Development: Estimating Quick-to-Market Software Donald J. Reifer 15 th International Forum on COCOMO and Software Estimation 10/25/00 Copyright 2000, RCI 1 Setting the Stage Business and government
Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.
INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc. February 2013 1 Executive Summary Adnet is pleased to provide this white paper, describing our approach to performing
Valuation of Software Intangible Assets
Valuation of Software Intangible Assets Eric A. Thornton Senior Associate (703) 917-6616 [email protected] ASA International Conference San Diego, California August 28, 2002 San Francisco, California
Chapter 9 Software Evolution
Chapter 9 Software Evolution Summary 1 Topics covered Evolution processes Change processes for software systems Program evolution dynamics Understanding software evolution Software maintenance Making changes
Assessing Quality Processes with ODC COQUALMO
Assessing Quality Processes with ODC COQUALMO Ray Madachy, Barry Boehm USC {madachy, boehm}@usc.edu 2008 International Conference on Software Process May 10, 2008 USC-CSSE 1 Introduction Cost, schedule
Deducing software process improvement areas from a COCOMO II-based productivity measurement
Deducing software process improvement areas from a COCOMO II-based productivity measurement Lotte De Rore, Monique Snoeck, Geert Poels, Guido Dedene Abstract At the SMEF2006 conference, we presented our
Software Engineering Question Bank
Software Engineering Question Bank 1) What is Software Development Life Cycle? (SDLC) System Development Life Cycle (SDLC) is the overall process of developing information systems through a multi-step
SOFTWARE ECONOMICS UNIT 15. Presented by. Stefano Street
SOFTWARE ECONOMICS UNIT 15 Presented by Stefano Street Objectives Software economics its importance and place in software systems Provide an empirical view of where money goes Why it is important to understand
Software Engineering. So(ware Evolu1on
Software Engineering So(ware Evolu1on 1 Software change Software change is inevitable New requirements emerge when the software is used; The business environment changes; Errors must be repaired; New computers
Safety critical software and development productivity
Preprint for conference proceedings for The Second World Congress on Software Quality, Yokohama, Sept 25.- 29, 2000. http://www.calpoly.edu/~pmcquaid/2wcsq Safety critical software and development productivity
SEER for Software - Going Beyond Out of the Box. David DeWitt Director of Software and IT Consulting
SEER for Software - Going Beyond Out of the Box David DeWitt Director of Software and IT Consulting SEER for Software is considered by a large percentage of the estimation community to be the Gold Standard
Cost Estimation Strategies COST ESTIMATION GUIDELINES
Cost Estimation Strategies Algorithmic models (Rayleigh curve Cost in week t = K a t exp(-a t 2 ) Expert judgment (9 step model presented later) Analogy (Use similar systems) Parkinson (Work expands to
Keywords Software Cost; Effort Estimation, Constructive Cost Model-II (COCOMO-II), Hybrid Model, Functional Link Artificial Neural Network (FLANN).
Develop Hybrid Cost Estimation For Software Applications. Sagar K. Badjate,Umesh K. Gaikwad Assistant Professor, Dept. of IT, KKWIEER, Nasik, India [email protected],[email protected] A
Lecture 14: Cost Estimation
Overview Project management activities Project costing Project scheduling and staffing Project monitoring and review General cost estimation rules Algorithmic Cost Modeling Function point model COCOMO
System Development and Life-Cycle Management (SDLCM) Methodology. Approval CISSCO Program Director
System Development and Life-Cycle Management (SDLCM) Methodology Subject Type Standard Approval CISSCO Program Director A. PURPOSE This standard specifies content and format requirements for a Physical
JOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2006 Vol. 5. No. 8, November-December 2006 Requirements Engineering Tasks Donald Firesmith,
Software Engineering. Objectives. Designing, building and maintaining large software systems
Software Engineering Objectives Designing, building and maintaining large software systems To define software engineering and explain its importance To discuss the concepts of software products and software
Managing Small Software Projects - An Integrated Guide Based on PMBOK, RUP, and CMMI
Managing Small Software Projects - An Integrated Guide Based on PMBOK, RUP, and CMMI César Cid Contreras M.Sc. Prof. Dr. Henrik Janzen Published at the South Westphalia University of Applied Sciences,
Software Engineering. Reading. Effort estimation CS / COE 1530. Finish chapter 3 Start chapter 5
Software Engineering CS / COE 1530 Lecture 5 Project Management (finish) & Design CS 1530 Software Engineering Fall 2004 Reading Finish chapter 3 Start chapter 5 CS 1530 Software Engineering Fall 2004
VIDYAVAHINI FIRST GRADE COLLEGE
VIDYAVAHINI FIRST GRADE COLLEGE SOFTWARE ENGINEERING 5 th Sem BCA Vidyavahini First Grade College Near Puttanjaneya Temple, Kuvempunagar, Tumkur 572103. E-Mail:[email protected] Website:www.vidyavahini.org/bca
Elite: A New Component-Based Software Development Model
Elite: A New Component-Based Software Development Model Lata Nautiyal Umesh Kumar Tiwari Sushil Chandra Dimri Shivani Bahuguna Assistant Professor- Assistant Professor- Professor- Assistant Professor-
Project Management Estimation. Week 11
Project Management Estimation Week 11 Announcement Midterm 2 Wednesday, May. 4 Scope Week 11 Week 13 Short answer questions Estimation Agenda (Lecture) Agenda (Lab) Implement a softwareproduct based on
SOFTWARE ENGINEERING INTERVIEW QUESTIONS
SOFTWARE ENGINEERING INTERVIEW QUESTIONS http://www.tutorialspoint.com/software_engineering/software_engineering_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Software Engineering
The Challenge of Productivity Measurement
Proceedings: Pacific Northwest Software Quality Conference, 2006 The Challenge of Productivity Measurement David N. Card Q-Labs, Inc [email protected] Biography- David N. Card is a fellow of Q-Labs, a subsidiary
ICS 121 Lecture Notes Spring Quarter 96
Software Management Cost Estimation Managing People Management Poor managment is the downfall of many software projects Ð Delivered software was late, unreliable, cost several times the original estimates
Karunya University Dept. of Information Technology
PART A Questions 1. Mention any two software process models. 2. Define risk management. 3. What is a module? 4. What do you mean by requirement process? 5. Define integration testing. 6. State the main
SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur
SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur School of Computing, Department of IT 1 2 Process What is it? A series of predictable steps
Agile Inspired Risk Mitigation Techniques for Software Development Projects
Agile Inspired Risk Mitigation Techniques for Software Development Projects Presented at GTISLIG, Toronto November 15 th 2007 Michael Bica, Sogard Inc. 1 Roadmap I. Risks Heuristics Risks & Estimation
MKS Integrity & CMMI. July, 2007
& CMMI July, 2007 Why the drive for CMMI? Missed commitments Spiralling costs Late delivery to the market Last minute crunches Inadequate management visibility Too many surprises Quality problems Customer
The purpose of Capacity and Availability Management (CAM) is to plan and monitor the effective provision of resources to support service requirements.
CAPACITY AND AVAILABILITY MANAGEMENT A Project Management Process Area at Maturity Level 3 Purpose The purpose of Capacity and Availability Management (CAM) is to plan and monitor the effective provision
Software Re-engineering
Software Re-engineering Prepared By: Dr. Linda H. Rosenberg Engineering Section head Software Assurance Technology Center Unisys Federal Systems 301-286-0087 [email protected] Accepted By:
Software Process for QA
Software Process for QA Basic approaches & alternatives CIS 610, W98 / M Young 1/7/98 1 This introduction and overview is intended to provide some basic background on software process (sometimes called
What is a life cycle model?
What is a life cycle model? Framework under which a software product is going to be developed. Defines the phases that the product under development will go through. Identifies activities involved in each
Software Intensive Systems Cost and Schedule Estimation
Software Intensive Systems Cost and Schedule Estimation Final Technical Report SERC 2013-TR-032-2 June 13, 2013 Dr. Barry Boehm, Principal Investigator - University of Southern California Dr. Jo Ann Lane
BCS HIGHER EDUCATION QUALIFICATIONS Level 6 Professional Graduate Diploma in IT. March 2013 EXAMINERS REPORT. Software Engineering 2
BCS HIGHER EDUCATION QUALIFICATIONS Level 6 Professional Graduate Diploma in IT March 2013 EXAMINERS REPORT Software Engineering 2 General Comments The pass rate this year was significantly better than
Surveying and evaluating tools for managing processes for software intensive systems
Master Thesis in Software Engineering 30 Credits, Advanced Level Surveying and evaluating tools for managing processes for software intensive systems Anuradha Suryadevara IDT Mälardalen University, ABB
The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)
The Software Process Xiaojun Qi 1 The Unified Process Until recently, three of the most successful object-oriented methodologies were Booch smethod Jacobson s Objectory Rumbaugh s OMT (Object Modeling
How To Model Software Development Life Cycle Models
Various Software Development Life Cycle Models Sahil Jindal, Puneet Gulati, Praveen Rohilla Dronacharya College of Engineering, India Abstract:An SDLC model is a conceptual framework describing different
