Incremental Development

14,000,000 Leading Edge Experts on the ideXlab platform

Scan Science and Technology

Contact Leading Edge Experts & Companies

Scan Science and Technology

Contact Leading Edge Experts & Companies

The Experts below are selected from a list of 50016 Experts worldwide ranked by ideXlab platform

Barry Boehm - One of the best experts on this subject based on the ideXlab platform.

  • software domains in Incremental Development productivity decline
    International Conference on Software and System Process, 2014
    Co-Authors: Ramin Moazeni, Daniel Link, Celia Chen, Barry Boehm
    Abstract:

    This research paper expands on a previously introduced phenomenon called Incremental Development Productivity Decline (IDPD) that is presumed to be present in all Incremental software projects to some extent. Incremental models are now being used by many organizations in order to reduce Development risks. Incremental Development has become the most common method of software Development. Therefore its characteristics inevitably influence the productivity of projects. Based on their observed IDPD, Incrementally developed projects are split into several major IDPD categories. Different ways of measuring productivity are presented and evaluated in order to come to a definition or set of definitions that is suitable to these categories of projects. Data has been collected and analyzed, indicating the degree of IDPD associated with each category. Several hypotheses have undergone preliminary evaluations regarding the existence, stability and category-dependence of IDPD with encouraging results. Further data collection and hypothesis testing is underway.

  • Incremental Development productivity decline
    Predictive Models in Software Engineering, 2013
    Co-Authors: Ramin Moazeni, Daniel Link, Barry Boehm
    Abstract:

    Incremental models are now being used by many organizations in order to reduce Development risks while trying to deliver the product on time. It has become the most common method of software Development with characteristics that influences the productivity of projects. This paper introduces a phenomenon called Incremental Development Productivity Decline (IDPD) that is presumed to be present in all Incremental software projects to some extent. Different ways of measuring productivity are presented and evaluated in order to come to a definition or set of definitions that is suitable to these kinds of projects. Based on their coherence and other common characteristics, Incrementally developed projects are split into several major categories. Following this, several major projects are used as case studies in order to find out whether IDPD can be proven to exist.

  • improving process decisions in cots based Development via risk based prioritization
    Software Process: Improvement and Practice, 2007
    Co-Authors: Ye Yang, Barry Boehm
    Abstract:

    Good project planning requires the use of appropriate process models as well as effective decision support techniques. However, current software process models provide very little Commercial Off-the-Shelf (COTS)-specific insight and guidance on helping COTS-based application developers to make better decisions with respect to their particular project situations. This article presents a risk-based prioritization approach that is used in the context of a COTS Process Decision Framework. This method is particularly useful in supporting many dominant decisions during a COTS-based Development (CBD) process, such as establishing COTS assessment criteria, scoping and sequencing Development activities, prioritizing features to be implemented in Incremental Development, etc. In this way, the method not only provides a basis for optimal COTS selection but also helps focus limited Development resources on more critical tasks that represent greater risks. The article also shows the evaluation results of applying this approach on the COTS Process Decision Framework through an experiment. Copyright © 2007 John Wiley & Sons, Ltd.

  • improving process decisions in cots based Development via risk based prioritization research sections
    Software Process: Improvement and Practice, 2007
    Co-Authors: Ye Yang, Barry Boehm
    Abstract:

    Good project planning requires the use of appropriate process models as well as effective decision support techniques. However, current software process models provide very little Commercial Off-the-Shelf (COTS)-specific insight and guidance on helping COTS-based application developers to make better decisions with respect to their particular project situations. This article presents a risk-based prioritization approach that is used in the context of a COTS Process Decision Framework. This method is particularly useful in supporting many dominant decisions during a COTS-based Development (CBD) process, such as establishing COTS assessment criteria, scoping and sequencing Development activities, prioritizing features to be implemented in Incremental Development, etc. In this way, the method not only provides a basis for optimal COTS selection but also helps focus limited Development resources on more critical tasks that represent greater risks. The article also shows the evaluation results of applying this approach on the COTS Process Decision Framework through an experiment. Copyright © 2007 John Wiley & Sons, Ltd.

  • optimizing process decision in cots based Development via risk based prioritization
    Lecture Notes in Computer Science, 2006
    Co-Authors: Ye Yang, Barry Boehm
    Abstract:

    Good project planning requires the use of appropriate process model as well as effective decision support technique(s). However, current software process models provide very little COTS-specific insight and guidance on helping COTS-based application developers to make better decisions with respect to their particular project situations. This paper presents a risk based prioritization approach that is used in the context of COTS Process Decision Framework [6]. This method is particularly useful in supporting many dominant decisions during COTS-based Development process, such as establishing COTS assessment criteria, scoping and sequencing Development activities, prioritizing features to be implemented in Incremental Development, etc. In this way, the method not only provides a basis for optimal COTS selection, but also helps to focus the limited Development resource on more critical tasks that represent greater risks.

Wolfgang Emmerich - One of the best experts on this subject based on the ideXlab platform.

  • Distributed component technologies and their software engineering implications
    Proceedings of the 24th International Conference on Software Engineering. ICSE 2002, 2002
    Co-Authors: Wolfgang Emmerich
    Abstract:

    In this state-of-the-art report, we review advances in distributed component technologies, such as the Enterprise JavaBeans (EJB) specification and the CORBA component model (CCM). We assess the state of industrial practice in the use of distributed components. We show several architectural styles for whose implementation distributed components have been used successfully. We review the use of iterative and Incremental Development processes and the notion of a model-driven architecture. We then assess the state of the art in research into novel software engineering methods and tools for the modelling, reasoning and deployment of distributed components. The open problems identified during this review result in the formulation of a research agenda that will contribute to the systematic engineering of distributed systems based on component technologies.

  • distributed component technologies and their software engineering implications
    International Conference on Software Engineering, 2002
    Co-Authors: Wolfgang Emmerich
    Abstract:

    In this state of the art report, we review advances in distributed component technologies, such as the Enterprise Java Beans specification and the CORBA Component Model. We assess the state of industrial practice in the use of distributed components. We show several architectural styles for whose implementation distributed components have been used successfully. We review the use of iterative and Incremental Development processes and the notion of model driven architecture. We then assess the state of the art in research into novel software engineering methods and tools for the modelling, reasoning and deployment of distributed components. The open problems identified during this review result in the formulation of a research agenda that will contribute to the systematic engineering of distributed systems based on component technologies.

Ye Yang - One of the best experts on this subject based on the ideXlab platform.

  • improving process decisions in cots based Development via risk based prioritization research sections
    Software Process: Improvement and Practice, 2007
    Co-Authors: Ye Yang, Barry Boehm
    Abstract:

    Good project planning requires the use of appropriate process models as well as effective decision support techniques. However, current software process models provide very little Commercial Off-the-Shelf (COTS)-specific insight and guidance on helping COTS-based application developers to make better decisions with respect to their particular project situations. This article presents a risk-based prioritization approach that is used in the context of a COTS Process Decision Framework. This method is particularly useful in supporting many dominant decisions during a COTS-based Development (CBD) process, such as establishing COTS assessment criteria, scoping and sequencing Development activities, prioritizing features to be implemented in Incremental Development, etc. In this way, the method not only provides a basis for optimal COTS selection but also helps focus limited Development resources on more critical tasks that represent greater risks. The article also shows the evaluation results of applying this approach on the COTS Process Decision Framework through an experiment. Copyright © 2007 John Wiley & Sons, Ltd.

  • improving process decisions in cots based Development via risk based prioritization
    Software Process: Improvement and Practice, 2007
    Co-Authors: Ye Yang, Barry Boehm
    Abstract:

    Good project planning requires the use of appropriate process models as well as effective decision support techniques. However, current software process models provide very little Commercial Off-the-Shelf (COTS)-specific insight and guidance on helping COTS-based application developers to make better decisions with respect to their particular project situations. This article presents a risk-based prioritization approach that is used in the context of a COTS Process Decision Framework. This method is particularly useful in supporting many dominant decisions during a COTS-based Development (CBD) process, such as establishing COTS assessment criteria, scoping and sequencing Development activities, prioritizing features to be implemented in Incremental Development, etc. In this way, the method not only provides a basis for optimal COTS selection but also helps focus limited Development resources on more critical tasks that represent greater risks. The article also shows the evaluation results of applying this approach on the COTS Process Decision Framework through an experiment. Copyright © 2007 John Wiley & Sons, Ltd.

  • optimizing process decision in cots based Development via risk based prioritization
    Lecture Notes in Computer Science, 2006
    Co-Authors: Ye Yang, Barry Boehm
    Abstract:

    Good project planning requires the use of appropriate process model as well as effective decision support technique(s). However, current software process models provide very little COTS-specific insight and guidance on helping COTS-based application developers to make better decisions with respect to their particular project situations. This paper presents a risk based prioritization approach that is used in the context of COTS Process Decision Framework [6]. This method is particularly useful in supporting many dominant decisions during COTS-based Development process, such as establishing COTS assessment criteria, scoping and sequencing Development activities, prioritizing features to be implemented in Incremental Development, etc. In this way, the method not only provides a basis for optimal COTS selection, but also helps to focus the limited Development resource on more critical tasks that represent greater risks.

Reidar Conradi - One of the best experts on this subject based on the ideXlab platform.

  • software project initiation and planning an empirical study
    IET Software, 2009
    Co-Authors: Des Greer, Reidar Conradi
    Abstract:

    This study describes a study of 14 software companies, on how they initiate and pre-plan software projects. The aim was to obtain an indication of the range of planning activities carried out. The study, using a convenience sample, was carried out using structured interviews, with questions about early software project planning activities. The study offers evidence that an iterative and Incremental Development process presents extra difficulties in the case of fixed-contract projects. The authors also found evidence that feasibility studies were common, but generally informal in nature. Documentation of the planning process, especially for project scoping, was variable. For Incremental and iterative Development projects, an upfront decision on software architecture was shown to be preferred over allowing the architecture to just ‘emerge’. There is also evidence that risk management is recognised but often performed incompletely. Finally appropriate future research arising from the study is described.

  • effort estimation of use cases for Incremental large scale software Development
    International Conference on Software Engineering, 2005
    Co-Authors: Parastoo Mohagheghi, Bente Anda, Reidar Conradi
    Abstract:

    This paper describes an industrial study of an effort estimation method based on use cases, the Use Case Points method. The original method was adapted to Incremental Development and evaluated on a large industrial system with modification of software from the previous release. We modified the following elements of the original method: a) complexity assessment of actors and use cases, and b) the handling of non-functional requirements and team factors that may affect effort. For Incremental Development, we added two elements to the method: c) counting both all and the modified actors and transactions of use cases, and d) effort estimation for secondary changes of software not reflected in use cases. We finally extended the method to: e) cover all Development effort in a very large project. The method was calibrated using data from one release and it produced an estimate for the successive release that was only 17% lower than the actual effort. The study identified factors affecting effort on large projects with Incremental Development. It also showed how these factors can be calibrated for a specific context and produce relatively accurate estimates.

  • object oriented reading techniques for inspection of uml models an industrial experiment
    European Conference on Object-Oriented Programming, 2003
    Co-Authors: Reidar Conradi, Parastoo Mohagheghi, Tayyaba Arif, Lars Christian Hegde, Geir Arne Bunde, Anders Pedersen
    Abstract:

    Object-oriented design and modeling with UML has become a central part of software Development in industry. Software inspections are used to cost-efficiently increase the quality of the developed software by early defect detection and correction. Several models presenting the total system need to be inspected for consistency with each other and with external documents such as requirement specifications. Special Object Oriented Reading Techniques (OORTs) have been developed to help inspectors in the individual reading step of inspection of UML models. The paper describes an experiment performed at Ericsson in Norway to evaluate the cost-efficiency of tailored OORTs in a large-scale software project. The results showed that the OORTs fit well into an Incremental Development process, and managed to detect defects not found by the existing reading techniques. The study demonstrated the need for further Development and empirical assessment of these techniques, and for better integration with industrial work practice.

  • experiences with certification of reusable components in the gsn project in ericsson norway
    2001
    Co-Authors: Parastoo Mohagheghi, Reidar Conradi
    Abstract:

    Incremental Development, software reuse, product families and component-based Development seem to be the potent technologies to achieve benefits in productivity, quality and maintainability, and to reduce the risks of changes. These approaches have multiple and crosscutting impacts on Development practices and quality attributes. Empirical studies in industry answer questions about why and when certain approaches are chosen, how these are applied with impact on single instances and how to generalize over classes or systems. Large, long-lived systems place more demands on software engineering approaches. Complexity is increased, systems should have the correct subset of functionality and be maintainable for several years to return the investment.The research in this thesis is based on several empirical studies performed at Ericsson in Grimstad, Norway and in the context of the Norwegian INCO project (Incremental and COmponent-Based Software Development). A product family with two large-scale products that have been developed Incrementally is described. The work aimed to assess the impact of Development approaches on quality and improve the practice in some aspects. The research has been a mixed-method design and the studies use qualitative data collected from sources such as web pages, text documents and own studies, as well as quantitative data from company’s data repositories for several releases of one product. The thesis contains five main novel contributions:C1. Empirical verification of reuse benefits. Quantitative analyses of defect reports, change requests and component size showed reuse benefits in terms of lower defect-density, higher stability between releases, and no significant difference in change-proneness between reused and non-reused components.C2. Increased understanding of the origin and type of changes in requirements in each release and changes of software between releases. A quantitative analysis of change requests showed that most changes are initiated by the organization. Perfective changes to functionality and quality attributes are most common. Functionality is enhanced and improved in each release, while quality attributes are mostly improved and have fewer changes in form of new requirements.C3. Developing an effort estimation method using use case specifications and the distribution of effort in different phases of Incremental software Development. The estimation method is tailored for complex use case specifications, Incremental changes in these and reuse of software from previous releases. Historical data on effort spent in two releases are used to calibrate and validate the method.C4. Identifying metrics for a combination of reuse of software components and Incremental Development. Results of quantitative and qualitative studies are used to relate quality attributes to Development practices and approaches, and to identify metrics for a combination of software reuse and Incremental Development.C5. Developing a data mining method for exploring industrial data repositories based on experience from the quantitative studies. This thesis also proposes how to improve the software processes for Incremental Development of product families. These are considered minor contributions:C6a. Adaptation of the Rational Unified Process for reuse to improve consistency between practice and the software process model.C6b. Improving techniques for Incremental inspection of UML models to improve the quality of components. A controlled industrial experiment is performed.

Bernhard Rumpe - One of the best experts on this subject based on the ideXlab platform.

  • assumptions underlying agile software Development processes
    arXiv: Software Engineering, 2014
    Co-Authors: Daniel Turk, Bernhard Rumpe
    Abstract:

    Agile processes focus on facilitating early and fast production of working code, and are based on software Development process models that support iterative, Incremental Development of software. Although agile methods have existed for a number of years now, answers to questions concerning the suitability of agile processes to particular software Development environments are still often based on anecdotal accounts of experiences. An appreciation of the (often unstated) assumptions underlying agile processes can lead to a better understanding of the applicability of agile processes to particular situations. Agile processes are less likely to be applicable in situations in which core assumptions do not hold. This paper examines the principles and advocated practices of agile processes to identify underlying assumptions. The paper also identifies limitations that may arise from these assumptions and outlines how the limitations can be addresses by incorporating other software Development techniques and practices into agile Development environments.

  • Assumptions Underlying Agile Software-Development Processes
    Journal of Database Management, 2005
    Co-Authors: Daniel Turk, Bernhard Rumpe
    Abstract:

    Agile processes focus on the early facilitation and fast production of working code, and are based on software-Development process models that support iterative, Incremental Development of software. Although agile methods have existed for a number of years now, answers to questions concerning the suitability of agile processes to particular software-Development environments are still often based on anecdotal accounts of experiences. An appreciation of the (often unstated) assumptions underlying agile processes can lead to a better understanding of the applicability of agile processes to particular situations. Agile processes are less likely to be applicable in situations in which core assumptions do not hold. This article examines the principles and advocated practices of agile processes to identify underlying assumptions. It also identifies limitations that may arise from these assumptions and outlines how the limitations can be addressed by incorporating other software-Development techniques and practices into agile Development environments.