Skip to main content
main-content

Über dieses Buch

Software effort estimation is a key element of software project planning and management. Yet, in industrial practice, the important role of effort estimation is often underestimated and/or misunderstood.

In this book, Adam Trendowicz presents the CoBRA method (an abbreviation for Cost Estimation, Benchmarking, and Risk Assessment) for estimating the effort required to successfully complete a software development project, which uniquely combines human judgment and measurement data in order to systematically create a custom-specific effort estimation model. CoBRA goes far beyond simply predicting the development effort; it supports project decision-makers in negotiating the project scope, managing project risks, benchmarking productivity, and directing improvement activities. To illustrate the method’s practical use, the book reports several real-world cases where CoBRA was applied in various industrial contexts. These cases represent different estimation contexts in terms of software project environment, estimation objectives, and estimation constraints.

This book is the result of a successful collaboration between the process management division of Fraunhofer IESE and many software companies in the field of software engineering technology transfer. It mainly addresses software practitioners who deal with planning and managing software development projects as part of their daily work, and is also of interest for students or courses specializing in software engineering or software project management.

Inhaltsverzeichnis

Frontmatter

Predictable Software Development

Frontmatter

1. Why Software Effort Estimation?

Abstract
Software is everywhere. Most of today’s goods and services are realized, at least in part, either by means of or with the help of software systems. Our dependency on software is increasing continuously. On the one hand, progress in the domains where software has traditionally been playing a key role entails increasing pressure upon software to progress. On the other hand, in domains that were traditionally reserved for hardware, software has become the major driving force of the overall progress in the meanwhile. For example, it is said that 60–90 % of all advances in the automotive domain nowadays are due to software systems. Some products and services that would have traditionally been realized through “hardware” solutions are now realized through software systems. Other products and services are only possible through software systems and could not have been realized by other means. One way or another, the size and complexity of software systems in various domains are increasing rapidly.
Adam Trendowicz

2. What Is a Good Estimate?

Abstract
The basic question of software effort estimation is “What is a good estimate?” Traditionally, effort estimation has been used for planning and tracking overall resources, such as manpower, required for completing a project. With this objective in mind, over the years, researchers have been pursuing an elusive target of getting a 100 % accurate estimate in terms of exact number of person-hours required for completing a software project. Effort estimation methods that grew upon this goal focus on providing exact point estimates.
Adam Trendowicz

3. Why the CoBRA Method?

Abstract
A number of effort estimation methods have been proposed in recent decades. Still, no “silver-bullet” method has been proposed so far. Each and every estimation method has its strengths and limitations, and its goodness largely depends on the context in which it is applied.
Adam Trendowicz

The CoBRA Method

Frontmatter

4. Principles of the CoBRA Method

Abstract
The Cost Estimation, Benchmarking, and Risk Assessment (CoBRA) method combines multiple prediction approaches in that it aggregates techniques representing expert-based and data-driven estimation paradigms, within one hybrid estimation method. This chapter introduces the basic idea and terminology of the CoBRA method. Moreover, this chapter specifies the basic roles considered in the CoBRA method and the essential conceptual elements of the method.
Adam Trendowicz

5. Model Development and Validation

Abstract
The CoBRA method represents a model-based approach to software effort estimation. In this approach, before we can predict the effort for a new project, we need to first build an effort estimation model. In general, the effort model reflects past experiences regarding effort relationships in similar situations, that is, within projects of a similar kind. Preconditions of reliable estimates are that (1) the estimation model considers all relevant factors influencing the project effort and (2) the estimated project corresponds to the situation represented by the model. In a typical data-driven approach, the effort model arises from the analysis of measurement data from multiple projects. The CoBRA effort model captures believed and actual causal effort dependencies observed in the past in a certain organization’s context. Believed dependencies are represented by expert judgments, whereas actual dependencies are represented by measurement data collected in already completed software projects.
Adam Trendowicz

6. Model Application

Abstract
After developing a new or modifying an existing CoBRA effort model, we can directly use it for estimating the effort of individual software projects. Applying the CoBRA model for estimation involves several simple activities.
Adam Trendowicz

7. Usage Scenarios of a CoBRA Model

Abstract
The CoBRA method has been designed to provide a project decision maker with comprehensive support regarding estimating, controlling, and managing project effort. The CoBRA model can be used for a number of software estimation purposes.
Adam Trendowicz

Industrial Applications

Frontmatter

8. Software Design and Management, Germany

Abstract
This chapter summarizes the application of the CoBRA method in the context of software design & management AG, Germany (sd&m). In the sd&m case, we considered multiple indirect influences on project effort, which resulted in a relatively complex effort overhead model. In the subsequent industrial applications, we walked away from modeling multiple indirect influences on project effort. We observed that modeling complex indirect influences typically costs much effort and brings little benefit in terms of improved estimates.
Adam Trendowicz

9. Allette Systems, Australia

Abstract
This chapter summarizes the CoBRA application in the context of Allette Systems Pty. Ltd., Australia (Allette). In the context of Allette, we developed a very simple effort model. Based on the experiences from the previous applications and the small size of the Allette company, we aimed at building a simple effort model. In particular, we avoided modeling indirect influences on effort.
Adam Trendowicz

10. Oki Electric, Japan

Abstract
This chapter summarizes the CoBRA application in the context of Oki Electric Industry, Ltd., Japan (Oki). In this chapter, we will show how to adapt the baseline CoBRA model development process to the needs and constraints of a particular organization in the management and information systems domain. Moreover, we report on experience regarding the development of the CoBRA model throughout multiple refinement iterations. In particular, we show how to analyze the performance of the CoBRA model, where to look for potential causes of observed deficits of the model and how to appropriately improve the model.
Adam Trendowicz

11. Siemens Information Systems, India

Abstract
This chapter summarizes the CoBRA application in the context of Siemens Information Systems, Ltd, India (SISL). In this chapter, we will present how to adapt the baseline CoBRA model development process to the needs and constraints of a particular organization in the embedded software systems domain. Moreover, we report on experience regarding the development of the CoBRA model throughout multiple refinement iterations. In particular, we will show how to analyze the performance of the CoBRA model, where to look for potential causes of observed deficits of the model, and how to appropriately improve the model. Finally, the SISL context shows how important the appropriateness and quality of the data used for estimation are for the successful estimation. We will provide examples of common deficits of measurement data and simple ways to identify and solve these deficits. In particular, we demonstrate how to define an appropriate size measurement approach for enhancement projects.
Adam Trendowicz

12. Japan Manned Space Systems, Japan

Abstract
This chapter summarizes the CoBRA application in the context of Japan Manned Space Systems Corporation, Japan (JAMSS). In this chapter, we will show how to adapt the baseline CoBRA model development process to the specific context of independent verification and validation (IV&V), which is different from the kind of software development to which CoBRA is typically applied. We will demostrate how to create CoBRA models for different IV&V objectives and how to address typical constraints of the IV&V context.
Adam Trendowicz

Backmatter

Weitere Informationen

Premium Partner

    Bildnachweise