Searcharxiv⌕ Search

arXiv subjects

Jürgen Münch

Publications and source records attributed to Jürgen Münch.

At least 19 recordsLinked to original sources

What Makes Agile Software Development Agile?

Together with many success stories, promises such as the increase in production speed and the improvement in stakeholders' collaboration have contributed to making agile a transformation in the software industry in which many companies want to take part. However, driven either by a natural and expected evolution or by contextual factors that challenge the adoption of agile methods as prescribed by their creator(s), software processes in practice mutate into hybrids over time. Are these still agile? In this article, we investigate the question: what makes a software development method agile? We present an empirical study grounded in a large-scale international survey that aims to identify software development methods and practices that improve or tame agility. Based on 556 data points, we analyze the perceived degree of agility in the implementation of standard project disciplines and its relation to used development methods and practices. Our findings suggest that only a small number of participants operate their projects in a purely traditional or agile manner (under 15%). That said, most project disciplines and most practices show a clear trend towards increasing degrees of agility. Compared to the methods used to develop software, the selection of practices has a stronger effect on the degree of agility of a given discipline. Finally, there are no methods or practices that explicitly guarantee or prevent agility. We conclude that agility cannot be defined solely at the process level. Additional factors need to be taken into account when trying to implement or improve agility in a software company. Finally, we discuss the field of software process-related research in the light of our findings and present a roadmap for future research.

cs.SE↗

Towards the statistical construction of hybrid development methods

Hardly any software development process is used as prescribed by authors or standards. Regardless of company size or industry sector, a majority of project teams and companies use hybrid development methods (short: hybrid methods) that combine different development methods and practices. Even though such hybrid methods are highly individualized, a common understanding of how to systematically construct synergetic practices is missing. In this article, we make a first step towards a statistical construction procedure for hybrid methods. Grounded in 1467 data points from a large-scale practitioner survey, we study the question: What are hybrid methods made of and how can they be systematically constructed? Our findings show that only eight methods and few practices build the core of modern software development. Using an 85% agreement level in the participants' selections, we provide examples illustrating how hybrid methods can be characterized by the practices they are made of. Furthermore, using this characterization, we develop an initial construction procedure, which allows for defining a method frame and enriching it incrementally to devise a hybrid method using ranked sets of practice.

cs.SE↗

2nd Workshop on Hybrid Development Approaches in Software Systems Development

Software and system development is complex and diverse, and a multitude of development approaches is used and combined with each other to address the manifold challenges companies face today. To study the current state of the practice and to build a sound understanding about the utility of different development approaches and their application to modern software system development, in 2016, we launched the HELENA initiative. This paper introduces the 2nd HELENA workshop and provides an overview of the current project state. In the workshop, six teams present initial findings from their regions, impulse talk are given, and further steps of the HELENA roadmap are discussed.

cs.SE↗

What are Hybrid Development Methods Made Of? An Evidence-based Characterization

Among the multitude of software development processes available, hardly any is used by the book. Regardless of company size or industry sector, a majority of project teams and companies use customized processes that combine different development methods -- so-called hybrid development methods. Even though such hybrid development methods are highly individualized, a common understanding of how to systematically construct synergetic practices is missing. In this paper, we make a first step towards devising such guidelines. Grounded in 1,467 data points from a large-scale online survey among practitioners, we study the current state of practice in process use to answer the question: What are hybrid development methods made of? Our findings reveal that only eight methods and few practices build the core of modern software development. This small set allows for statistically constructing hybrid development methods. Using an 85% agreement level in the participants' selections, we provide two examples illustrating how hybrid development methods are characterized by the practices they are made of. Our evidence-based analysis approach lays the foundation for devising hybrid development methods.

cs.SE↗

Determining Context Factors for Hybrid Development Methods with Trained Models

Selecting a suitable development method for a specific project context is one of the most challenging activities in process design. Every project is unique and, thus, many context factors have to be considered. Recent research took some initial steps towards statistically constructing hybrid development methods, yet, paid little attention to the peculiarities of context factors influencing method and practice selection. In this paper, we utilize exploratory factor analysis and logistic regression analysis to learn such context factors and to identify methods that are correlated with these factors. Our analysis is based on 829 data points from the HELENA dataset. We provide five base clusters of methods consisting of up to 10 methods that lay the foundation for devising hybrid development methods. The analysis of the five clusters using trained models reveals only a few context factors, e.g., project/product size and target application domain, that seem to significantly influence the selection of methods. An extended descriptive analysis of these practices in the context of the identified method clusters also suggests a consolidation of the relevant practice sets used in specific project contexts.

cs.SE↗

Comprehensive Landscapes for Software-related Quality Models

Managing quality (such as service availability or process adherence) during the development, operation, and maintenance of software(-intensive) systems and services is a challenging task. Although many organizations need to define, control, measure, and improve various quality aspects of their devel- opment artifacts and processes, nearly no guidance is available on how to select, adapt, define, combine, use, and evolve quality models. Catalogs of quality models as well as selection and tailoring processes are widely missing. One essential reason for this tremendous lack of support is that software development is a highly context-dependent process. Therefore, quality models always need to be adaptable to the respective project goals and contexts. A first step towards better support for selecting and adapting quality models can be seen in a classification of existing quality models, especially with respect to their suitability for different purposes and contexts. Such a classification of quality models can be applied to provide an integrated overview of the variety of quality models. This article presents the idea of so called comprehensive quality model landscapes (CQMLs), which provide a classification scheme for quality models and help to get an overview of existing quality models and their relationships. The article describes the usage goals for such landscapes, presents a classification scheme, presents the initial concept of such landscapes, illustrates the concept with selected examples, and sketches open questions and future work.

cs.SE↗

Goal-oriented Data Visualization with Software Project Control Centers

Many software development organizations still lack support for obtaining intellectual control over their software development processes and for determining the performance of their processes and the quality of the produced products. Systematic support for detecting and reacting to critical project states in order to achieve planned goals is usually missing. One means to institutionalize measurement on the basis of explicit models is the development and establishment of a so-called Software Project Control Center (SPCC) for systematic quality assurance and management support. An SPCC is comparable to a control room, which is a well known term in the mechanical production domain. Its tasks include collecting, in- terpreting, and visualizing measurement data in order to provide context-, purpose-, and role-oriented information for all stakeholders (e.g., project managers, quality assurance manager, developers) during the execution of a software development project. The article will present an overview of SPCC concepts, a concrete instantiation that supports goal-oriented data visualization (G-SPCC approach), and experiences from practical applications.

cs.SE↗

Using Cluster Curves to Control Software Development Projects

Online interpretation and visualization of project data are gaining increasing importance on the long road towards predictable and controllable software project execution. This paper sketches the Sprint I controlling approach for software development projects and gives first evaluation results. The approach is grounded on the usage of context-oriented cluster curves and integrated in the framework of software project control centers.

cs.SE↗

A Systematic Methodology for Developing Discrete Event Simulation Models of Software Development Processes

So far there have been several efforts for developing software process simulators. However, the approaches for developing the simulators seem to have been ad-hoc and no systematic methodology exists. Since modeling and simulation in support of software development should become more popular (and there are signs that it does), there is a need for migrating modeling from craft to engineering. This article proposes such a systematic method, focused on the development of discrete simulation-based decision models, but extensible to other modeling approaches as well.

cs.SE↗

Baselining Wireless Internet Service Development: An Experience Report

New, emerging domains such as the engineering of wireless Internet services are characterized by a lack of experience based on quantitative data. Systematic tracking and observation of representative pilot projects can be seen as one means to capture experience, get valuable insight into a new domain, and build initial baselines. This helps to improve the planning of real development projects in business units. This article describes an approach to capture software development experience for the wireless Internet services domain by conducting and observing a series of case studies in the field. Initial baselines concerning effort distribution from the development of two wireless Internet pilot services are presented. Furthermore, major domain-specific risk factors are discussed based on the results of project retrospectives conducted with the developers of the services.

cs.SE↗

Observation-based Development of Software Process Baselines: An Experience Report

The creation and deployment of software development processes for new domains (such as wireless Internet services) is a challenging task due to the lack of knowledge about adequate engineering techniques and their effects. In addition, time-to-market pressure prevents applying long-lasting maturation of processes. Nevertheless, developing software of a predetermined quality in a predictable fashion can only be achieved with systematic development processes and the use of engineering principles. A descriptive approach promises to quickly create initial valuable process models and quantitative baselines that can be seen as starting points for continuous improvement activities. This paper describes the creation of software development processes for the development of wireless Internet services based on the observation of pilot projects that were performed at distributed development sites. Different techniques and tools such as descriptive process modeling, process documentation generation, goal-oriented measurement, and capturing qualitative experience were combined to gain process baselines. Results show that the observation-based approach helped to quickly come up with stable context-oriented development processes and get a better understanding of their effects with respect to quantitative and qualitative means.

cs.SE↗

Simulation-Based Risk Reduction for Planning Inspections

Organizations that develop software have recognized that software process models are particularly useful for maintaining a high standard of quality. In the last decade, simulations of software processes were used in several settings and environments. This paper gives a short overview of the benefits of software process simulation and describes the development of a discrete-event model, a technique rarely used before in that field. The model introduced in this paper captures the behavior of a detailed code inspection process. It aims at reducing the risks inherent in implementing inspection processes and techniques in the overall development process. The determination of the underlying cause-effect relations using data mining techniques and empirical data is explained. Finally, the paper gives an outlook on our future work.

cs.SE↗

Empirically Driven Design of Software Development Processes for Wireless Internet Services

The development of software for wireless services on the Internet is a challenging task due to the extreme time-to-market pressure, the newness of the application domain, and the quick evolution of the technical infrastructure. Nevertheless, developing software of a predetermined quality in a predictable fashion can only be achieved with systematic development processes and the use of engineering principles. Thus, systematic development processes for this domain are needed urgently. This article presents a method for the design of an adaptable software development process based on existing practices from related domains, industrial piloting, and expert knowledge. First results of the application of the method for the wireless Internet services domain are described. The benefit for the reader is twofold: the article describes a validated method on how to gain process knowledge for an upcoming field fast and incrementally. Furthermore, first results of the process design for the wireless Internet services domain are given.

cs.SE↗

Guided Support for Collaborative Modeling, Enactment and Simulation of Software Development Processes

Recently, the awareness of the importance of distributed software development has been growing in the software engineering community. Economic constraints, more and more outsourcing of development activities, and the increasing spatial distribution of companies come along with challenges of how to organize distributed development. In this article, we reason that a common process understanding is mandatory for successful distributed development. Integrated process planning, guidance and enactment are seen as enabling technologies to reach a unique process view. We sketch a synthesis of the software process modeling environment SPEARMINT and the XCHIPS system for web-based process support. Hereby, planners and developers are provided with collaborative planning and enactment support and advanced process guidance via electronic process guides (EPGs). We describe the usage of this integrated environment by using a case study for the development of a learning system.

cs.SE↗

Context-driven Software Project Estimation

Using quantitative data from past projects for software project estimation requires context knowledge that characterizes its origin and indicates its applicability for future use. This article sketches the SPRINT I technique for project planning and controlling. The underlying prediction mechanism is based on the identification of similar past projects and the building of so-called clusters with typical data curves. The article focuses on how to characterize these clusters with context knowledge and how to use context information from actual projects for prediction. The SPRINT approach is tool-supported and first evaluations have been conducted.

cs.SE↗

Supporting Process Maturation with the Enhanced CoBRA Method

Cost estimation is a very crucial field for software developing companies. In the context of learning organizations, estimation applicability and accuracy are not the only acceptance criteria. The contribution of an estimation technique to the understanding and maturing of related organizational processes (such as identification of cost and productivity factors, measurement, data validation, model validation, model maintenance) has recently been gaining increasing importance. Yet, most of the proposed cost modeling approaches provide software engineers with hardly any assistance in supporting related processes. Insufficient support is provided for validating created cost models (including underlying data collection processes) or, if valid models are obtained, for applying them to achieve an organization's objectives such as improved productivity or reduced schedule. This paper presents an enhancement of the CoBRA(R) cost modeling method by systematically including additional quantitative methods into iterative analysis-feedback cycles. Applied at Oki Electric Industry Co., Ltd., Japan, the CoBRA(R) method contributed to the achievement of the following objectives, including: (1) maturation of existing measurement processes, (2) increased expertise of Oki software project decision makers regarding cost-related software processes, and, finally, (3) reduction of initial estimation error from an initial 120% down to 14%.

cs.SE↗

Towards a Multi-criteria Development Distribution Model: An Analysis of Existing Task Distribution Approaches

Distributing development tasks in the context of global software development bears both many risks and many opportunities. Nowadays, distributed development is often driven by only a few factors or even just a single factor such as workforce costs. Risks and other relevant factors such as workforce capabilities, the innovation potential of different regions, or cultural factors are often not recognized sufficiently. This could be improved by using empirically-based multi-criteria distribution models. Currently, there is a lack of such decision models for distributing software development work. This article focuses on mechanisms for such decision support. First, requirements for a distribution model are formulated based on needs identified from practice. Then, distribution models from different domains are surveyed, compared, and analyzed in terms of suitability. Finally, research questions and directions for future work are given.

cs.SE↗

Focusing Testing by Using Inspection and Product Metrics

A well-known approach for identifying defect-prone parts of software in order to focus testing is to use different kinds of product metrics such as size or complexity. Although this approach has been evaluated in many contexts, the question remains if there are further opportunities to improve test focusing. One idea is to identify other types of information that may indicate the location of defect-prone software parts. Data from software inspections, in particular, appear to be promising. This kind of data might already lead to software parts that have inherent difficulties or programming challenges, and in consequence might be defect-prone. This article first explains how inspection and product metrics can be used to focus testing activities. Second, we compare selected product and inspection metrics commonly used to predict defect-prone parts (e.g., size and complexity metrics, inspection defect content metrics, and defect density metrics). Based on initial experience from two case studies performed in different environments, the suitability of different metrics for predicting defect-prone parts is illustrated. The studies revealed that inspection defect data seems to be a suitable predictor, and a combination of certain inspection and product metrics led to the best prioritizations in our contexts. In addition, qualitative experience is presented, which substantiates the expected benefit of using inspection results to optimize testing.

cs.SE↗