Searcharxiv⌕ Search

arXiv subjects

Jürgen Münch

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

At least 55 records · Page 3Linked to original sources

Model-based Product Quality Evaluation with Multi-Criteria Decision Analysis

The ability to develop or evolve software or software-based systems/services with defined and guaranteed quality in a predictable way is becoming increasingly important. Essential - though not exclusive - prerequisites for this are the ability to model the relevant quality properties appropriately and the capability to perform reliable quality evaluations. Existing approaches for integrated quality modeling and evaluation are typically either narrowly focused or too generic and have proprietary ways for modeling and evaluating quality. This article sketches an ap- proach for modeling and evaluating quality properties in a uniform way, without losing the ability to build sufficiently detailed customized models for specific quality properties. The focus of this article is on the description of a multi-criteria aggregation mechanism that can be used for the evaluation. In addition, the underlying quality meta-model, an example application scenario, related work, initial application results, and an outlook on future research are presented.

cs.SE↗

Visualization of Software and Systems as Support Mechanism for Integrated Software Project Control

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 process and product 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. One crucial task of an SPCC is the systematic visualization of measurement data in order to provide context-, purpose-, and role-oriented information for all stakeholders (e.g., project managers, quality assurance managers, 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, as well as examples and experiences from practical applications.

cs.SE↗

Implementing Software Project Control Centers: An Architectural View

Setting up effective and efficient mechanisms for controlling software and system development projects is still challenging in industrial practice. On the one hand, necessary prerequisites such as established development processes, understanding of cause-effect relationships on relevant indicators, and sufficient sustainability of measurement programs are often missing. On the other hand, there are more fundamental methodological deficits related to the controlling process itself and to appropriate tool support. Additional activities that would guarantee the usefulness, completeness, and precision of the result- ing controlling data are widely missing. This article presents a conceptual architecture for so-called Software Project Control Centers (SPCC) that addresses these challenges. The architecture includes mechanisms for getting sufficiently precise and complete data and supporting the information needs of different stakeholders. In addition, an implementation of this architecture, the so-called Specula Project Support Environment, is sketched, and results from evaluating this implementation in industrial settings are presented.

cs.SE↗

Transparent Combination of Expert and Measurement Data for Defect Prediction: An Industrial Case Study

Defining strategies on how to perform quality assurance (QA) and how to control such activities is a challenging task for organizations developing or maintaining software and software-intensive systems. Planning and adjusting QA activities could benefit from accurate estimations of the expected defect content of relevant artifacts and the effectiveness of important quality assurance activities. Combining expert opinion with commonly available measurement data in a hybrid way promises to overcome the weaknesses of purely data-driven or purely expert-based estimation methods. This article presents a case study of the hybrid estimation method HyDEEP for estimating defect content and QA effectiveness in the telecommunication domain. The specific focus of this case study is the use of the method for gaining quantitative predictions. This aspect has not been empirically analyzed in previous work. Among other things, the results show that for defect content estimation, the method performs significantly better statistically than purely data-based methods, with a relative error of 0.3 on average (MMRE).

cs.SE↗

A Platform for Teaching Applied Distributed Software Development: The Ongoing Journey of the Helsinki Software Factory

Teaching distributed software development (DSD) in project courses where student teams are geographically distributed promises several benefits. One main benefit is that in contrast to traditional classroom courses, students can experience the effects of distribution and the mechanisms for coping with distribution by themselves, therefore understanding their relevance for software development. They can thus learn to take more care of distribution challenges and risks when starting to develop software in industry. However, providing a sustainable environment for such project courses is difficult. A development environment is needed that can connect to different distributed teams and an ongoing routine to conduct such courses needs to be established. This article sketches a picture of the Software Factory, a platform that supports teaching distributed student projects and that has now been operational for more than three years. We describe the basic steps of conducting Software Factory projects, and portray experiences from past factory projects. In addition, we provide a short overview of related approaches and future activities.

cs.SE↗

Teaching Software Process Modeling

Most university curricula consider software processes to be on the fringes of software engineering (SE). Students are told there exists a plethora of software processes ranging from RUP over V-shaped processes to agile methods. Furthermore, the usual students' programming tasks are of a size that either one student or a small group of students can manage the work. Comprehensive processes being essential for large companies in terms of reflecting the organization structure, coordinating teams, or interfaces to business processes such as contracting or sales, are complex and hard to teach in a lecture, and, therefore, often out of scope. We experienced tutorials on using Java or C#, or on developing applications for the iPhone to gather more attention by students, simply speaking, as these are more fun for them. So, why should students spend their time in software processes? From our experiences and the discussions with a variety of industrial partners, we learned that students often face trouble when taking their first "real" jobs, even if the company is organized in a lean or agile shape. Therefore, we propose to include software processes more explicitly into the SE curricula. We designed and implemented a course at Master's level in which students learn why software processes are necessary, and how they can be analyzed, designed, implemented, and continuously improved. In this paper, we present our course's structure, its goals, and corresponding teaching methods. We evaluate the course and further discuss our experiences so that lecturers and researchers can directly use our lessons learned in their own curricula.

cs.SE↗

Software Process Commonality Analysis

To remain viable and thrive, software organizations must rapidly adapt to frequent, and often rather far-ranging, changes to their operational context. These changes typically concern many factors, including the nature of the organization's marketplace in general, its customers' demands, and its business needs. In today's most highly dynamic contexts, such as web services development, other changes create additional, severe challenges. Most critical are changes to the technology in which a software product is written or which the software product has to control or use to provide its functionality. These product-support technology changes are frequently relatively 'small' and incremental. They are, therefore, often handled by relatively 'small,' incremental changes to the organization's software processes. However, the frequency of these changes is high, and their impact is elevated by time-to-market and requirements change demands. The net result is an extremely challenging need to create and manage a large number of customized process variants, collectively having more commonalities than differences, and incorporating experience-based, proven 'best practices'. This paper describes a tool-based approach to coping with product-support technology changes. The approach utilizes established capabilities such as descriptive process modeling and the creation of reference models. It incorporates a new, innovative, tool-based capability to analyze commonalities and differences among processes. The paper includes an example-based evaluation of the approach in the domain of Wireless Internet Services as well as a discussion of its potentially broader application.

cs.SE↗

A Decision Model for Supporting Task Allocation Processes in Global Software Development

Today, software-intensive systems are increasingly being developed in a globally distributed way. However, besides its benefit, global development also bears a set of risks and problems. One critical factor for successful project management of distributed software development is the allocation of tasks to sites, as this is assumed to have a major influence on the benefits and risks. We introduce a model that aims at improving management processes in globally distributed projects by giving decision support for task allocation that systematically regards multiple criteria. The criteria and causal relationships were identified in a literature study and refined in a qualitative interview study. The model uses existing approaches from distributed systems and statistical modeling. The article gives an overview of the problem and related work, introduces the empirical and theoretical foundations of the model, and shows the use of the model in an example scenario.

cs.SE↗

A Risk-driven Model for Work Allocation in Global Software Development Projects

Risks and potential benefits of distributing software development projects globally depend to a large extent on how to allocate work to different development sites and regions. Existing methods in task allocation are likely to omit the relevance of considering a multitude of criteria and the impact of task distribution on risks and potential benefits. To assess risks stemming from specific work distributions and to exploit organization-specific experience, we have developed a customizable risk-driven model. It consists of two main steps: Suggesting a set of task allocation alternatives based on project- and site-specific characteristics and analyzing it with respect to possible project risks stemming from the work distribution. To evaluate the model, we conducted a series of semi-structured interviews in a multinational IT company. The results of the evaluation show that the suggestions of the model mostly comply with the retrospective views voiced by the involved experienced managers.

cs.SE↗

Developer Experience: Concept and Definition

New ways of working such as globally distributed development or the integration of self-motivated external developers into software ecosystems will require a better and more comprehensive understanding of developers' feelings, perceptions, motivations and identification with their tasks in their respective project environments. User experience is a concept that captures how persons feel about products, systems and services. It evolved from disciplines such as interaction design and usability to a much richer scope that includes feelings, motivations, and satisfaction. Similarly, developer experience could be defined as a means for capturing how developers think and feel about their activities within their working environments, with the assumption that an improvement of the developer experience has positive impacts on characteristics such as sustained team and project performance. This article motivates the importance of developer experience, sketches related approaches from other domains, proposes a definition of developer experience that is derived from similar concepts in other domains, describes an ongoing empirical study to better understand developer experience, and finally gives an outlook on planned future research activities.

cs.SE↗

A Deployment Process for Strategic Measurement Systems

Explicitly linking software-related activities to an organisation's higher-level goals has been shown to be critical for organizational success. GQM+Strategies provides mechanisms for explicitly linking goals and strategies, based on goal-oriented strategic measurement systems. Deploying such strategic measurement systems in an organization is highly challenging. Experience has shown that a clear deployment strategy is needed for achieving sustainable success. In particular, an adequate deployment process as well as corresponding tool support can facilitate the deployment. This paper introduces the systematical GQM+Strategies deployment process and gives an overview of GQM+Strategies modelling and associated tool support. Additionally, it provides an overview of industrial applications and describes success factors and benefits for the usage of GQM+Strategies.

cs.SE↗

Using Early Quality Assurance Metrics to Focus Testing Activities

Testing of software or software-based systems and services is considered as one of the most effort-consuming activities in the lifecycle. This applies especially to those domains where highly iterative development and continuous integration cannot be applied. Several approaches have been proposed to use measurement as a means to improve test effectiveness and efficiency. Most of them rely on using product data, historical data, or in-process data that is not related to quality assurance ac- tivities. Very few approaches use data from early quality assurance activities such as inspection data in order to focus testing activities and thereby reduce test effort. This article gives an overview of potential benefits of using data from early defect detection activities, potentially in addition to other data, in order to focus testing activities. In addition, the article sketches an integrated inspection and testing process and its evaluation in the context of two case studies. Taking the study limitations into account, the results show an overall reduction of testing effort by up to 34%, which mirrors an efficiency improvement of up to about 50% for testing.

cs.SE↗

Adapting Software Quality Models: Practical Challenges, Approach, and First Empirical Results

Measuring and evaluating software quality has become a fundamental task. Many models have been proposed to support stakeholders in dealing with software quality. However, in most cases, quality models do not fit perfectly for the target application context. Since approaches for efficiently adapting quality models are largely missing, many quality models in practice are built from scratch or reuse only high-level concepts of existing models. We present a tool-supported approach for the efficient adaptation of quality models. An initial empirical investigation indicates that the quality models obtained applying the proposed approach are considerably more consistently and appropriately adapted than those obtained following an ad-hoc approach. Further, we could observe that model adaptation is significantly more efficient (~factor 8) when using this approach.

cs.SE↗

The Relevance of Assumptions and Context Factors for the Integration of Inspections and Testing

Integrating inspection processes with testing processes promises to deliver several benefits, including reduced effort for quality assurance or higher defect detection rates. Systematic integration of these processes requires knowledge regarding the relationships between these processes, especially regarding the relationship between inspection defects and test defects. Such knowledge is typically context-dependent and needs to be gained analytically or empirically. If such kind of knowledge is not available, assumptions need to be made for a specific context. This article describes the relevance of assumptions and context factors for integrating inspection and testing processes and provides mechanisms for deriving assumptions in a systematic manner.

cs.SE↗

Guiding Testing Activities by Predicting Defect-prone Parts Using Product and Inspection Metrics

Product metrics, such as size or complexity, are often used to identify defect-prone parts or to focus quality assurance activities. In contrast, quality information that is available early, such as information provided by inspections, is usually not used. Currently, only little experience is documented in the literature on whether data from early defect detection activities can support the identification of defect-prone parts later in the development process. This article compares selected product and inspection metrics commonly used to predict defect-prone parts. Based on initial experience from two case studies performed in different environments, the suitability of different metrics for predicting defect-prone parts is illustrated. These 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.

cs.SE↗

Applying AOSE Concepts to Model Crosscutting Variability in Variant-Rich Processes

Software process models need to be variant-rich, in the sense that they should be systematically customizable to specific project goals and project environments. It is currently very difficult to model Variant-Rich Process (VRP) because variability mechanisms are largely missing in modern process modeling languages. Variability mechanisms from other domains, such as programming languages, might be suitable for the representation of variability and could be adapted to the modeling of software processes. Mechanisms from Software Product Line Engineering (SPLE) and concepts from Aspect- Oriented Software Engineering (AOSE) show particular promise when modeling variability. This paper presents an approach that integrates variability concepts from SPLE and AOSE in the design of a VRP approach for the systematic support of tailoring in software processes. This approach has also been implemented in SPEM, resulting in the vSPEM notation. It has been used in a pilot application, which indicates that our approach based on AOSE can make process tailoring easier and more productive.

cs.SE↗

Attaining High-performing Software Teams with Agile and Lean Practices: An Empirical Case Study

This paper presents an empirical study on how self- organized software teams could attain high performance using agile and lean practices. In particular, the paper qualitatively examines characteristics of high performance and self- organization in one project team. The case under study is a customer-driven student project, carried out to develop an alpha-version prototype. The paper also studies how certain agile software practices aid in initialising self-organization in the team. The main results indicate that self-organization as supported by certain Agile and Lean practices helps teams in achieving higher performance.

cs.SE↗

The Effects of GQM+Strategies on Organizational Alignment

The increasing role of software for developing products and services requires that organizations align their software-related activities with high-level business goals. In practice, this alignment is very difficult and only little systematic support is available. GQM+Strategies is a method that aims at aligning organizational goals, strategies, and measurements at all levels of an organization in a seamless way. This article describes a case study of applying GQM+Strategies in a globally op- erating industrial R&D organization developing special-purpose device products for B2B customers. The study analyzes how GQM+Strategies has helped clarify and harmonize the goal set of the organization. Results of the study indicate improved alignment and integration of different goals. In addition, the method helped to make the initially informal goal-setting more transparent and consequently enabled revising it while new, more important goals were discovered and comprehended. Moreover, several elements affecting the achievement of goals as well as impediments were identified.

cs.SE↗