Improving Software Development Tracking and Estimation Inside the Cone of Uncertainty

Size: px
Start display at page:

Download "Improving Software Development Tracking and Estimation Inside the Cone of Uncertainty"

Transcription

1 Improving Software Development Tracking and Estimation Inside the Cone of Uncertainty Pongtip Aroonvatanaporn, Thanida Hongsongkiat, and Barry Boehm Center for Systems and Software Engineering University of Southern California Los Angeles, CA, USA {aroonvat, thongson, ABSTRACT Software cost and schedule estimations are fundamental in software development projects as they determine the scopes and the resources required. With accurate estimations, the goals of project outcome can be assured within the available resources. However, developing accurate and realistic estimates require high level of experience, expertise, and historical data. Oftentimes, once the resources have been estimated, little is done to reduce the uncertainties in the estimations as the project progresses through its life cycle. To address this issue, we have developed the COTIPMO tool, an implementation of the COnstructive Team Improvement Process MOdel framework, to help automate the recalibration and estimation improvement processes. The tool allows software development teams to effectively track their development progress, assess the team s performance, and adjust the project estimates based on the assessment results. The COTIPMO tool has been used by 13 software engineering projects and the results are presented in this paper. Categories and Subject Descriptors D.2 [Software Engineering]: Management cost estimation, life cycle, time estimation, software process models General Terms Management, Measurement, Human Factors, Economics Keywords Cost Estimation, COCOMO II, Uncertainty, Continuous Assessment, Project Planning 1. INTRODUCTION Good team performance and accurate software cost and schedule estimations are essential in determining the quality and timely delivery of the final product. The 2009 Standish Report reported that out of the 9000 projects surveyed, 32% were delivered with full capability within budget and schedule, 24% were cancelled, and 44% were either over budget, over schedule, or undelivered [22]. This shows that nearly half of the projects were unsuccessful due to issues related to cost and schedule estimations. With more accurate estimations and less uncertainties within the team, the number of failed or over budgeted projects could be reduced significantly. Yet, producing accurate and realistic estimates require high level of expertise and experience as well as good historical data. This is a luxury that software development teams often lack of as these data and resources are not always readily available. Although the initial estimates for cost and schedule are important in determining the time, resources, and budget required for project completion, the ability to adapt the estimations to the changing environments, requirements, and performances allows teams to better control quality and help ensure timely deliveries of the products. In this paper, we introduce the COTIPMO tool, an implementation of the COnstructive Team Improvement Process MOdel developed in [2]. The tool allows software development teams to quickly track their development progress, assess the team s performance, and adjust their estimations based on the team s status. With better tracking and estimation mechanisms, the number of uncertainties in team performance and estimation can be reduced as the project progresses through its life cycle. This allows the team to continuously monitor their abilities to complete the project within the available resources, budget, and time. We have deployed the tool at the University of Southern California (USC) and experimented with 13 software engineering projects. The results of the tool application are analyzed and discussed in this paper. The rest of this paper offers an approach for dealing with problems related to uncertainties in project tracking and estimation. We will discuss in detail about the common problems that occur due to these uncertainties and the motivation behind developing this tool. It will be shown that the use of the COTIPMO tool significantly improves team s performance and reduces estimation uncertainties within the project. Finally, we conclude with discussion of our plans for future work. 1.1 Terms and Definitions Development project refer to the type of project that the product must be developed from scratch. The development team must write the majority of the source code to imple-

2 proper predictions with respect to project scope, complexity, and resources required. These data include aspects and attributes that are specified in the COCOMO II model in [6]. Typically, projects progress through their life cycle based on these inaccurate estimates. This means that regardless of how well or poorly the projects progress, the estimates remain constant. Figure 1: The cone of uncertainty in software cost and size estimation ment the end user functionalities. NDI-intensive project refers to the type of project that aims at integrating and/or tailoring either one or a set of non-developmental items (NDI) or commercial off-the-shelf (COTS) products. As defined in [14], this is when 30-90% of the end user features and capabilities are provided by the NDI or COTS products. 2. PROBLEMS AND MOTIVATION The main motivation behind this research is the well-known cone of uncertainty defined in [5] and calibrated to completed projects in [6]. Figure 1 shows that until the project is completed and delivered, there can be a wide range of products that the project can result in due to the various levels of uncertainties. In certain development paradigms where cost or schedule is fixed, the project scopes must be adjusted to compensate for any changes in environment, resources, or uncertainties in the project. These paradigms include the Schedule As An Independent Variable (SAIV) and Cost As An Independent Variable (CAIV) covered in [8]. Because uncertainties cannot be avoided, projects must be able to adapt to these changing environments; otherwise, schedules can slip, costs and budgets may overrun, and product qualities may suffer significantly. Menzies et al. [18] discussed about the two approaches in effort estimation - model-based and expert-based methods. While the model-based method requires past data to make predictions for future projects, the expert-based method utilizes experience and expertise of the estimators in order to develop meaningful estimates. Our research framework and tool combine the two methodologies to create improvements to the project estimates during its life cycle. 2.1 Inaccurate Project Estimations Software development teams often do not have sufficient data and information to develop accurate cost and schedule estimations for the project to be developed. Without the necessary data, it is nearly impossible for teams to make Once the project proceeds into its life cycle, the status and progress of the project are often not properly assessed by the team in order to analyze the accuracies of the estimates. There are significant numbers of uncertainties at the beginning of the project as there are instability in requirements and many directions that the project can proceed on. This is clearly shown in the well-known cone of uncertainty. With these levels of uncertainties, project estimates are typically not realistic or accurate. 2.2 Lack of Effective Tracking and Assessment Tools To date, there have been no tools or data that monitor the evolution of the project s progression in the cone of uncertainty. In order to collect enough information for useful assessment data, the teams are required to perform various surveys and reviews. Due to the tediousness and complexity of assessing project status and performance, these processes are discouraging to the teams to perform them regularly [15]. Furthermore, in traditional processes, to accurately report the progress of software development projects, the teams are usually required to carefully count the source lines of code (SLOC) developed, analyze the logical lines of code, and compare them to the potentially inaccurate estimates discussed in section 2.1. These tasks require significant amount of effort to perform manually, thus, the processes are discouraging to the teams. The more discouraging the processes are, the less they get done effectively. Without the proper tools or mechanisms to assess the team and project s status and performance, the project would progress through its life cycle with high level of uncertainties. As the cone of uncertainty remains wide, the project estimates also remain uncertain and inaccurate, while the project performance remains unimproved. 2.3 Limitations in Software Cost Estimation Models There is little that software cost estimation models can compensate for when software projects lack the necessary information and knowledge at the time when cost and schedule are estimated. Moreover, most estimation models require thorough understandings of the model parameters as well as certain level of expertise in order to use them effectively. Without proper understandings, teams may potentially end up overstating the capability of the team s personnel or understating the complexities of the project. These misrepresentations lead to inaccurate and non-realistic estimations discussed in 2.1. Additionally, software projects are prone to changes in requirements, designs, and specifications as they progress in the life cycle; therefore, the uncertainties in resource estima-

3 tions are constantly changing. This may be more apparent in agile projects or when clients are over enthusiastic. Software estimation models cannot automatically adapt to these varying environments. 3. BACKGROUND AND RELATED WORK To date, there are various techniques used for project tracking and assessment as well as for software sizing and estimation. All of the methods that we describe in this section are commonly used in the industry and have certain levels of tool support. 3.1 Project Tracking and Assessment Tools Presented in [24], the Program Evaluation and Review Technique (PERT) network charts enable projects to effectively manage uncertainties by providing mechanisms to identify critical paths and dependencies between tasks and activities. The tasks and their corresponding paths are updated so the progress of the project is visible to the developers and other stakeholders. However, even with proper tool support, the number of tasks and dependencies can grow very large fairly quickly especially when tasks and dependencies are not properly defined. As the charts grow large, they require high overhead to maintain and may be disregarded by the development teams due to their complexity. The Goal-Question-Metric (GQM) in [4] is another popular method for progress tracking and measurement with the ability to capture them from the conceptual, operational, and quantitative levels. This allows the assessment process to align with the organization environment as well as the project context. Various tools have been developed to leverage the use of GQM method since GQM plans can grow very large and complex. The GQM tool developed in [17] automates the GQM process to help manage the GQM plans, while the GQM-PLAN tool developed in [1] integrates the use of GQM into each stages and phases of the project life cycle. However, the GQM approach is only useful and effective when used correctly by specifying the appropriate goals, questions, and measurements to be monitored. Furthermore, the Earned-Value Management (EVM), Burnup, and Burn-down charts in [9] are good for capturing the project progress based on team s velocity and completed features. However, these approaches are not effective at responding to major changes during each iteration. EVM requires high overhead to accurately report the progress and to map them to the requirements for the earned-value analysis. When projects constantly change, the development teams may end up spending more time updating the earned-values instead of spending them towards the actual development activities. On the other hand, in Burn-up and Burn-down charts, when major changes occur, the charts may end up showing no progress as the shift in requirement priorities may prevent certain features from being completed. This prevents the team from accurately determining the actual progress and the productivity rates of the developers. 3.2 Software Sizing and Estimation Tools Story points in [10] are commonly used among agile development processes. The method allows the team to analyze the team s velocity, or productivity, based on the story points completed and use those data for planning future iterations. Planning Poker in [12] is the tool often used for estimating the complexity of the story points. However, the method requires expert opinions and analogies in order to estimate accurately. Furthermore, in most cases, re-estimations only take place when story sizes change and not based on the changes in the development progress. The PERT sizing method in [20] focuses on sizing the individual components based on the size distributions (optimistic, most likely, and pessimistic) provided by the developers. Many tools such as SEER-SEM [11], COCOMO 81 [5], and PRICE-S [19] utilizes PERT for sizing and estimation. The method reduces the bias towards overestimation and underestimation, although people tend to choose the most likely estimates towards the lower limit, while the actual product sizes cluster towards the upper limit. Based on [5], this underestimation bias is due to the following reasons: People are optimistic and tend to have the desire to please. People tend to not have a complete recall of past experiences. People are generally not familiar with the entire software job. The COCOMO-U developed in [25] extends the COCOMO II model to allow creating estimations even when some of parameters are unknown or uncertain. It utilizes the Bayesian Belief Network (BBN) to handle these uncertainties. However, in order for the tool to compute correctly, the users must be knowledgeable and have expertise in specifying the uncertainty of the unknown cost drivers. 4. THE COTIPMO TOOL The COTIPMO tool is an implementation of the COTIPMO framework in [2]. Having an effective tool is essential in enabling the potentials of the framework. We focused on the ease and usability of the tool as its tediousness can be discouraging to the development teams to use. 4.1 The Process Model Framework The COTIPMO framework model relies heavily on the CO- COMO II estimation model developed in [6] and the Unified CodeCount (UCC) tool in [23] for effective software tracking and estimation. In addition, it uses the concepts from IBM Self-Check in [15] and [16] for team retrospectives as well as quick assessments on team s status and performance. As mentioned earlier in section 2, the COTIPMO framework bridges the gap of using model-based and expert-based estimation methods. The framework utilizes data during the project progression in the life cycle, assesses and analyzes them, and automatically suggests adjustments to the CO- COMO II estimation parameters for improved expert judgments. Moreover, the framework utilizes the pre-calibrated COCOMO II model, which further contributes to the modelbased aspect of the framework. The model consists of three main parts: Project progress tracking Continuous team assessment COCOMO II estimation adjustments

4 In the framework model, the project tracking and assessments are to be done consistently as the project progresses. The framework is expected to be used on a per project basis, so it does not require data from past projects but uses data continuously collected since the beginning of the project and analyzes them for future improvements to team performance and estimations. This means that regardless of how inexperienced the team may be in estimating project cost or how poorly and inaccurate the cost and schedule were estimated, the framework enables these estimates to improve over time throughout the project s life cycle. Details of the COTIPMO process framework can be found in [3] and [2]. 4.2 Powered by Jazz We have chosen IBM Jazz [13] as the supporting platform for the COTIPMO tool for its scalability and strong support for high collaborative environment. Jazz provides the following foundational capabilities that are currently utilized by COTIPMO: User management Project and team management Resource and repository management RESTful web services architecture Moreover, Jazz has a highly extensible architecture that allows collaboration and integration with other life cycle applications and tools working under a single logical server. This means that the COTIPMO tool can be extended to be used as part of existing project management tools such as the Rational Team Concert [21]. The potential extensions to the COTIPMO tool will be discussed later in this paper. 4.3 Use with Development Projects The COTIPMO tool was developed to provide substantial benefits for development projects due to the integration of the UCC tool. The automatic code counting capability takes away the complexity of size and progress reporting process enabling the development teams to quickly assess their progress and productivity. The tool uses the COCOMO II estimation model to convert SLOC to effort by using the formula shown in equations 1 and 2. Instead of estimating the Size variable, we use the SLOC of developed source code reported by the UCC tool to compute the equivalent effort. This allows the tool to calculate the amount of effort spent towards development and use that as a basis to estimate the effort required to complete the project. Where: 17 P M = A Size E EM i (1) E = i=1 5 SF i (2) j=1 A = 2.94 (a constant derived from historical project data) PM is for Person-Months Size is in KSLOC EM is the effort multiplier for i th cost driver SF is the scale factor used to compensate for the economies or diseconomies of scale Figure 2 shows the main screen of the COTIPMO tool for a development project. The screen consists of 3 main sections: 1) the Initial Project Estimates, 2) the Iteration List, and 3) the Project Progress. The Initial Project Estimates section allows the team to enter the initial estimates for the project. Based on the information known at the beginning of the project, the development team specifies the modules planned for development and all the corresponding COCOMO II information for each module. As the project progresses, the team periodically adds iterations to the tool, which show up in the Iteration List section. For each iteration, if the development of source code has not started, the team can update their estimates based on the team s status and knowledge. Otherwise, they can upload the source code files and the COTIPMO tool automatically counts the number of logical lines of code for each file. The tool accumulates all the lines of code for all modules and, using the COCOMO II model, computes the equivalent effort. The developers then enter the percentage developed, tested, and integrated for each module. All of these data are used to compute the new estimated effort required to complete the project. The progression of the project with respect to the team s accumulated effort spent and estimated effort are shown in graphical format in the Project Progress section, which allows the teams to see their development progress as well as the improvements to their estimations. The detailed implementation of the source code tracking framework was developed and discussed in [3]. For every iteration created, the COTIPMO tool automatically generates a corresponding survey for each team member to complete. Figure 3 shows the survey ballot to be submitted by each member. As mentioned in section 4.1, the concept of the survey assessment is based largely on the IBM Self-Check methodology [16]. Each team member fills out and submits the survey individually without knowing each other s answers in order to reduce bias in the answers. Figure 4 displays the result of the survey showing the answers given by each team member. The standard deviation is computed to detect any inconsistencies between the answers for each question. A high deviation in the answers means that there are differences in opinions or understandings within the team; thus, a flag is triggered raising an issue for the team to discuss about that specific question. The team then identifies actions to take in order to resolve or prevent those issues in the upcoming iterations. Figure 5 shows the list of all the actions and the corresponding iteration that they were identified in. The team is able to mark each action as resolved once they have successfully addressed the originating issue and completed that specific action. This allows the team to effectively keep track of the tasks that they need to perform as well as any outstanding problems that exist within the team and project. Finally, based on the survey results, the COTIPMO tool analyzes the survey data and automatically computes the adjustments that should be made to the COCOMO II parameters. These adjustments are suggested to the develop-

5 Figure 2: The iteration list for development projects Figure 5: List of identified actions. Figure 3: Survey ballot Figure 4: Survey result - answers ment team as shown in figures 6 and 7. The suggestions are reflective of the answers given by all the team members. Since each survey question contains different levels of impact on each of the COCOMO II parameters, these suggestions are calculated based on the model discussed in section 4.1. The number of arrows (1, 2, or 3 arrows) represents the level of adjustments that should be made to the corresponding COCOMO II parameter. One arrow represents a minor increase or decrease in the rating, while three arrows suggest that a major change is required. The developers must then use judgements to make any necessary adjustments to the COCOMO II ratings based on these recommendations. 4.4 Use with NDI-intensive Projects The COTIPMO tool also provides strong support for NDIintensive projects. It utilizes the COCOMO II Application Point estimation model in [6] for effort estimation and tracking. The process of reporting progress in the Application Point model is much less complex compared to the regular COCOMO II model. Instead of reporting the number of SLOC written, the development team reports the num-

6 rate of the team. Figure 9 shows the suggestions computed by the COTIPMO tool for NDI-intensive projects. Figure 6: Survey Result - COCOMO II scale factors adjustment suggestions Figure 7: Survey Result - COCOMO II cost drivers adjustment suggestions ber of screens, reports, and third generation language (3GL) components developed, customized, and configured. These are called application points. Additionally, the Application Point model uses the developer s capability and experience and the integrated computer-aided software engineering (ICASE) maturity and experience levels for calculating the productivity rate as well as the capability level of the team. The effort spent on development and estimated effort required to complete the project are computed based on these information. Similar to a development project, the team continuously adds iterations as the project progresses. Figure 8 shows the main screen listing the iterations for NDI-intensive projects. They report the number of application points completed up to each iteration as well as the percentage developed and tested for each application point. The tool uses the CO- COMO II Application Point model to compute the New Application Point (NAP), converts them into equivalent effort, and computes the new estimates based on these data. For every iteration, the team members are also required to complete the survey assessments individually. However, instead of suggesting adjustments to the scale factors and cost drivers, the COTIPMO tool analyzes the assessment data and suggests changes to the developer s capability and experience and ICASE maturity and experience levels, which are the two dynamic parameters that affect the productivity 5. OBTAINING THE DATA The experimentation of the tool was done in a classroom environment using the data obtained from the graduate software engineering course at USC. In the two-semester team project based course sequence CSCI577ab, students learn to use best software engineering practices to develop software systems from the Exploration phase to Operations phase adopting the Incremental Commitment Spiral Model (ICSM) [7] for development process. Each team consists of five or six on-campus students with generally less than 2 years of working experience, and one or two off-campus students who are full-time professionals with at least 5 years of industry experience. Typically, the on-campus students act as operational concept engineers, requirements engineers, software architects, UML modelers, coders, life cycle planners, and feasibility analysts, while the off-campus students take on the roles of Integrated Independent Verification and Validation (IIV&V) personnel, quality assurance personnel, and testers. The course consists of both development projects and NDI-intensive projects and are completed either within a 12-week (1 semester) or 24-week (2 semesters) schedule depending on their scopes and complexities [14]. The COTIPMO tool was deployed at USC during the Fall 2011 semester. The semester consisted of 79 graduate students making up 13 project teams of which 5 were development projects and 8 were NDI-intensive projects. The teams started using the COTIPMO tool immediately after the requirements had been gathered and continued to use the tool weekly to report development progress and to recalibrate their project estimates throughout the semester. By the end of the semester, 4 projects were completed with products completely delivered to the clients, while the remaining projects continued onto the next semester. Throughout the life cycle of the projects, we collected data from various aspects including the following: COCOMO II estimation data (i.e. scale drivers, cost drivers, application points) Project issues and defects Individual and team effort spent on project activities Client satisfactions 6. ANALYSIS AND DISCUSSION We had analyzed the data obtained from the software engineering projects and compared them with the previous years to observe the differences in project performances. 6.1 Improved Software Estimation Accuracies First, we focused on the correctness of the COCOMO II estimation parameters. We analyzed the parameter ratings provided by each team keeping track of the mistakes made by them. The ratings are considered to be incorrect when they are not appropriate to the team or project status. For example, if the team provided that their programmers experiences (APEX, PLEX, and LTEX) were high, but the team consisted of members with less than 2 years of industry experience, we consider these as mistakes.

7 Figure 8: The estimation list for NDI-intensive projects Figure 9: Survey Result - Developer s capability and experience level and ICASE maturity and experience level adjustment suggestions Figure 10 shows the average mistakes in COCOMO II scale factors and cost drivers ratings of all the teams. Since each project had different number of modules, we took the average of the cost driver mistakes across all modules for each project. Both Fall 2009 and Fall 2010 semesters showed consistent number of errors in the ratings and showed no improvements as the projects progressed. However, in Fall 2011, the projects showed less number of mistakes in their estimations after the COTIPMO tool was introduced. More importantly, though, the projects showed improvements overtime with better accuracies towards the end of the semester during the Foundations phase. To ensure the validity of the data, we selected sample sets from each year and had them evaluated and analyzed by an independent party. The results of the mistakes identified were consistent with our initial analysis. For all three years, the projects were carefully reviewed by the stakeholders at every major milestone. The review pro- Figure 10: Average mistakes in the COCOMO II ratings for scale factors and cost drivers. cess includes analyzing the accuracy, correctness, and appropriateness of the project estimates (i.e. the COCOMO II parameter ratings). Based on these results, it shows that even though the projects estimates were periodically evaluated by the stakeholders to point out any errors, without proper guidance and direction for corrections, the estimates and COCOMO II parameter ratings were not effectively improved. 6.2 Improved Project Issues and Defects Detection

8 Figure 11: Average defects and issues filed by the team each year Figure 12: Average defects and issues filed by the team during each phase Throughout the project life cycle, the IIV&V personnel independently review the projects and their artifacts to detect any inconsistencies and defects in the documentations as well as the team understandings in general. We analyzed the issues and defects that were filed and resolved by the team, which were categorized into the following severities: 1) blocker, 2) critical, 3) major, 4) normal, 5) minor, 6) trivial, and 7) enhancement. Since these are project related issues, we normalized the data and re-categorized them into normal and critical severities in order to make the observations more visible. The blocker, critical, and major issues were considered to be critical, which included any inconsistencies, misunderstandings, or errors that impact the project at the conceptual level. The rest of the data were categorized as normal, which included insignificant defects such as grammatical, typographical, and formatting errors. Figure 11 shows that the average number of critical defects and issues had decreased during the Fall 2011 semester even though the total number filed remained consistent with the previous years. We looked further into the behavior of the issues and defects by observing the rates that they were filed during each project phase. Figure 12 shows that in Fall 2011, the average number of critical defects and issues remained less than the previous years through all the phases. It is especially interesting to observe the significant reduction during the Valuation phase. Since the requirements were negotiated and gathered during this phase, the number of uncertainties and inconsistencies were expected to be fairly high. However, with the use of the COTIPMO tool, the number of issues and defects recorded were significantly reduced. This is possibly due to the fact that the assessment mechanisms of the tool helped detect any inconsistencies and potential problems that existed in the team early before they turned into critical issues. 6.3 Improved Project Tracking With better progress tracking mechanism of the COTIPMO tool, 2 projects were able to deliver before the anticipated deadline during the Fall 2011 semester. The first project was initially planned for a 24-week schedule, but based on the progress tracking and re-estimations reported by the tool, they were able to determine that the project only required half the resources and could be completed within a 12-week schedule instead. The project immediately proceeded into the construction phase and the product was delivered to the client with 100% of end user functionalities implemented. In the previous years, when projects had to switch from a 24- week to 12-week schedule, they required major re-scoping of features and capabilities in order to meet the new deadlines. In addition, another project had to be re-scoped due to client s shift in goals and needs. The project was initially planned to deliver a fully developed system in a 24-week schedule; however, the client changed the project scope and asked for a prototype of the system with only a subset of the end-user functionalities instead. The team updated their project sizes and estimates in the COTIPMO tool. Based on the project progress and prototypes developed at that time, the tool reported that they had enough resources to complete the newly scoped project within a 12-week timeframe. The project was completed with the prototyped functionalities delivered to the client. 6.4 Reduced Project Effort The use of the COTIPMO tool also showed benefits in other aspects of the software development process. Figure 13 shows a clear reduction in the effort spent on the projects during the Fall 2011 semester when the COTIPMO tool was introduced to the projects. We looked into details of the effort spent on the projects by breaking down the efforts into categories of project activities shown in figure 14. Since the development process and projects scopes, sizes, and complexities were similar for all 3 years, it is expected that the efforts required for the various activities were also similar. However, the Fall 2011 semester showed a significant reduction in the effort spent in the areas of communication and team synchronization. The continuous use of the COTIPMO tool allowed the teams to properly assess their progress and performances so issues and inconsistencies can be detected early before they turn into critical problems. The earlier these are detected, the less effort is required to resolve them and to synchronize team understandings. 7. THREATS TO VALIDITY Representativeness of projects. Most projects were small e-services projects, which may not represent the industry at a larger scale. Nonetheless, the projects were done for

9 We have developed the COTIPMO tool, an implementation of the COTIPMO framework developed in [2], to aid software development teams in tracking their development progress, assessing their team s performance, and improving their project estimations throughout the project life cycle. The tool provides strong support for both development projects and NDI-intensive projects. For development projects, the team can benefit substantially from the integration of the UCC tool for automated sizing of the developed software and the use of the COCOMO II model for SLOCeffort conversion. For NDI-intensive projects, the tool utilizes the COCOMO II Application Point model where the team reports the number of screens, reports, and 3GL components developed and customized. Figure 13: Average effort spent in hours by individuals on the project Figure 14: Average effort spent in hours by individuals for each project activity real clients with real fixed schedules and costs. Also, all projects followed the same incremental development process and project activities that are used in the industry. Representativeness of personnel. The student teams and their members may not be representative of the industry personnel since the majority of them had less than 2 years of industry experience. However, even though the on-campus students may be less experienced, the off-campus students and the clients were working professionals. The unavoidable Hawthorne effect. The student teams of Fall 2011 were aware that the experiments were being conducted with the COTIPMO tool. This may have had some level of impact on the way the teams developed their project estimates using the COCOMO II model built into COTIPMO and caused the classic Hawthorne effect on the experiment. However, for all three years, the student teams were evaluated and graded based on their performances. This means that all the teams were equally motivated to produce correct and accurate estimation results. Furthermore, we were more interested in the improvements to the CO- COMO II parameter ratings that occurred overtime during the Fall 2011 semester, whereas Fall 2009 and 2010 semesters showed no signs of improvements. 8. CONCLUSION AND FUTURE WORK As teams continuously assess themselves with the COTIPMO tool, issues and inconsistencies can be detected early helping them reduce the number of uncertainties as they progress. The tool analyzes these assessment data to suggest adjustments to the either the COCOMO II or COCOMO II Application Point estimation parameters. This creates more realistic and accurate estimations reflecting the team s status instead of the potential guess work done by the teams. The COTIPMO tool had been deployed at USC and was used by 13 software engineering projects. The teams had shown significant improvements in project estimations and performances. Their estimates became more accurate and realistic over time reflecting the actual teams performances, while the team members were better synchronized and stabilized because potential problems could be detected early on before they became critical issues or defects. Furthermore, some projects were able to deliver earlier than planned as they were able to effectively track their development progress, recalibrate their resource estimations, and realize the ability to complete within a shorter timeframe. Our plan for future work is to extend the COTIPMO tool to be integrated with some configuration management tools such as Subversion, CVS, or Rational Team Concert. This would enhance the software development progress tracking process to be more automated as the tool can constantly monitor the source code checked in to the version control system. The tool would also be able to utilize the differencing function of the UCC allowing it to count the number of SLOC that were added, modified, and deleted from the previous version in addition to the total logical SLOC. This would make the tracking of progress even more accurate and more realistic. Another target for our future work is to experiment the COTIPMO tool in the industry to verify and validate the framework and the tool when used on the industry projects at a larger scale. To observe its effectiveness, we will also apply the tool to projects of different sizes and domains as the majority of the projects that we have experimented with were only small e-services projects. 9. ACKNOWLEDGMENTS The authors would like to thank Bhargav Rajagopalan and Sergio Romulo Salazar for their effort in helping develop the COTIPMO tool.

10 10. REFERENCES [1] J. C. Abib and T. G. Kirner. A GQM-based tool to support the development of software quality measurement plans. SIGSOFT Softw. Eng. Notes, 24:75 80, July [2] P. Aroonvatanaporn, S. Koolmanojwong, and B. Boehm. COTIPMO: A COnstructive Team Improvement Process MOdel. In Proc. of the 2012 Int. Conf. on Software and Systems Process (ICSSP 12), Zurich, Switzerland, [3] P. Aroonvatanaporn, C. Sinthop, and B. Boehm. Reducing estimation uncertainty with continuous assessment: tracking the cone of uncertainty. In Proc. of the IEEE/ACM Int. Conf. on Automated Software Engineering (ASE 10), pages , Antwerp, Belgium, [4] V. R. Basili. Applying the Goal/Question/Metric paradigm in the experience factory. In N. Fenton, R. Whitty, and Y. Lizuka, editors, Software Quality Assurance and Measurement: Worldwide Perspective, pages International Thomson Computer Press, [5] B. Boehm. Software Engineering Economics. Prentice-Hall, [6] B. Boehm, C. Abts, A. W. Brown, S. Chulani, E. Horowitz, R. Madachy, D. J. Reifer, and B. Steece. Software Cost Estimation with COCOMO II. Prentice-Hall, [7] B. Boehm and J. A. Lane. Using the Incremental Commitment Model to integrate system acquisition, systems engineering, and software engineering, [8] B. Boehm, D. Port, L.-G. Huang, and W. Brown. Using The Spiral Model and MBASE to generate new acquisition process models: SAIV, CAIV, and SCQAIV. CrossTalk, pages 20 25, January [9] A. Cockburn. Earned-value and burn charts (burn up and burn down). In Crystal Clear. Addison-Wesley, [10] M. Cohn. Agile Estimating and Planning. Prentice-Hall, [11] D. D. Galorath and M. W. Evans. Software Sizing, Estimation, and Risk Management. Auerbach Publications, 1 edition, March [12] J. Grenning. Planning poker. PlanningPoker-v1.1.pdf, April [13] Jazz Foundation. [14] S. Koolmanojwong and B. Boehm. The Incremental Commitment Model process patterns for rapid-fielding projects. In Proc. of the 2010 Int. Conf. on New Modeling Concepts for Today s Software Processes: Software Process (ICSP 10), pages , Paderborn, Germany, [15] W. Krebs, P. Kroll, and E. Richard. Un-assessments reflections by the team, for the team. In Proc. of the Agile 2008, pages , Washington, DC, USA, aug [16] P. Kroll and W. Krebs. Introducing IBM Rational Self Check for software teams. library/edge/08/may08/kroll_krebs, May [Online; accessed 20-January-2012]. [17] L. Lavazza. Providing automated support for the GQM measurement process. Software, IEEE, 17(3):56 62, may/jun [18] T. Menzies, Z. Chen, J. Hihn, and K. Lum. Selecting best practices for effort estimation. Software Engineering, IEEE Transactions on, 32(11): , nov [19] PRICE Systems. Your guide to PRICE-S: Estimating cost and schedule of software development and support, [20] L. Putnam and A. Fitzsimmons. Estimating software costs. Datamation, pages , September [21] Rational Team Concert. https: //jazz.net/projects/rational-team-concert/. [22] Standish Group. Chaos summary [23] Unified CodeCounter. [24] J. D. Wiest and F. K. Levy. A Management Guide to PERT/CPM. Prentice-Hall, Englewood Press, [25] D. Yang, Y. Wan, Z. Tang, S. Wu, M. He, and M. Li. COCOMO-U: An extension of COCOMO II for cost estimation with uncertainty. In Q. Wang, D. Pfahl, D. Raffo, and P. Wernick, editors, Software Process Change, volume 3966 of Lecture Notes in Computer Science, pages Springer Berlin / Heidelberg, 2006.

COTIPMO: A COnstructive Team Improvement Process MOdel

COTIPMO: A COnstructive Team Improvement Process MOdel COTIPMO: A COnstructive Team Improvement Process MOdel Pongtip Aroonvatanaporn, Supannika Koolmanojwong, and Barry Boehm Center for Systems and Software Engineering University of Southern California Los

More information

A Look at Software Engineering Risks in a Team Project Course

A Look at Software Engineering Risks in a Team Project Course A Look at Software Engineering Risks in a Team Project Course Supannika Koolmanojwong and Barry Boehm Center for Systems and Software Engineering (CSSE) University of Southern California (USC) Los Angeles,

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

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

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

MTAT.03.244 Software Economics. Lecture 5: Software Cost Estimation

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

More information

USC's Two Semester Software Engineering Graduate Project Course

USC's Two Semester Software Engineering Graduate Project Course USC's Two Semester Software Engineering Graduate Project Course A. Winsor Brown Computer Science and USC Center for Systems and Software Engineering, University of Southern California Los Angeles, CA 90089-0781,

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

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

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

11.1 What is Project Management? Object-Oriented Software Engineering Practical Software Development using UML and Java. What is Project Management?

11.1 What is Project Management? Object-Oriented Software Engineering Practical Software Development using UML and Java. What is Project Management? 11.1 What is Project Management? Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 11: Managing the Software Process Project management encompasses all the

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

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

(Refer Slide Time: 01:52)

(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

More information

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

More information

Educating Software Engineers to Become Systems Engineers

Educating Software Engineers to Become Systems Engineers Educating Software Engineers to Become Systems Engineers Supannika Koolmanojwong and Barry Boehm Center for Systems and Software Engineering (CSSE) University of Southern California (USC) Los Angeles,

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

Knowledge-Based Systems Engineering Risk Assessment

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

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

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

Basic Unified Process: A Process for Small and Agile Projects

Basic Unified Process: A Process for Small and Agile Projects Basic Unified Process: A Process for Small and Agile Projects Ricardo Balduino - Rational Unified Process Content Developer, IBM Introduction Small projects have different process needs than larger projects.

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

Best-Practice Software Engineering: Software Processes to Support Project Success. Dietmar Winkler

Best-Practice Software Engineering: Software Processes to Support Project Success. Dietmar Winkler Best-Practice Software Engineering: Software Processes to Support Project Success Dietmar Winkler Vienna University of Technology Institute of Software Technology and Interactive Systems Dietmar.Winkler@qse.ifs.tuwien.ac.at

More information

PPM and Agile: Realizing the Best of Both Worlds

PPM and Agile: Realizing the Best of Both Worlds PPM and Agile: Realizing the Best of Both Worlds This white paper discusses the challenges of integrating agile methods into a PPM framework and how to deliver executive visibility into agile projects

More information

COCOMO-SCORM Interactive Courseware Project Cost Modeling

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

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

Using Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal alain.april@etsmtl.ca

Using Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal alain.april@etsmtl.ca Using Simulation to teach project management skills Dr. Alain April, ÉTS Montréal alain.april@etsmtl.ca Agenda of the workshop 1 The software project management theory overview (40 minutes) 2 Why use SDLC

More information

Software Development Life Cycle (SDLC)

Software Development Life Cycle (SDLC) Software Development Life Cycle (SDLC) Supriyo Bhattacharjee MOF Capability Maturity Model (CMM) A bench-mark for measuring the maturity of an organization s software process CMM defines 5 levels of process

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 Cost Estimation Metrics Manual for Defense Systems

Software Cost Estimation Metrics Manual for Defense Systems Software Cost Estimation Metrics Manual for Defense Systems Brad Clark USC Ray Madachy Naval Postgraduate School 29 th International Forum on COCOMO and Systems/Software Cost Modeling October 22, 2014

More information

Impact and Contributions of MBASE on Software Engineering Graduate Courses

Impact and Contributions of MBASE on Software Engineering Graduate Courses Impact and Contributions of MBASE on Software Engineering Graduate Courses Ricardo Valerdi Massachusetts Institute of Technology rvalerdi@mit.edu Ray Madachy University of Southern California madachy@usc.edu

More information

How Silk Central brings flexibility to agile development

How Silk Central brings flexibility to agile development How Silk Central brings flexibility to agile development The name agile development is perhaps slightly misleading as it is by its very nature, a carefully structured environment of rigorous procedures.

More information

PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL

PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL Sanja Vukićević 1, Dražen Drašković 2 1 Faculty of Organizational Sciences, University of Belgrade, vukicevicsanja@yahoo.com 2 Faculty

More information

The Incremental Commitment Model Process Patterns for Rapid-Fielding Projects

The Incremental Commitment Model Process Patterns for Rapid-Fielding Projects The Incremental Commitment Model Process Patterns for Rapid-Fielding Projects Supannika Koolmanojwong and Barry Boehm Center of Systems and Software Engineering University of Souther California Los Angeles,

More information

Software Migration Project Cost Estimation using COCOMO II and Enterprise Architecture Modeling

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

More information

Lifecycle Models: Waterfall / Spiral / EVO

Lifecycle Models: Waterfall / Spiral / EVO Lifecycle Models: Waterfall / Spiral / EVO Dror Feitelson Basic Seminar on Software Engineering Hebrew University 2011 Lifecycle The sequence of actions that must be performed in order to build a software

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

Requirements-Based Testing: Encourage Collaboration Through Traceability

Requirements-Based Testing: Encourage Collaboration Through Traceability White Paper Requirements-Based Testing: Encourage Collaboration Through Traceability Executive Summary It is a well-documented fact that incomplete, poorly written or poorly communicated requirements are

More information

JOURNAL OF OBJECT TECHNOLOGY

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,

More information

Software Composition Technologies Helping People Gain Control of Software Development

Software Composition Technologies Helping People Gain Control of Software Development Software Composition Technologies Helping People Gain Control of Software Development Agile Project Management Raymond Boehm 19 Homer Place, Metuchen, NJ 08840-2006 Voice: 732.906.3671 Fax: 732.906.5728

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

INCORPORATING VITAL FACTORS IN AGILE ESTIMATION THROUGH ALGORITHMIC METHOD

INCORPORATING VITAL FACTORS IN AGILE ESTIMATION THROUGH ALGORITHMIC METHOD International Journal of Computer Science and Applications, 2009 Technomathematics Research Foundation Vol. 6, No. 1, pp. 85 97 INCORPORATING VITAL FACTORS IN AGILE ESTIMATION THROUGH ALGORITHMIC METHOD

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

6. Software Lifecycle Models. A software lifecycle model is a standardised format for planning organising, and running a new development project.

6. Software Lifecycle Models. A software lifecycle model is a standardised format for planning organising, and running a new development project. 6. Software Lifecycle Models A software lifecycle model is a standardised format for planning organising, and running a new development project. Hundreds of different kinds of models are known and used.

More information

To introduce software process models To describe three generic process models and when they may be used

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

More information

The Schedule as Independent Variable (SAIV) Process for Acquisition Software-Intensive Systems

The Schedule as Independent Variable (SAIV) Process for Acquisition Software-Intensive Systems The Schedule as Independent Variable (SAIV) Process for Acquisition Software-Intensive Systems Barry Boehm, Winsor Brown, LiGuo Huang University of Southern California Center for Software Engineering Los

More information

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

More information

Agile Software Engineering Practice to Improve Project Success

Agile Software Engineering Practice to Improve Project Success Agile Software Engineering Practice to Improve Project Success Dietmar Winkler Vienna University of Technology Institute of Software Technology and Interactive Systems dietmar.winkler@qse.ifs.tuwien.ac.at

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

10 Keys to Successful Software Projects: An Executive Guide

10 Keys to Successful Software Projects: An Executive Guide 10 Keys to Successful Software Projects: An Executive Guide 2000-2006 Construx Software Builders, Inc. All Rights Reserved. www.construx.com Background State of the Art vs. State of the Practice The gap

More information

The 10 Step Software Estimation Process For Successful Software Planning, Measurement and Control

The 10 Step Software Estimation Process For Successful Software Planning, Measurement and Control The 10 Step Software Estimation Process For Successful Software Planning, Measurement and Control Daniel D. Galorath Galorath Incorporated www.galorath.com Abstract An effective software estimate provides

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

Applying Agile Methods in Rapidly Changing Environments

Applying Agile Methods in Rapidly Changing Environments Applying Agile Methods in Changing Environments 7/23/2002 1 Applying Agile Methods in Rapidly Changing Environments Peter Kutschera IBM Unternehmensberatung GmbH Am Fichtenberg 1, D-71803 Herrenberg Steffen

More information

Successful Projects Begin with Well-Defined Requirements

Successful Projects Begin with Well-Defined Requirements Successful Projects Begin with Well-Defined Requirements Defining requirements clearly and accurately at the outset speeds software development processes and leads to dramatic savings. Executive Summary

More information

Agile Scrum Workshop

Agile Scrum Workshop Agile Scrum Workshop What is agile and scrum? Agile meaning: Able to move quickly and easily. Scrum meaning: a Rugby play Agile Scrum: It is an iterative and incremental agile software development framework

More information

Key Benefits of Microsoft Visual Studio Team System

Key Benefits of Microsoft Visual Studio Team System of Microsoft Visual Studio Team System White Paper November 2007 For the latest information, please see www.microsoft.com/vstudio The information contained in this document represents the current view

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

Improving Software Development Economics Part I: Current Trends

Improving Software Development Economics Part I: Current Trends Improving Software Development Economics Part I: Current Trends by Walker Royce Vice President and General Manager Strategic Services Rational Software Over the past two decades, the software industry

More information

Some Critical Success Factors for Industrial/Academic Collaboration in Empirical Software Engineering

Some Critical Success Factors for Industrial/Academic Collaboration in Empirical Software Engineering Some Critical Success Factors for Industrial/Academic Collaboration in Empirical Software Engineering Barry Boehm, USC (in collaboration with Vic Basili) EASE Project Workshop November 7, 2003 11/7/03

More information

SOFTWARE PROJECT MANAGEMENT

SOFTWARE PROJECT MANAGEMENT SOFTWARE PROJECT MANAGEMENT http://www.tutorialspoint.com/software_engineering/software_project_management.htm Copyright tutorialspoint.com The job pattern of an IT company engaged in software development

More information

CISC 322 Software Architecture

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

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

Agile Software Development Methodologies and Its Quality Assurance

Agile Software Development Methodologies and Its Quality Assurance Agile Software Development Methodologies and Its Quality Assurance Aslin Jenila.P.S Assistant Professor, Hindustan University, Chennai Abstract: Agility, with regard to software development, can be expressed

More information

On Software Test Estimate and Requirement Tracking Jing-Chiou Liou Department of Computer science Kean University Union, NJ 07083, USA jliou@kean.

On Software Test Estimate and Requirement Tracking Jing-Chiou Liou Department of Computer science Kean University Union, NJ 07083, USA jliou@kean. On Software Test Estimate and Requirement Tracking Jing-Chiou Liou Department of Computer science Kean University Union, NJ 07083, USA jliou@kean.edu Abstract Test is a key activity for ensuring software

More information

COMP 354 Introduction to Software Engineering

COMP 354 Introduction to Software Engineering COMP 354 Introduction to Software Engineering Greg Butler Office: EV 3.219 Computer Science and Software Engineering Concordia University, Montreal, Canada Email: gregb@cs.concordia.ca Winter 2015 Course

More information

IV. Software Lifecycles

IV. Software Lifecycles IV. Software Lifecycles Software processes and lifecycles Relative costs of lifecycle phases Examples of lifecycles and processes Process maturity scale Information system development lifecycle Lifecycle

More information

A Rational Development Process

A Rational Development Process Paper published in: Crosstalk, 9 (7) July 1996, pp.11-16. A Rational Development Process Philippe Kruchten Vancouver, BC pbk@rational.com 1. Introduction This paper gives a high level description of the

More information

Architecture Centric Development in Software Product Lines

Architecture Centric Development in Software Product Lines Architecture Centric Development in Software Product Lines Aurangzeb Khan DCE, College of E & ME National University of Science and Technology (NUST), Pakistan Farooque Azam DCE, College of E & ME National

More information

Rally Integration with BMC Remedy through Kovair Omnibus Kovair Software, Inc.

Rally Integration with BMC Remedy through Kovair Omnibus Kovair Software, Inc. Rally Integration with BMC Remedy through Kovair Omnibus Kovair Software, Inc. 2410 Camino Ramon, STE 230, San Ramon, CA 94583 www.kovair.com sales@kovair.com Document Version History Release Date Reason

More information

Plan-Driven Methodologies

Plan-Driven Methodologies Plan-Driven Methodologies The traditional way to develop software Based on system engineering and quality disciplines (process improvement) Standards developed from DoD & industry to make process fit a

More information

What is a life cycle model?

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

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

Chapter 3: Project Cost Management

Chapter 3: Project Cost Management Chapter 3: Project Cost Management Learning Objectives o Understand the importance of project cost management. o Explain basic project cost management principles, concepts, and terms. o Discuss different

More information

Summary of GAO Cost Estimate Development Best Practices and GAO Cost Estimate Audit Criteria

Summary of GAO Cost Estimate Development Best Practices and GAO Cost Estimate Audit Criteria Characteristic Best Practice Estimate Package Component / GAO Audit Criteria Comprehensive Step 2: Develop the estimating plan Documented in BOE or Separate Appendix to BOE. An analytic approach to cost

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

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

Software Life Cycle Models

Software Life Cycle Models Software Life Cycle Models Waterfall model Prototyping models Rapid prototyping Incremental prototyping Evolutionary prototyping Spiral model 1 Waterfall Model Like liquid flows down stair steps... the

More information

Enhance visibility into and control over software projects IBM Rational change and release management software

Enhance visibility into and control over software projects IBM Rational change and release management software Enhance visibility into and control over software projects IBM Rational change and release management software Accelerating the software delivery lifecycle Faster delivery of high-quality software Software

More information

The ROI of Systems Engineering: Some Quantitative Results for Software-Intensive Systems

The ROI of Systems Engineering: Some Quantitative Results for Software-Intensive Systems The ROI of Systems Engineering: Some Quantitative Results for Software-Intensive Systems Barry Boehm, 1 Ricardo Valerdi, 2, * and Eric Honour 3 Regular Paper 1 Center for Systems & Software Engineering,

More information

Building Software in an Agile Manner

Building Software in an Agile Manner Building Software in an Agile Manner Abstract The technology industry continues to evolve with new products and category innovations defining and then redefining this sector's shifting landscape. Over

More information

"Customer Satisfaction Metrics and Models" Sunita Chulani Sunita@us.ibm.com IBM Research

Customer Satisfaction Metrics and Models Sunita Chulani Sunita@us.ibm.com IBM Research "Customer Satisfaction Metrics and Models" Sunita Chulani Sunita@us.ibm.com IBM Research Following is a paper that was presented at the 12th Annual ESCOM (European Software Control and Metrics) conference

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

Agile Metrics. It s Not All That Complicated

Agile Metrics. It s Not All That Complicated Agile Metrics It s Not All That Complicated Welcome About your Trainer, Katia Sullivan VersionOne Product Trainer and Agile Coach Certified Scrum Master Certified Scrum Product Owner Led teams/org s to

More information

Hybrid-Agile Software Development

Hybrid-Agile Software Development Hybrid-Agile Software Development Anti-Patterns, Risks, and Recommendations Paul E. McMahon, PEM Systems Abstract. Many organizations are driving toward increased agility in their software development

More information

Agile Project Management

Agile Project Management Boehm Page 1 Raymond E Boehm Software Composition Technologies Abstract- This presentation will educate measurement professionals to the real issues surrounding agile development. It gives an overview

More information

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

Balancing Plan-Driven and Agile Methods in Software Engineering Project Courses

Balancing Plan-Driven and Agile Methods in Software Engineering Project Courses Computer Science Education 0899-3408/02/1203-187$16.00 2002, Vol. 12, No. 3, pp. 187±195 # Swets & Zeitlinger Balancing Plan-Driven and Agile Methods in Software Engineering Project Courses Barry Boehm,

More information

Scrum and CMMI Level 5: The Magic Potion for Code Warriors

Scrum and CMMI Level 5: The Magic Potion for Code Warriors Scrum and CMMI Level 5: The Magic Potion for Code Warriors Jeff Sutherland, Ph.D. Patientkeeper Inc. jeff.sutherland@computer.org Carsten Ruseng Jakobsen Systematic Software Engineering crj@systematic.dk

More information

Incorporating Data Mining Techniques on Software Cost Estimation: Validation and Improvement

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

More information

Exhibit F. VA-130620-CAI - Staff Aug Job Titles and Descriptions Effective 2015

Exhibit F. VA-130620-CAI - Staff Aug Job Titles and Descriptions Effective 2015 Applications... 3 1. Programmer Analyst... 3 2. Programmer... 5 3. Software Test Analyst... 6 4. Technical Writer... 9 5. Business Analyst... 10 6. System Analyst... 12 7. Software Solutions Architect...

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

Chapter 5: Project Cost Management

Chapter 5: Project Cost Management Chapter 5: Project Cost Management 1 Learning Objectives Understand the importance of good project cost management Explain basic project cost management principles, concepts, and terms Describe how resource

More information

How do you manage the growing complexity of software development? Is your software development organization as responsive to your business needs as

How do you manage the growing complexity of software development? Is your software development organization as responsive to your business needs as How do you manage the growing complexity of software development? Is your software development organization as responsive to your business needs as it could be? Borland Core SDP enables your IT organization

More information

Value-Based Feedback in Software/IT Systems

Value-Based Feedback in Software/IT Systems Value-Based Feedback in Software/IT Systems Barry Boehm, USC FEAST/ProSim/SOCE 2000 Keynote July 12, 2000 boehm@sunset.usc.edu http://sunset.usc.edu Outline COCOMO II 4-Cycle feedback model Value-based

More information

Agile Software Engineering, a proposed extension for in-house software development

Agile Software Engineering, a proposed extension for in-house software development Journal of Information & Communication Technology Vol. 5, No. 2, (Fall 2011) 61-73 Agile Software Engineering, a proposed extension for in-house software development Muhammad Misbahuddin * Institute of

More information

How To Plan An Agile Project

How To Plan An Agile Project GAO Scheduling Best Practices Applied to an Agile Setting by Juana Collymore and Brian Bothwell April 15, 2015 Outline Why is scheduling important? GAO Schedule Assessment Guide Overview Status of the

More information

Elite: A New Component-Based Software Development Model

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-

More information

Introduction to Software Project Management. CITS3220 Software Requirements & Project Management

Introduction to Software Project Management. CITS3220 Software Requirements & Project Management Introduction to Software Project Management CITS3220 Software Requirements & Project Management "A project gets a year late one day at a time." "Anything that can be changed will be changed until there

More information

COSMIC-based Project Management in Agile Software Development and Mapping onto related CMMI-DEV Process Areas

COSMIC-based Project Management in Agile Software Development and Mapping onto related CMMI-DEV Process Areas COSMIC-based Project Management in Agile Development & CMMI-DEV COSMIC-based Project Management in Agile Software Development and Mapping onto related CMMI-DEV Process Areas Abstract: Enrico Berardi 1,

More information