Phase Distribution of Software Development Effort

Size: px
Start display at page:

Download "Phase Distribution of Software Development Effort"

Transcription

1 Distribution of Software Development Effort Ye Yang 1, Mei He 1,2, Mingshu Li 1, Q ing Wang 1, Barry Boehm 3 1 Institute of Software, Chinese Academy of Sciences, China. 2 Graduate University of Chinese Academy of Sciences, China. 3 University of Southern California, USA. { ye, hemei, mingshu, wq}@itechs.iscas.ac.cn, boehm@csse.usc.edu ABSTRACT Effort distribution by phase or activity is an important but often overlooked aspect compared to other steps in the cost estimation process. Poor effort allocation is among the major root causes of rework due to insufficiently resourced early activities. This paper provides results of an empirical study on phase effort distribution data of 75 industry projects, from the China Software Benchmarking Standard Group (CSBSG) database. The phase effort distribution patterns and variation sources are presented, and analysis results show some consistency in effects of software size and team size on code and test phase distribution variations, and some considerable deviations in requirements, design, and transition phases, compared with recommendations in the COCOMO model. Finally, this paper discusses the major findings and threats to validity and presents general guidelines in directing effort allocation. Empirical findings from this study are beneficial for stimulating discussions and debates to improve cost estimation and benchmarking practices. Categories and Subject Descriptors D.2.8 [Metrics]: process metrics and product metrics. D.2.9 [Software Engineering]: Management Cost estimation General Terms Management, Measurement. Keywords Cost Estimation, Effort Distribution, Distribution, Development Type, Estimation Accuracy, Effort Allocation. 1. INTRODUCTION Cost estimation methods/techniques have been intensively studied and evolved over the past few decades. Researchers employ different methods, such as parametric modeling, knowledge-based modeling, fuzzy logic, dynamic modeling, neural networks, or casebased reasoning [1, 2], to increase general estimation accuracy and improve estimation capability with respect to emergent development paradigms, such as COTS or open source-based development [3, 4]. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. ESEM 08, October 9-10, 2008, Kaiserslautern, Germany. Copyright 2008 ACM /08/10...$5.00. However, despite the increasing trend of amount and varieties of estimation methods, it remains a great challenge for software projects to be successfully completed according to the 29% success rate of year 2004 reported by Standish group [5]. In examining the assumptions and construction of typical cost estimation methods [6-11, 12], two limitations are often the major impediment for software project to meet the success criteria, i.e. on time, within budget, and with originally-specified functionalities. On one hand, limited progress has been made to fully understand characteristics of emergent development paradigm, as well as its implications to cost estimation. This consequently adds lots of complication factors in making process-oriented decisions in early project phases. On the other hand, even with the classic waterfall development process, there is very limited research effort towards analyzing and understanding root causes of variations in effort distribution patterns. Effort distribution by phase or activity is an important but often overlooked aspect compared to other steps in the cost estimation process. Poor effort allocation is among the major root causes of rework due to insufficiently resourced early activities. Distribution of effort in software engineering process has been the basis for facilitating more reasonable software project planning, and is provided as one of the major functionalities in most estimating or planning methods. A general form of such basis is a breakdown structure of the total estimate over different life cycle phases or activities, with corresponding distribution percentage numbers for each phase/activity. As the rapidly increasing number of estimation methods and tools becoming available, practitioners are often left with even greater difficulty and confusion in making cost estimation and distribution given large variation in the lifecycle phases/activities covered in each method. Many software practitioners are facing insufficient planning support when handling a particular project conditions, and solely relying on Rule of Thumb or expert judgment to handle project phase effort planning as this is only feasible approach available to them [13]. Compared with a total estimate, it is more important to develop an accurate phase-based estimation for software development process in order to facilitate appropriate and strategic resource planning. The paper presents empirical analysis results on phased effort data of 75 industry projects, from the China Software Benchmarking Standard Group (CSBSG) [26] database. The analysis investigates the general effort distribution profiles of different development type, software size, business area, and team size. The study also concludes guidelines on how to take the most significantly influential factors into consideration when making effort distribution decisions. Such results are beneficial to guide software engineers in 61

2 the effort estimations process and help project managers in better allocating of resources which could meet specific project needs. The reminder of the paper is structured as follows: section 2 introduces an overview of related work; section 3 describes the objective, subject, and approach of the study; section 4 presents major results of phase effort distribution profiles on the 75 industry projects; section 5 discusses the results, and section 6 concluded the paper with directions for future work. 2. OVERVIEW OF RELATED WORK Empirical assessment of industrial software development project data, as an integral part of many effort distribution studies, has led to the production of several well-known and widely adopted bases to guide software estimation practices. In his seminal work to cost estimation field, Norden [14] observed the Rayleigh Curve to be a good staffing level approximation to most hardware development projects. Though it has been criticized for its inapplicability in software development projects due to the slow early build-up and the long-tail effects, Rayleigh distribution has influenced on the effort distribution mechanisms in many later models, such as the COCOMO model [6, 11] and the SLIM model [15]. Based on further empirical studies on effort distribution data, Boehm presented the waterfall phase/activity breakdown quantities in the COCOMO model [6, 11], and Krutchen concluded the lifecycle effort/schedule distribution structure used by the Rational Unified Process (RUP) [12]. The COCOMO 81 model s [11] way of handling phase distribution is to provide a distribution scheme consisting of ratios for every development phase (i.e. product design, code, integration and test, for the waterfall processes), approximating the Rayleigh curve. Furthermore, it defines three development modes, five levels of project scale, phase-sensitive effort multipliers to help derive more accurate allocation decision with respect to specific project settings. For example, COCOMO model suggests that more development focus should be placed on integration and test phase as the software size grows (i.e. 16% for small projects and 25% for large projects) [6], and less focus to be given to the code phase as the software size increases (i.e. 68% for small projects and 59% for large projects). Meanwhile, the phase-sensitive effort multipliers enable the estimation to be performed on a more accurate, phase-wise basis, by tracking down the influences of different effort multiplier ratings on phase distribution variation. This offers an alternative to adapt the basic distribution scheme to a better-fitted one according to a particular project situation. However, the application of the detailed COCOMO model is a rather complex procedure to produce the forms and tables following strict steps, which requires intensive project knowledge upfront. The COCOMO II [6] model unifies the phase-sensitive effort multipliers to be the same for all development phases for several considerations. Simplification of model usage and lack of detailed COCOMO calibration data are the two major reasons. The COCOMO II extends the COCOMO 81 model to include the plans and requirements and transition phases into its waterfall lifecycle effort distribution scheme, and a MBASE/RUP phase/activity distribution scheme adopted from [12]. One drawback of this simplification is the lack of flexibility in providing more relevant effort distribution guidance to meet specific project needs compared to the original COCOMO 81 model. One major cause of the lack of phase distribution data is because of large variation in the lifecycle phases/activities defined in many leading estimation methods. This complicates the lifecycle concept synthesizing, model usage, data collection and analysis, as well as cost model calibration. Table 1 summarizes the comparison among phase coverage of several leading estimation models. Table 1. Comparison of phase definitions in different model Model The phases (effort distribution percentages) covered in different models COCOMO 81 [11] COCOMO II [6] RUP [12] COCOTS [6] SLIM [15] SEER-SEM [17] Plan and requirement, preliminary design, detailed design (25%), code (33%), Integration & Test (25) Waterfall distribution scheme: Plan and requirement (7%), preliminary design (17%), detailed design (25%), code (33%), Integration & Test (25), deployment & maintenance (12%); MBASE/RUP distribution scheme: Inception(6%), Elaboration(24%), Construction(76%), Transition (12%) Inception(5%), Elaboration(), Construction(65%), Transition() Assessment, Tailoring, Gluecode&Integration. No unified distribution guideline Concept Definition, Requirement & Design, Construct & Test, Perfective Maintenance (distribution percentage not available) Early specification, design, development, delivery & maintenance (distribution percentage not available) One the other hand, while traditional methods are more focused on the improvement of general estimation accuracy [6, 18], a number of recent studies start to investigate different aspects of effort distribution patterns. Heijstek and Chaudron [10] reported empirical data on effort distribution from projects employed model-based development practices, and confirmed the similarity between the reported effort distribution and the original RUP hump-chart [12]. Milicic and Wholin [13] studied characteristics affecting estimating accuracy and proposed a lean approach to improve estimation based on distribution patterns of estimation errors. Yiftachel et. al. [18] developed an economic model for optimal allocation of resources among development phases. Other researchers also studied on determining optimal effort distribution across lifecycle phases based on defect-introduction and defect-slippage considerations [19, 20]. However, few of these studies have performed a comprehensive analysis of phase effort distribution patterns and its possible causes. Consequently, notable inconsistency exists in results from different researchers regarding phase distribution patterns even for the same development life cycle, RUP, as concluded in [10]. Meanwhile, communications and discussions with estimation experts and practitioners at the COCOMO community indicates an increasing interests in the needs for more phase-sensitive distribution facility than what are available now from COCOMO II default schemes. All this confirms our motivations of this study. 62

3 3. OBJECTIVE, SUBJECT AND APPROACH OF THE STUDY 3.1 Objective of the study The objective of this study is to perform extensive data analysis towards developing a more in-depth understanding on what factors impact on the degree of intensity of different development phases, and eventually facilitating strategic planning through more reasonable phase effort prediction. Concluded from previous studies on ISBSG[21, 22], we focused on four project factors including development life cycle model, development type, size of the software, and team size, trying to derive preliminary answers to our objective. Hence, the central research questions are formulated as: 1) What does the overall phase distribution profile of development effort look like? 2) Is there a causal relation between difference development life cycles and phase effort distribution? 3) Is there a causal relation between phase distribution pattern and development type, e.g. new development or enhancement? 4) Is there a causal relation between phase distribution pattern and actual software size? 5) Is there a causal relation between phase distribution pattern and maximum development team size? 3.2 Subject of the study Empirical data used in this study is from the China Software Benchmarking Standard Group (CSBSG) [16]. The CSBSG was established in Jan under the support of Chinese government and software industry association, to advocate and establish domestic benchmarking standards for system and software process improvement in Chinese software industry. The establishment of CSBSG database is consistent with the ISBSG database [21], and each data point is defined as over 1000 product and process metrics. The CSBSG dataset we used contains 1012 software development project data points from 141 organization and 15 geographical regions. Development phases defined in CSBSG database roughly follow the waterfall model, with a comprehensive list of guidelines for individual data submittal organization to match their own process and transform data appropriately. The following table lists the CSBSG development phases and major activities included in each phase. Table 2 Activities defined in the CSBSG phases Activities Included Plan Plan, Preliminary Requirement Analysis Requirement Requirement Analysis Design Product Design, Detailed Design Code Code, Unit Test, Integration Test System Test Transition Installation, Transition, Acceptance Test, User Training, Support 3.3 Data Collection and Cleaning Data collection. Firstly, the CSBSG staff sent questionnaire to organizations. The electronic questionnaire has the capability to check some error automatically, such as spelling error and data inconsistency. Then, after the organization sent back the data to CSBSG, a special expert group checks the data quality again and confirms it is eligible to put into the CSBSG database. During this procedure, there is some specialized focal contact personnel to connect with the organization and the expert group, and the information of the organization is hidden in the data submitted to the expert group; the contact person also reacts when some data problem is founded. Data Cleaning. Due to the tight schedule of the data collection process, there are many phase-level attributes unreported, such as predicted and actual effort of each development phase. Therefore, for the purpose of our study, we only make use of a subset of the CSBSG database with data on our focused attributes. The attributes and data cleaning steps are summarized in Table 3. Next we will briefly introduce the data cleaning steps. Table 3a Summary of the minimum set of attributes considered in the study Metric Unit Description Size SLOC Total Lines of Code Effort Person- Summary Work Effort Plan phase effort Person- Work Effort of plan phase Reqt s phase effort Person- Work Effort of reqt s phase Design phase effort Person- Work Effort of design phase Code phase effort Person- Work Effort of code phase Test phase effort Person- Work Effort of test phase Transition phase Person- Work Effort of transition phase effort Development life Nominal Waterfall, iterative, rapid prototyping cycle Team Size Person Maximum size of the development team Development Type Nominal New development, Enhancement, Redevelopment Table 3b The process of data selection Step # of proj. # of proj. Reason for exclusion ID excluded remained Do not contain phased-related effort records there are two or more phases effort data missing the sum of its 5 recorded phased effort is greater than the total effort 4 if only 1 of the 5 phase effort value is missing, it is filled up by subtracting the other 4 phases from the total effort one or more than one phase s effort data recorded as zero, and they are excluded and considered to not cover the whole life-cycle phases 63

4 At first, 115 data points containing phased-related effort records were extracted out of the whole CSBSG dataset. Among these, 14 data points were excluded because there are two or more phases effort data missing. Furthermore, 1 project is identified to be bad data and excluded, because the sum of its 5 recorded phased effort is greater than the total effort. Additionally, there are 25 projects with one or more than one phase s effort data recorded as zero, and they are excluded sine the records are considered to not cover the whole life-cycle phases. Finally, 75 projects with complete phased effort values are included in this research. 4. RESULTS The 75 projects came from 46 software organizations distributed in 12 regions across China, and the largest number of projects from the same organization is 8. Table 4a at below summarizes the project data on size and effort of our dataset. Note the significant difference between the mean and median of the size metric is mainly due to 1 very large project whose size is greater than 1000KSLOC. Table 4a Summary of the project data Mean Median Min Max Size (KSLOC) Effort (Person-s) To illustrate the stability of the variation associated with the dataset, scatter-plot of the log-transformed size and effort is given in Figure 2. It indicates a significant linear relationship between them (significance level is based on p-value <0.01), and the R-square of the linear regression line in the chart is Ln(Effort) R 2 = Ln(Size) Figure 2. Scatterplot of total development effort against software size after log-transformation. 4.1 Overall Distribution Pattern Table 4b summarizes the median, mean, and standard deviation of effort distribution percentage for each of the five CSBSG development phases after the combining of the original plans and requirements phases. Table 4b Overall phase distribution profile Plan& Min 1.82% 0.62% 6.99% 4.24% 0.06% Max 35% 50.35% 92.84% 50.54% 36.45% Median 15.94% 14.21% 36.36% 19.88% 4.51% Mean 16.14% 14.88% 40.36% 21.57% 7.06% Stdev 8.62% 8.91% 16.82% 11.04% 7.06% Though it is generally believed that major variations in both waterfall and RUP phase distribution quantities come in the phases outside the core development phases [6], the CSBSG data shows that code and test are the two development phases with greater variation than other phases. For example, the project with the least design phase effort distribution quantity, i.e. 0.62%, is also the same project with the greatest percentage numbers in code phase, i.e %. To examine the differences of individual phase distribution between CSBSG dataset and COCOMO II recommendations, we compare the mean distribution profile of CSBSG dataset with the COCOMO II waterfall distribution quantities. Effort % 45% 4 35% 3 25% 15% 5% Plan& COCOMO II CSBSG Figure 3. Comparison of overall waterfall distribution quantities between CSBSG and COCOMO II datasets As shown in Figure 3, distribution similarities appear only in the Test and Transition phases. Some significant differences between the two datasets include that: 1) a greater emphasis on Plans and Requirements phase in CSBSG dataset: 16.14% of overall development effort, compared to 6% in COCOMO II; 2) the design phase is dramatically less resource-allocated in CSBSG projects (i.e %) than COCOMO II projects (35% in average); and 3) the average distribution percentage for Code phase (40.36%) in CSBSG projects is much higher than that (27.8% in average) in COCOMO II projects. One possible explanation is that the great distribution percentage for code phase in CSBSG database may have resulted from some projects insufficiently resourced design phase, which might cause frequent rework in code phase. 64

5 4.2 Development life cycle Excluding 1 project with bad data on development life cycle with vague description, our dataset consists of projects employed three different development life cycles: waterfall (57 projects), iterative (15 projects), and rapid prototyping (2 projects). Due to the small sample size of rapid prototyping projects, we exclude it from further analysis. Figure 4 illustrates the comparison of phase distribution profiles of waterfall and iterative models using median value. A further examination is also performed to check the average software size of projects employing each of these three development life cycles. The results show that the average software size for these three groups is: 103KSLOC, 259KSLOC, and 85KSLOC for waterfall, iterative, and rapid prototyping respectively. It indicates that iterative is the mostly deployed life cycle model for ultra large projects. Effort% 5 45% 4 35% 3 25% 15% 5% Plan& Waterfall Iterative Figure 4 Comparison among different process models Table 5 Summary of phase distribution differences from Mean Effort% for whole dataset by development type LifeCycle Model N Plan & Waterfall % -0.88% 0.17% -0.99% Iterative % -1.45% 7.42% % The phase distribution deviation from the total average is listed in Table 5. Iterative processes, most suitable for complex large scale projects in CSBSG dataset, employ less effort percentage in plan and requirement, design, and test phases. It is actually due to iterative testing and integration effect on the basis of multiple iterations. This can also explain the highest distribution percentage of iterative development in code phase, because the iterative integration effort is included into code phase, according to CSBSG phase definition discussed in section 3.2. However, since the concept of phase in iterative or rapid prototyping development is not as clear as that in waterfall processes, data collection process is likely to involve greater participant bias in matching and transforming data from their own process breakdown structure to CSBSG process structure. 4.3 Development Type Development type is another factor that might affect phased effort distributions. Three software development types are pre-defined by the CSBSG database, namely new development (New), redevelopment (ReDev), and enhancement (Enhance), according to the following definitions: New development: where a software product was developed and introduced for the first time to satisfy specific customer needs; Re-development: where new technologies was incorporated in replacing or upgrading an existing software product in use; Enhancement: where new functionality requirements were designed and implemented to modify or extend an existing software system. Effort% 5 45% 4 35% 3 25% 15% 5% Plan& Re-Dev New Dev Enhance Figure 5 Comparison among difference development types Each of the 75 data points in our study contain a development category identified by the project team based on the above definition. The median effort ratios of each phase for three development type projects are illustrated in Figure 5, and the phase distribution deviation from the total average is listed in Table 6. The numbers of projects for the three groups are: 6 (ReDev), 53 (New), and 16 (Enhance). Table 6 Summary of phase distribution differences from Mean Effort% for whole dataset by development type Dev type N Plan & ReDev % -3.96% 8.95% -4.96% 3.59% New Dev % -0.12% % -0.58% Enhance % 1.88% % % New development and enhancement projects seem to have similar distributions in most of the development phases, except that new development projects spend more effort (roughly 13% more) in Code phase, while enhancement projects have greater focus on Test phase (about 6.5% more). This is because enhancement development involves through system testing even though the modifications happen on a smaller code base. At the meantime, redevelopment type has the greatest distribution emphasis on Code phase. A possible reason is that re-development projects involve the migrating of existing system to a different technology, but not requirements or design by its definition. A further examination on the estimation accuracy of phase effort distribution in the three development types shows that the Transition phase has been overestimated in all projects as shown in Figure 6. The accuracy measure used is the relative error (RE) percentage, which is calculated by the equation of RE = (Estimated phase effort Actual phase effort)/actual phase effort, for each individual development phase. Further investigation is needed to explain the overestimation phenomena in transition phase in CSBSG dataset. 65

6 Error Plan & Design Code T est T rans. The data indicates that software size data in CSBSG dataset roughly follows a normal distribution after taking log-transformation, consistent with the distribution reported in the ISBSG dataset [21]. Figure 8a depicts the average phase distribution of each size group. The CSBSG data does not show a clearly consistent decreasing trend in design and code phase, or an increasing trend in integration and test phase, as software size increase from smaller to larger scales. However, such trends are only observed between ultra-large group and super-ultra-large group. One possible reason might be that projects in CSBSG dataset were mostly completed in the past 3 years supported by advanced programming technologies, and it is likely for the size data to take the automatically generated code into account. However, fhis may again challenge on the validity of using LOC as the unit for effective software size. ReDev New Enhance Figure 6. Comparison of estimation accuracy The data also indicates that new development projects have much lower estimation error and hence more easier to estimate than the other two types for almost all phases, except the underestimation for the test phase. Moreover, design and code phases have been underestimated for the re-development projects. 4.4 Software Size It is noted that size metrics used in our study is Lines of Code. In this dataset, only 1 project recorded its size in Function Point. At the same time, another 3 projects from the same organization as this project are found, and they also use the same primary programming language, Java; moreover, these 3 projects have size records in both FP and LOC, and the ratio of LOCs per FP are all 53, which is consistent with the transformation ratio reported in SPR documentation [23]. In that case, transforming the size of this project into LOC metrics is considered to be reasonable P & R 2 KLOC 8 KLOC 32 KLOC 128 KLOC 512 KLOC >512 KLOC Figure 8a Comparison among difference software sizes scale in LOC 6 5 # of Projects <2 2~8 8~32 32~ ~512 >512 KSLOC 4 3 Plan & XXS M1 M2 L XL XXL XXXL Figure 8b Comparison among difference software sizes in FP scales Figure 7 Distribution of software size First of all, all the projects are divided into six groups: Small, Intermediate, Medium, Large, Ultra-Large, and Super-Ultra-Large according to the ranges adapted from COCOMO model, as shown in Figure 7. About 69% of projects in our dataset are medium to large scale projects, with 24% of projects are ultra-large scale or even bigger, while the small project ratio is relative as low as 7%. We then considered to use offunction Point (FP) as alternative software size metric. Following backfiring ratios in [23] and FP sizing scales in [25], we re-group all 75 projects into 7 groups, from Extra-extra-small to Extra-extra-extra-large. The effort distribution comparison of the 7 groups is illustrated in Figure 8b. According to this categorization, the phase distribution variations in each group are listed in Table 7. 66

7 Table 7 Summary of phase distribution variation by software size in FP scales Size N Plan & (KLOC) XXS % 9.42% % -2.56% 4.3 M % -0.66% -3.29% 6.55% -1.42% M % -4.25% 2.74% -1.63% L % -0.01% -0.08% -2.64% 1.27% XL % 12.83% -5.69% -0.69% XXL % -3.66% 15.74% -4.87% -1.89% XXXL % 1.21% -9.69% -4.56% 12.87% Size Plan & N (KLOC) XXS % 9.42% % -2.56% 4.3 M % -0.66% -3.29% 6.55% -1.42% M % -4.25% 2.74% -1.63% L % -0.01% -0.08% -2.64% 1.27% XL % 12.83% -5.69% -0.69% XXL % -3.66% 15.74% -4.87% -1.89% XXXL % 1.21% -9.69% -4.56% 12.87% The data shows that as the software size grows from small to medium, more development effort should be allocated to code and test phases; as the software size grows from medium to large, more development effort should go to plan and requirement and code phases; when the software size is extra large, more attention should be paid to design, code, and test phases. 4.5 Team Size Maximum team size is another metric collected in CSBSG dataset. It is also reported in [24] that the maximal number of members involved in the whole project life-cycle is easier to measure than average team size. An analysis of its influence on phase distribution is performed to explore possible causality. Since one project contains missing data on max team size, the other 74 projects are included in this analysis. The average phase distribution ratio results are depicted in Figure 9. And the phase distribution differences from the total average value in each group are listed in Table 8. 45% 4 35% 3 25% 15% 5% P & R >15 Figure 9 Average phase distribution for different team size Table 8 Summary of phase distribution differences from Mean Effort% for whole dataset by team size Team size N Plan & % % -1.85% 0.36% % 0.23% 0.51% % 0.66% -0.15% 3.16% -1.42% > % 1.27% 0.64% 3.52% -2.67% The data indicates a consistent relationship between maximum team size and phase distribution pattern. It shows a distinguishable emphasis on Test phase with the growth of team size.. 5. ANALYSIS The discussions in previous section contain some indications to the research questions. However, to further elaborate more statistical proofs about factors influencing phased distribution and their relation to the phase distribution patterns, we performed more statistic analysis on our dataset. 5.1 Factors Influencing d Distribution ANOVA analysis is used to examine to what a degree the variance of each phase effort distribution percentage is explained by class variables, i.e. development type, software size, and team size. The variable of development life cycle was excluded from this study because possibly biased data from projects that can not easily mixmatch their non-waterfall-based data into CSBSG structure, as well as its correlation with software size, as discussed in section 4.2. The data summarized in Table 9 shows the degree of variance explained by an influencing factor for the variation in individual phase effort distribution. For example, it shows that FP software size is the major metric to be considered when making distribution decisions for all development phase with the highest values in all phases. It also indicates that FP is a stronger predictor in measuring effective software size and predicting development effort. This confirms the software-scale-sensitive distribution scheme in COCOMO model. Development type is another major factor to be considered in determining appropriate adjustment for code and test phases. However, team size factor is a less significant factor to influence effort distribution on all phases. Table 9 Summary of ANOVA results Software size Team Distribution DevType LOC scale FP scale size P&R% 3.96% % 5.5 Design% 2.57% 3.67% 3.36% 0.62% Code% 12.22% 7.93% 20.56% 0.02% Test% 7.47% 7.16% 14.59% 3.05% Trans.% 2.72% 9.36% 22.45% 1.52% Through such analysis, parametric model can be developed in order to sophisticatedly consider these influencing factors, and predict appropriate amount of adjustment to be made against the nominal quantities offered by current methods for estimation and benchmarking purposes. 5.2 Guidelines for Allocation Though it is infeasible to deploy a unified distribution scheme over different types of projects, analyzing empirical effort data helps to develop understanding to variations and possible causes of phase 67

8 effort distribution, identify most frequently presented effort distribution patterns, and conclude insightful suggestions to lead to improved project planning practices. Concluded from the observations and analysis results of this study, the following general guidelines are provided for further discussion, adoption, and validation by software estimation and management practitioners, esp. in Chinese software industry: 1) Analysis on determining reasonable phase effort distribution quantities should be performed in the cost estimation process. 2) CSBSG data analysis shows a waterfall-based phase distribution scheme as: 16.14% for plans and requirements phase, 14.88% for design phase, 40.36% for code phase, 21.57% for test phase, and the other 7.06% for transition phase. 3) CSBSG data shows that iterative development projects have allocation intensity on code (+7.42%) and transition (+2.67%) phases compared to median values of the overall dataset. 4) FP-based software size and development type are two major factors to be considered when adjusting effort allocation. 5) CSBSG dataset shows that for enhancement type of projects, percentage of development effort in code phase decreases by 10.67%, and that for test phase increases by 5.4%. 6) CSBSG dataset indicates that as software size dramatically grows, distribution has an intensive focus on both code and test phases. 7) CSBSG dataset indicates that team size is not a significant factor which may cause phase effort distribution variation. However, it shows a distinguishable emphasis on Test phase with the growth of team size 5.3 Threats to Validity Two major threats to external validity of our study are: 1) Data representativeness. The dataset used in our study was precollected by CSBSG through its member organizations. Hence, the data may represent software organizations with above average performance, because otherwise they are rarely willing to submit data even if they have collected such historical records. 2) Data quality. On the other hand, the data collection process is likely to bring in individual biases or participant error which may involve mis-reporting or double counting issues. Even though we have gone through strict data clean and exclusion criteria, this still remains a big risk to the trustworthiness of this study. The major threat to internal validity is the generalization of the empirical findings. Given that all projects are from domestic China mainland, in which many external and internal conditions might differ greatly from oversea projects, the findings will be more reliable and appropriate for projects from a similar setting.. In addition, for the issue of sizing metrics, one may question the way how each organization count the lines of code. In fact, we cannot figure out that in detail, and it really leaves us a question expected to be further explore in the future work. However, as we know, since the scare resource of expert in Function Point Method, most organizations still choose the relative direct and original counting method to measure the software size. Another issue has to do with the interpretations following the analysis on each influencing factor. Most interpretations are compared with COCOMO findings and only with respect to individual factors, i.e. development life cycle, development type, software size, and team size. Possible correlations among multiple factors are not studied and may lead to counter-intuitive findings. Moreover, analysis and exclusion of potential outliers from the subject is not included in the current study. This could also reduce the validity of this study. 6. CONCLUSION AND FUTURE WORK Poor effort estimation and allocation comes from lack of recognition to process variations and lack of understanding to process effort distribution patterns. However, limited amount of studies are found to date to develop in-depth exploration what factors cause the variations in effort distribution. The work performed within the study aimed to examine the effort distribution profile using 75 project data from a certain number of Chinese software organizations to gain additional understanding about the variations and possible causes of waterfall-based phase effort distribution. The phase effort distribution patterns were compared with that from the COCOMO model, and further analysis examines the relationships between the distribution patterns and some significant factors including development life cycle, development type, software size, and team size. It identifies distinguishable phase effort distribution similarities and differences, and provided guidelines for improving future estimation and allocation practices. Such empirically-based information offers various beneficial outcomes in developing better understanding to development phase focuses and predicting cost estimation and phase allocation. Future work includes investigation and extension of current study to address the following issues: Continuing on similar analysis to search for other significant influencing factors, possible candidate including requirement volatility and business area; Strengthening the findings through more thorough statistical analysis including interrelationship modeling among multiple factors and proper outlier identification and handling; Using linear regression to construct a parametric model of a consolidated set of predicting factors to calculate phase sensitive effort distribution quantities for a given project setting; Extending the scope of current analysis to cover phase schedule distribution analysis. 7. ACKNOWLEDGMENTS We would like to thank the Chinese Systems and Software Process Improvement Association for their data support of this study and the anonymous reviewers for their constructive suggestions. This work is supported by the National Natural Science Foundation of China under grant Nos , ; the National Hi- Tech Research and Development Plan of China under Grant No. 2006AA01Z182, 2007AA010303; the National Key Technologies R&D Program under Grant No. 2007CB

9 8. REFERENCES [1] Boehm, B. and C. Abts, Software Development Cost Estimation Approaches-A Survey. Annals of Software Engineering, (1-4): p [2] Jorgensen, M. and M. Shepperd, A System Review of Software Development Cost Estimation Studies. IEEE Transaction on Software Engineering, (1): p [3] Basili, V.R.: Software development: a paradigm for the future. Proceedings of the 13th Annual International Computer Software and Application Conference, (1989) [4] Feller, J. and Fitzgerald, B.: A Framework Analysis of The Open Source Software Development Paradigm. Proceedings of the 21st International Conference in Information Systems (ICIS 2000). (2000), [5] The Standish Group the 3 rd Quarter Research Report, (2004). [6] Boehm, B.W., et al.: Software Cost Estimation with COCOMO II. Prentice Hall, NY(2000) [7] Reifer, D.: Industry software cost, quality and productivity benchmarks, software. Tech News 7(2) (July 2004) [8] Kroll, P.: Planning and estimating a RUP project using IBM rational SUMMIT ascendant. Technical report, IBM Developerworks (May 2004) [9] QSM Inc.: The QSM Software Almanac: Application Development Series (IT Metrics Edition) Application Development Data and Research for the Agile Enterprise. Quantitative Software Management Inc., McLean, Virginia, USA (2006) [10] Heijstek, W. and Chaudron, M. R. V.: Effort distribution in model-based development. 2nd Workshop on Model Size Metrics (2007) [11] Boehm, B.W.: Software Engineering Economics. Prentice Hall, (1981) [12] Kruchten, P.: The Rational Unified Process: An Introduction. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA (2003) [13] Wohlin, C.: Distribution Patterns of Effort estimation. EUROMICRO Conference (2004) [14] Norden P.V.: Curve Fitting for a Model of Applied Research and Development Scheduling. IBM J. Research and Development, Vol. 3, No. 2, (1958), [15] Putnam, L. and Myers, W. (1992), Measures for Excellence, Yourdon Press Computing Series. [16] He, M., et al.: An Investigation of Software Development Productivity in China. ICSP 2008, (2008) [17] SEER-SEM. [18] Peleg Yiftachel, et al.: Resource Allocation among Development s: An Economic Approach. EDSER 06, May 27, 2006, Shanghai, China, (2006) [19] Huang, L., Boehm, B.: Determining how much software assurance is enough?: a value-based approach. In: EDSER 05: Proceedings of the seventh international workshop on Economics-driven software engineering research, NY, USA, ACM Press (2005) 1 5 [20] Yiftachel, P., Peled, D., Hadar, I., Goldwasser, D.: Resource allocation among development phases: an economic approach. In: EDSER 06: Proceedings of the 2006 international workshop on Economics driven software engineering research, New York, NY, USA, ACM Press (2006) [21] Jiang, Z., Naudé, P. and Comstock, C.: An investigation on the variation of software development productivity. International Journal of Computer, Information, and Systems Sciences, and Engineering, Vol. 1, No. 2 (2007) [22] ISBSG Benchmark Release 8. [23] SPR Programming Languages Table 2003, Software Productivity Research. ttp:// [24] Agrawal, M., Chari, K.: Software Effort, Quality and Cycle Time: A Study of CMM Level 5 Projects. IEEE Transactions on Software Engineering, Vol. 33, No. 3 (2007) [25] Software Measurement Services Ltd. Small project, medium-size project and large project : what do these terms mean? vesizescale%20v1b.pdf [26] 69

Effort Distribution in Model-Based Development

Effort Distribution in Model-Based Development Effort Distribution in Model-Based Development Werner Heijstek 1 and Michel R. V. Chaudron 1,2 1 Leiden Institute of Advanced Computer Science, Leiden University Niels Bohrweg 1, 2333 CA Leiden, The Netherlands

More information

Simulation for Business Value and Software Process/Product Tradeoff Decisions

Simulation for Business Value and Software Process/Product Tradeoff Decisions Simulation for Business Value and Software Process/Product Tradeoff Decisions Raymond Madachy USC Center for Software Engineering Dept. of Computer Science, SAL 8 Los Angeles, CA 90089-078 740 570 madachy@usc.edu

More information

Software project cost estimation using AI techniques

Software project cost estimation using AI techniques Software project cost estimation using AI techniques Rodríguez Montequín, V.; Villanueva Balsera, J.; Alba González, C.; Martínez Huerta, G. Project Management Area University of Oviedo C/Independencia

More information

Finally, Article 4, Creating the Project Plan describes how to use your insight into project cost and schedule to create a complete project plan.

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

More information

DOMAIN-BASED EFFORT DISTRIBUTION MODEL FOR SOFTWARE COST ESTIMATION. Thomas Tan

DOMAIN-BASED EFFORT DISTRIBUTION MODEL FOR SOFTWARE COST ESTIMATION. Thomas Tan DOMAIN-BASED EFFORT DISTRIBUTION MODEL FOR SOFTWARE COST ESTIMATION by Thomas Tan A Dissertation Presented to the FACULTY OF THE USC GRADUATE SCHOOL UNIVERSITY OF SOUTHERN CALIFORNIA In Partial Fulfillment

More information

The Effort Distribution Pattern Analysis of Three Types of Software Quality Assurance Activities and Process Implication: an Empirical Study

The Effort Distribution Pattern Analysis of Three Types of Software Quality Assurance Activities and Process Implication: an Empirical Study The Effort Distribution Pattern Analysis of Three Types of Software Quality Assurance Activities and Process Implication: an Empirical Study Qi Li University of Southern California 941 w. 37th Place Los

More information

The ROI of Systems Engineering: Some Quantitative Results

The ROI of Systems Engineering: Some Quantitative Results The ROI of Systems Engineering: Some Quantitative Results Barry Boehm Center for Systems and Software Engineering University of Southern California boehm@usc.edu Ricardo Valerdi Lean Aerospace Initiative,

More information

Article 3, Dealing with Reuse, explains how to quantify the impact of software reuse and commercial components/libraries on your estimate.

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

More information

A Case Study Research on Software Cost Estimation Using Experts Estimates, Wideband Delphi, and Planning Poker Technique

A Case Study Research on Software Cost Estimation Using Experts Estimates, Wideband Delphi, and Planning Poker Technique , pp. 173-182 http://dx.doi.org/10.14257/ijseia.2014.8.11.16 A Case Study Research on Software Cost Estimation Using Experts Estimates, Wideband Delphi, and Planning Poker Technique Taghi Javdani Gandomani

More information

Sizing Application Maintenance and Support activities

Sizing Application Maintenance and Support activities October 2014 Sizing Application Maintenance and Support activities Anjali Mogre anjali.mogre@atos.net Penelope Estrada Nava penelope.estrada@atos.net Atos India www.atos.net Phone: +91 9820202911 Copyright

More information

Integrated Modeling of Business Value and Software Processes

Integrated Modeling of Business Value and Software Processes Integrated Modeling of Business Value and Software Processes Raymond Madachy, USC Center for Software Engineering Department of Computer Science, SAL 8 University of Southern California Los Angeles, CA

More information

Software Development Cost and Time Forecasting Using a High Performance Artificial Neural Network Model

Software Development Cost and Time Forecasting Using a High Performance Artificial Neural Network Model Software Development Cost and Time Forecasting Using a High Performance Artificial Neural Network Model Iman Attarzadeh and Siew Hock Ow Department of Software Engineering Faculty of Computer Science &

More information

D. Milicic and C. Wohlin, "Distribution Patterns of Effort Estimations", IEEE Conference Proceedings of Euromicro 2004, Track on Software Process and

D. Milicic and C. Wohlin, Distribution Patterns of Effort Estimations, IEEE Conference Proceedings of Euromicro 2004, Track on Software Process and D. Milicic and C. Wohlin, "Distribution Patterns of Effort Estimations", IEEE Conference Proceedings of Euromicro 004, Track on Software Process and Product Improvement, pp. 4-49, Rennes, France, 004.

More information

Cost Estimation for Secure Software & Systems

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,

More information

Pragmatic Peer Review Project Contextual Software Cost Estimation A Novel Approach

Pragmatic Peer Review Project Contextual Software Cost Estimation A Novel Approach www.ijcsi.org 692 Pragmatic Peer Review Project Contextual Software Cost Estimation A Novel Approach Manoj Kumar Panda HEAD OF THE DEPT,CE,IT & MCA NUVA COLLEGE OF ENGINEERING & TECH NAGPUR, MAHARASHTRA,INDIA

More information

Modern Tools to Support DoD Software Intensive System of Systems Cost Estimation

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

More information

Protocol for the Systematic Literature Review on Web Development Resource Estimation

Protocol for the Systematic Literature Review on Web Development Resource Estimation Protocol for the Systematic Literature Review on Web Development Resource Estimation Author: Damir Azhar Supervisor: Associate Professor Emilia Mendes Table of Contents 1. Background... 4 2. Research Questions...

More information

A DIFFERENT KIND OF PROJECT MANAGEMENT

A DIFFERENT KIND OF PROJECT MANAGEMENT SEER for Software SEER project estimation and management solutions improve success rates on complex software projects. Based on sophisticated modeling technology and extensive knowledge bases, SEER solutions

More information

Quantitative Managing Defects for Iterative Projects: An Industrial Experience Report in China

Quantitative Managing Defects for Iterative Projects: An Industrial Experience Report in China Quantitative Managing Defects for Iterative Projects: An Industrial Experience Report in China Lang Gou 1, Qing Wang 1, Jun Yuan 3, Ye Yang 1, Mingshu Li 1, Nan Jiang 1 1 Laboratory for Internet Software

More information

Analysis of Attributes Relating to Custom Software Price

Analysis of Attributes Relating to Custom Software Price Analysis of Attributes Relating to Custom Software Price Masateru Tsunoda Department of Information Sciences and Arts Toyo University Saitama, Japan tsunoda@toyo.jp Akito Monden, Kenichi Matsumoto Graduate

More information

Recent Results in Software Process Modeling

Recent Results in Software Process Modeling Recent Results in Software Process Modeling Ray Madachy, Ph.D. C-bridge Internet Solutions University of Southern California Center for Software Engineering rmadachy@c-bridge.com, madachy@usc.edu 1 Introduction

More information

Efficient Indicators to Evaluate the Status of Software Development Effort Estimation inside the Organizations

Efficient Indicators to Evaluate the Status of Software Development Effort Estimation inside the Organizations Efficient Indicators to Evaluate the Status of Software Development Effort Estimation inside the Organizations Elham Khatibi Department of Information System Universiti Teknologi Malaysia (UTM) Skudai

More information

Effect of Schedule Compression on Project Effort

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,

More information

A Case Study on Benefits and Side-Effects of Agile Practices in Large-Scale Requirements Engineering

A Case Study on Benefits and Side-Effects of Agile Practices in Large-Scale Requirements Engineering A Case Study on Benefits and Side-Effects of Agile Practices in Large-Scale Requirements Engineering Elizabeth Bjarnason, Krzysztof Wnuk, Björn Regnell Department of Computer Science, Lund University,

More information

Literature Survey on Algorithmic Methods for Software Development Cost Estimation

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:shubhangipotdar@rediffmail.com Dr. Manimala

More information

Cost Estimation Driven Software Development Process

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

More information

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 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

More information

A QUALITY-BASED COST ESTIMATION MODEL FOR THE PRODUCT LINE LIFE CYCLE

A QUALITY-BASED COST ESTIMATION MODEL FOR THE PRODUCT LINE LIFE CYCLE By Hoh Peter In, Jongmoon Baik, Sangsoo Kim, Ye Yang, and Barry Boehm A QUALITY-BASED COST ESTIMATION MODEL FOR THE PRODUCT LINE LIFE CYCLE In reusing common organizational assets, Figure the 1. software

More information

Cost Estimation Tool for Commercial Software Development Industries

Cost Estimation Tool for Commercial Software Development Industries Cost Estimation Tool for Commercial Software Development Industries Manisha Arora #1, Richa Arya *2, Dinesh Tagra #3, Anil Saroliya #4, Varun Sharma #5 #1 ASET, Amity University Rajasthan, Jaipur, India

More information

SOFTWARE ECONOMICS UNIT 15. Presented by. Stefano Street

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

More information

IBM Software Testing and Development Control - How to Measure Risk

IBM Software Testing and Development Control - How to Measure Risk IBM Software Group Practical Approaches to Development Governance 2007 IBM Corporation Program parameters (cost, schedule, effort, quality, ) are random variables Area under curve describes probability

More information

Software Quality Development and Assurance in RUP, MSF and XP - A Comparative Study

Software Quality Development and Assurance in RUP, MSF and XP - A Comparative Study Software Quality Development and Assurance in RUP, MSF and XP - A Comparative Study Wolfgang Zuser Vienna University of Technology wolfgang.zuser@inso.tuwien.ac.at Stefan Heil Capgemini Consulting Austria

More information

C. Wohlin, "Is Prior Knowledge of a Programming Language Important for Software Quality?", Proceedings 1st International Symposium on Empirical

C. Wohlin, Is Prior Knowledge of a Programming Language Important for Software Quality?, Proceedings 1st International Symposium on Empirical C. Wohlin, "Is Prior Knowledge of a Programming Language Important for Software Quality?", Proceedings 1st International Symposium on Empirical Software Engineering, pp. 27-36, Nara, Japan, October 2002.

More information

A DIFFERENT KIND OF PROJECT MANAGEMENT: AVOID SURPRISES

A DIFFERENT KIND OF PROJECT MANAGEMENT: AVOID SURPRISES SEER for Software: Cost, Schedule, Risk, Reliability SEER project estimation and management solutions improve success rates on complex software projects. Based on sophisticated modeling technology and

More information

Project Planning and Project Estimation Techniques. Naveen Aggarwal

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

More information

A Comparison of Calibrated Equations for Software Development Effort Estimation

A Comparison of Calibrated Equations for Software Development Effort Estimation A Comparison of Calibrated Equations for Software Development Effort Estimation Cuauhtemoc Lopez Martin Edgardo Felipe Riveron Agustin Gutierrez Tornes 3,, 3 Center for Computing Research, National Polytechnic

More information

Deducing software process improvement areas from a COCOMO II-based productivity measurement

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

More information

Cost Drivers of a Parametric Cost Estimation Model for Data Mining Projects (DMCOMO)

Cost Drivers of a Parametric Cost Estimation Model for Data Mining Projects (DMCOMO) Cost Drivers of a Parametric Cost Estimation Model for Mining Projects (DMCOMO) Oscar Marbán, Antonio de Amescua, Juan J. Cuadrado, Luis García Universidad Carlos III de Madrid (UC3M) Abstract Mining is

More information

White Paper IT Methodology Overview & Context

White Paper IT Methodology Overview & Context White Paper IT Methodology Overview & Context IT Methodologies - Delivery Models From the inception of Information Technology (IT), organizations and people have been on a constant quest to optimize the

More information

Stepwise Regression. Chapter 311. Introduction. Variable Selection Procedures. Forward (Step-Up) Selection

Stepwise Regression. Chapter 311. Introduction. Variable Selection Procedures. Forward (Step-Up) Selection Chapter 311 Introduction Often, theory and experience give only general direction as to which of a pool of candidate variables (including transformed variables) should be included in the regression model.

More information

Software cost estimation

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

More information

Improving Software Developer s Competence: Is the Personal Software Process Working?

Improving Software Developer s Competence: Is the Personal Software Process Working? Improving Software Developer s Competence: Is the Personal Software Process Working? Pekka Abrahamsson 1, Karlheinz Kautz 2, Heikki Sieppi 3 and Jouni Lappalainen 3 1 VTT Technical Research Centre of Finland,

More information

Towards a Methodology to Estimate Cost of Object- Oriented Software Development Projects

Towards a Methodology to Estimate Cost of Object- Oriented Software Development Projects UDC 65.01 Towards a Methodology to Estimate Cost of Object- Oriented Software Development Projects Radoslav M. Rakovic Energoprojekt-Entel Co.Ltd., Bulevar Mihaila Pupina 12, 11070 Belgrade, Serbia and

More information

Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit

Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit Development models R. Kuiper and E.J. Luit 1 Introduction We reconsider the classical development models: the Waterfall Model [Bo76], the V-Model [Ro86], the Spiral Model [Bo88], together with the further

More information

METHODS OF EFFORT ESTIMATION IN SOFTWARE ENGINEERING

METHODS OF EFFORT ESTIMATION IN SOFTWARE ENGINEERING I International Symposium Engineering Management And Competitiveness 2011 (EMC2011) June 24-25, 2011, Zrenjanin, Serbia METHODS OF EFFORT ESTIMATION IN SOFTWARE ENGINEERING Jovan Živadinović, Ph.D * High

More information

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 - 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

More information

Estimating Size and Effort

Estimating Size and Effort Estimating Size and Effort Dr. James A. Bednar jbednar@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/jbednar Dr. David Robertson dr@inf.ed.ac.uk http://www.inf.ed.ac.uk/ssp/members/dave.htm SAPM Spring 2007:

More information

A Specific Effort Estimation Method Using Function Point

A Specific Effort Estimation Method Using Function Point JOURNAL OF INFORMATION SCIENCE AND ENGINEERING 27, 1363-1376 (2011) A Specific Effort Estimation Method Using Function Point BINGCHIANG JENG 1,*, DOWMING YEH 2, DERON WANG 3, SHU-LAN CHU 2 AND CHIA-MEI

More information

Software cost estimation. Predicting the resources required for a software development process

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

More information

Estimating the Size of Software Package Implementations using Package Points. Atul Chaturvedi, Ram Prasad Vadde, Rajeev Ranjan and Mani Munikrishnan

Estimating the Size of Software Package Implementations using Package Points. Atul Chaturvedi, Ram Prasad Vadde, Rajeev Ranjan and Mani Munikrishnan Estimating the Size of Software Package Implementations using Package Points Atul Chaturvedi, Ram Prasad Vadde, Rajeev Ranjan and Mani Munikrishnan Feb 2008 Introduction 3 Challenges with Existing Size

More information

Simple Predictive Analytics Curtis Seare

Simple Predictive Analytics Curtis Seare Using Excel to Solve Business Problems: Simple Predictive Analytics Curtis Seare Copyright: Vault Analytics July 2010 Contents Section I: Background Information Why use Predictive Analytics? How to use

More information

Module 11. Software Project Planning. Version 2 CSE IIT, Kharagpur

Module 11. Software Project Planning. Version 2 CSE IIT, Kharagpur Module 11 Software Project Planning Lesson 29 Staffing Level Estimation and Scheduling Specific Instructional Objectives At the end of this lesson the student would be able to: Identify why careful planning

More information

E-COCOMO: The Extended COst Constructive MOdel for Cleanroom Software Engineering

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 hkshitesh@gmail.com

More information

Cost Estimation Strategies COST ESTIMATION GUIDELINES

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

More information

Domain Analysis for the Reuse of Software Development Experiences 1

Domain Analysis for the Reuse of Software Development Experiences 1 Domain Analysis for the Reuse of Software Development Experiences 1 V. R. Basili*, L. C. Briand**, W. M. Thomas* * Department of Computer Science University of Maryland College Park, MD, 20742 USA ** CRIM

More information

Data Quality Assessment

Data Quality Assessment Data Quality Assessment Leo L. Pipino, Yang W. Lee, and Richard Y. Wang How good is a company s data quality? Answering this question requires usable data quality metrics. Currently, most data quality

More information

Software Metrics: Roadmap

Software Metrics: Roadmap Software Metrics: Roadmap By Norman E. Fenton and Martin Neil Presentation by Karim Dhambri Authors (1/2) Norman Fenton is Professor of Computing at Queen Mary (University of London) and is also Chief

More information

Statistics. Measurement. Scales of Measurement 7/18/2012

Statistics. Measurement. Scales of Measurement 7/18/2012 Statistics Measurement Measurement is defined as a set of rules for assigning numbers to represent objects, traits, attributes, or behaviors A variableis something that varies (eye color), a constant does

More information

Redesigned Framework and Approach for IT Project Management

Redesigned Framework and Approach for IT Project Management Vol. 5 No. 3, July, 2011 Redesigned Framework and Approach for IT Project Management Champa Hewagamage 1, K. P. Hewagamage 2 1 Department of Information Technology, Faculty of Management Studies and Commerce,

More information

What you can find in the ISBSG Development & Enhancement Repository Release 13

What you can find in the ISBSG Development & Enhancement Repository Release 13 What you can find in the ISBSG Development & Enhancement Repository Release 13 This document provides details of the various project data types that are included in the ISBSG project repository Release

More information

CSSE 372 Software Project Management: Software Estimation With COCOMO-II

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: bohner@rose-hulman.edu Estimation Experience and Beware of the

More information

Moving from a Plan Driven Culture to Agile Development

Moving from a Plan Driven Culture to Agile Development Moving from a Plan Driven Culture to Agile Development Lessons Learned ICSE 2005, St. Louis, 20-May-2005 Michael Hirsch Zühlke Engineering AG hm@zuehlke.com Topic of this Talk In scope: Experiences and

More information

NCSS Statistical Software Principal Components Regression. In ordinary least squares, the regression coefficients are estimated using the formula ( )

NCSS Statistical Software Principal Components Regression. In ordinary least squares, the regression coefficients are estimated using the formula ( ) Chapter 340 Principal Components Regression Introduction is a technique for analyzing multiple regression data that suffer from multicollinearity. When multicollinearity occurs, least squares estimates

More information

Hathaichanok Suwanjang and Nakornthip Prompoon

Hathaichanok Suwanjang and Nakornthip Prompoon Framework for Developing a Software Cost Estimation Model for Software Based on a Relational Matrix of Project Profile and Software Cost Using an Analogy Estimation Method Hathaichanok Suwanjang and Nakornthip

More information

Abstract. 1 Introduction

Abstract. 1 Introduction Amir Tomer Amir Tomer is the Director of Systems and Software Engineering Processes at RAFAEL Ltd., Israel,with whom he has been since 1982,holding a variety of systems and software engineering positions,both

More information

Software effort estimation and risk analysis A Survey Poonam kaushal Poonamkaushal14@gmail.com

Software effort estimation and risk analysis A Survey Poonam kaushal Poonamkaushal14@gmail.com Software effort estimation and risk analysis A Survey Poonam kaushal Poonamkaushal14@gmail.com Abstract Software effort estimation and risk analysis are the two key components of a good software project.

More information

International Journal of Advanced Research in Computer Science and Software Engineering

International Journal of Advanced Research in Computer Science and Software Engineering ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: A Comparative Analysis of Different types of Models in Software

More information

A Concise Neural Network Model for Estimating Software Effort

A Concise Neural Network Model for Estimating Software Effort A Concise Neural Network Model for Estimating Software Effort Ch. Satyananda Reddy, KVSVN Raju DENSE Research Group Department of Computer Science and Systems Engineering, College of Engineering, Andhra

More information

Software cost estimation

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

More information

REVIEW ON THE EFFECTIVENESS OF AGILE UNIFIED PROCESS IN SOFTWARE DEVELOPMENT WITH VAGUE SYSTEM REQUIREMENTS

REVIEW ON THE EFFECTIVENESS OF AGILE UNIFIED PROCESS IN SOFTWARE DEVELOPMENT WITH VAGUE SYSTEM REQUIREMENTS REVIEW ON THE EFFECTIVENESS OF AGILE UNIFIED PROCESS IN SOFTWARE DEVELOPMENT WITH VAGUE SYSTEM REQUIREMENTS Lisana Universitas Surabaya (UBAYA), Raya Kalirungkut, Surabaya, Indonesia E-Mail: lisana@ubaya.ac.id

More information

Management Science Letters

Management Science Letters Management Science Letters () Contents lists available at GrowingScience Management Science Letters homepage: www.growingscience.com/msl A feasibility study for using agile contractors to promote mass

More information

The most suitable system methodology for the proposed system is drawn out.

The most suitable system methodology for the proposed system is drawn out. 3.0 Methodology 3.1 Introduction In this chapter, five software development life cycle models are compared and discussed briefly. The most suitable system methodology for the proposed system is drawn out.

More information

Bridge the Gap between Software Test Process and Business Value: A Case Study

Bridge the Gap between Software Test Process and Business Value: A Case Study Bridge the Gap between Software Test Process and Business Value: A Case Study Qi Li 1, Mingshu Li 2, Ye Yang 2, Qing Wang 2, Thomas Tan 1, Barry Boehm 1, and Chenyong Hu 2 1 Universy of Southern California

More information

5. Linear Regression

5. Linear Regression 5. Linear Regression Outline.................................................................... 2 Simple linear regression 3 Linear model............................................................. 4

More information

Safe and Simple Software Cost Analysis Barry Boehm, USC Everything should be as simple as possible, but no simpler.

Safe and Simple Software Cost Analysis Barry Boehm, USC Everything should be as simple as possible, but no simpler. Safe and Simple Software Cost Analysis Barry Boehm, USC Everything should be as simple as possible, but no simpler. -Albert Einstein Overview There are a number of simple software cost analysis methods,

More information

10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design

10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design Session # 3 Contents Systems Analysis and Design 2 1 Tiers of Software Development 10/4/2013 Information system development project Realistic behavior 3 Information system development project System Development

More information

Measurement Information Model

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

More information

FUNCTION POINT ANALYSIS: Sizing The Software Deliverable. BEYOND FUNCTION POINTS So you ve got the count, Now what?

FUNCTION POINT ANALYSIS: Sizing The Software Deliverable. BEYOND FUNCTION POINTS So you ve got the count, Now what? FUNCTION POINT ANALYSIS: Sizing The Software Deliverable BEYOND FUNCTION POINTS So you ve got the count, Now what? 2008 Course Objectives The primary webinar objectives are to: Review function point methodology

More information

Models for Product Demand Forecasting with the Use of Judgmental Adjustments to Statistical Forecasts

Models for Product Demand Forecasting with the Use of Judgmental Adjustments to Statistical Forecasts Page 1 of 20 ISF 2008 Models for Product Demand Forecasting with the Use of Judgmental Adjustments to Statistical Forecasts Andrey Davydenko, Professor Robert Fildes a.davydenko@lancaster.ac.uk Lancaster

More information

WHY THE WATERFALL MODEL DOESN T WORK

WHY THE WATERFALL MODEL DOESN T WORK Chapter 2 WHY THE WATERFALL MODEL DOESN T WORK M oving an enterprise to agile methods is a serious undertaking because most assumptions about method, organization, best practices, and even company culture

More information

Software Engineering and the Systems Approach: A Conversation with Barry Boehm

Software Engineering and the Systems Approach: A Conversation with Barry Boehm IGI PUBLISHING ITJ4305 701 E. Chocolate Avenue, Suite 200, Hershey PA 17033-1240, USA Int l Journal of Tel: Information 717/533-8845; Technologies Fax 717/533-8661; and the Systems URL-http://www.igi-global.com

More information

A New Approach in Software Cost Estimation with Hybrid of Bee Colony and Chaos Optimizations Algorithms

A New Approach in Software Cost Estimation with Hybrid of Bee Colony and Chaos Optimizations Algorithms A New Approach in Software Cost Estimation with Hybrid of Bee Colony and Chaos Optimizations Algorithms Farhad Soleimanian Gharehchopogh 1 and Zahra Asheghi Dizaji 2 1 Department of Computer Engineering,

More information

AGILE Burndown Chart deviation - Predictive Analysis to Improve Iteration Planning

AGILE Burndown Chart deviation - Predictive Analysis to Improve Iteration Planning AGILE Burndown Chart deviation - Predictive Analysis to Improve Iteration Planning A. Mr. Dhruba Jyoti Chaudhuri 1, B. Ms. Aditi Chaudhuri 2 1 Process Excellence Group, Tata Consultancy Services (TCS)

More information

Classical Software Life Cycle Models

Classical Software Life Cycle Models Classical Software Life Cycle Models SWEN 301 Trimester 1, 2015 Lecturer: Dr Hui Ma Engineering and Computer Science Lecture slides make use of material provided on the textbook's companion website Motivation

More information

Efficiency in Software Development Projects

Efficiency in Software Development Projects Efficiency in Software Development Projects Aneesh Chinubhai Dharmsinh Desai University aneeshchinubhai@gmail.com Abstract A number of different factors are thought to influence the efficiency of the software

More information

Agility, Uncertainty, and Software Project Estimation Todd Little, Landmark Graphics

Agility, Uncertainty, and Software Project Estimation Todd Little, Landmark Graphics Agility, Uncertainty, and Software Project Estimation Todd Little, Landmark Graphics Summary Prior studies in software development project estimation have demonstrated large variations in the estimated

More information

Software Engineering Graduate Project Effort Analysis Report

Software Engineering Graduate Project Effort Analysis Report Software Engineering Graduate Project Effort Analysis Report Zhihao Chen Center for Software Engineering, University of Southern California, Los Angeles 90089 California, USA {zhihaoch}@cse.usc.edu Abstract:

More information

Fundamentals of Measurements

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

More information

Software Engineering

Software Engineering 1 Software Engineering Lecture 2: Software Life Cycles Stefan Hallerstede Århus School of Engineering 25 August 2011 2 Contents Naive Software Development Code & Fix Towards A Software Process Software

More information

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW Year 2014, Vol. 1, issue 1, pp. 49-56 Available online at: http://journal.iecuniversity.com TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW Singh RANDEEP a*, Rathee AMIT b a* Department of

More information

C. Wohlin, "Managing Software Quality through Incremental Development and Certification", In Building Quality into Software, pp. 187-202, edited by

C. Wohlin, Managing Software Quality through Incremental Development and Certification, In Building Quality into Software, pp. 187-202, edited by C. Wohlin, "Managing Software Quality through Incremental Development and Certification", In Building Quality into Software, pp. 187-202, edited by M. Ross, C. A. Brebbia, G. Staples and J. Stapleton,

More information

A Software Development Simulation Model of a Spiral Process

A Software Development Simulation Model of a Spiral Process A Software Development Simulation Model of a Spiral Process ABSTRACT: There is a need for simulation models of software development processes other than the waterfall because processes such as spiral development

More information

Software Engineering Practices in Jordan

Software Engineering Practices in Jordan Software Engineering Practices in Jordan Nuha El-Khalili Faculty of Information Technology, University of Petra, Amman, Jordan nuhak@uop.edu.jo Dima Damen Faculty of Information Technology, University

More information

Chapter 23 Software Cost Estimation

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

More information

Software Project Level Estimation Model Framework based on Bayesian Belief Networks

Software Project Level Estimation Model Framework based on Bayesian Belief Networks Software Project Level Estimation Model Framework based on Bayesian Belief Networks Hao Wang Siemens Ltd. China CT SE Beijing, China wanghao@siemens.com Fei Peng Siemens Ltd. China CT SE Beijing, China

More information

A Survey on Cost Estimation Process in Malaysia Software Industry

A Survey on Cost Estimation Process in Malaysia Software Industry A Survey on Cost Estimation Process in Malaysia Software Industry Zulkefli Mansor 1, Zarinah Mohd Kasirun 2, Saadiah Yahya 3, Noor Habibah Hj Arshad 4 1 Department of Software Engineering, Faculty of Computer

More information

Reuse and Capitalization of Software Components in the GSN Project

Reuse and Capitalization of Software Components in the GSN Project Experiences with certification of reusable components in the GSN project in Ericsson, Norway Parastoo Mohagheghi (Ph.D. Student, NTNU) Reidar Conradi Ericsson AS, Grimstad, Dept. Computer and Information

More information

Testing Metrics. Introduction

Testing Metrics. Introduction Introduction Why Measure? What to Measure? It is often said that if something cannot be measured, it cannot be managed or improved. There is immense value in measurement, but you should always make sure

More information

Measurement and Metrics Fundamentals. SE 350 Software Process & Product Quality

Measurement and Metrics Fundamentals. SE 350 Software Process & Product Quality Measurement and Metrics Fundamentals Lecture Objectives Provide some basic concepts of metrics Quality attribute metrics and measurements Reliability, validity, error Correlation and causation Discuss

More information

Web Application Development Processes: Requirements, Demands and Challenges

Web Application Development Processes: Requirements, Demands and Challenges Web Application Development Processes: Requirements, Demands and Challenges THAMER AL-ROUSAN 1, BASEM HADIDI 2, SHADI ALJAWARNEH 3 1, 3 Faculty of Science and Information Technology, Isra University, Amman,

More information