Skip to main content

2015 | Buch

Product-Focused Software Process Improvement

16th International Conference, PROFES 2015, Bolzano, Italy, December 2-4, 2015, Proceedings

insite
SUCHEN

Über dieses Buch

This book constitutes the refereed proceedings of the 16th International Conference on Product-Focused Software Process Improvement, PROFES 2015, held in Bolzano, Italy, in December 2015.
The 18 revised full papers presented together with 10 short papers and 18 workshop papers were carefully reviewed and selected from 50 submissions. The papers are organized in topical sections on lessons learned from industry-research collaborations; instruments to improve the software development process; requirements, features, and release management; practices of modern development processes; human factors in modern software development; effort and size estimation validated by professionals; empirical generalization; software reliability and testing in industry; workshop on processes, methods and tools for engineering embedded systems; workshop on human factors in software development processes; and workshop on software startups: state of the art and state of the practice.

Inhaltsverzeichnis

Frontmatter

Lessons Learned from Industry-Research Collaborations

Frontmatter
Strategic Ecosystem Management: A Multi-case Study in the B2B Domain

In today’s business environment, value creation is a collaborative effort in which companies depend on a number of external stakeholders. This implies a shift towards inter-organizational relationships and dependencies between companies. In this shift, companies seek strategies for how to effectively coordinate standardization efforts, share maintenance costs, and engage in open innovation initiatives, while at the same time increase control and accelerate development of differentiating functionality. On the basis of a multi-case study in six B2B software development companies, this paper explores the challenges involved in managing different ecosystem types. Based on the ‘Three Layer Product Model’ [1], we distinguish between innovation ecosystems, differentiating ecosystems and commoditizing ecosystems. We outline the challenges the companies experience in managing these, and we develop a model in which we identify the characteristics of each ecosystem type. Our model helps companies manage the different ecosystems they operate in. Finally, we present a framework in which we categorize the strategies employed by the case companies depending on the competitiveness of a specific product or product category.

Helena Holmström Olsson, Jan Bosch
Early Value Argumentation and Prediction: An Iterative Approach to Quantifying Feature Value

Companies are continuously improving their practices and ways of working in order to fulfill always-changing market requirements. As an example of building a better understanding of their customers, organizations are collecting user feedback and trying to direct their R&D efforts by e.g. continuing to develop features that deliver value to the customer. We (1) develop an actionable technique that practitioners in organizations can use to validate feature value early in the development cycle, (2) validate if and when the expected value reflects on the customers, (3) know when to stop developing it, and (4) identity unexpected business value early during development and redirect R&D effort to capture this value. The technique has been validated in three experiments in two cases companies. Our findings show that predicting value for features under development helps product management in large organizations to correctly re-prioritize R&D investments.

Aleksander Fabijan, Helena Holmström Olsson, Jan Bosch
Challenges of Structured Reuse Adoption — Lessons Learned

Adoption of structured reuse approaches in practice often poses multiple challenges. Research-industry collaborations are considered as suitable vehicle to mitigate adoption difficulties as well as to validate the applicability of scientific results. However, research co-operations with industry do not always live up to the expectations of either of the partners. Unfortunately for researchers and practitioners alike, insights behind the scenes of failed adoption and cooperation are often difficult to obtain. This hinders discussions on lessons learned by organizations during the adoption process and delays improvements.This paper aims to mitigate this issue by presenting lessons learned from interviews we conducted with practitioners in the context of a study on software reuse in industry. The study covered a wide range of aspects, including the process of reuse adoption. One of the participating companies had undertaken two attempts to adopt a form of structured reuse. However, both attempts did not succeed as expected. In our study, we identified tacit assumptions that were related to the encountered difficulties and present the lessons learned from the adoption approach. Furthermore, we report strategies that helped us to overcome the scepticism caused by a previous unsuccessful guided collaboration.

Veronika Bauer

Instruments to Improve the Software Development Process

Frontmatter
Software Process Improvement Implementation Risks: A Qualitative Study Based on Software Development Maturity Models Implementations in Brazil

Background: Several problems affect software process improvement (SPI) initiatives planning and institutionalization. Past SPI initiatives provide valuable knowledge that can be used to identify risks that might affect new ones. Aims: In this article we aimed to identify risks that might affect SPI initiatives involving the adoption of software development maturity models such as CMMI-DEV and MR-MPS-SW. Method: We (i) conducted a systematic mapping study to identify potential risks sources in Brazilian SPI-related literature and (ii) performed a qualitative analysis of selected articles using coding procedures and thematic analysis. Results: From 86 articles discussing SPI-related problems we were able to identify 17 risk categories, or top-level risks, that might affect software development maturity models deployment. These 17 risk categories are decomposed on 135 first level risks. Each risk is associated to possible causes, consequences and events. Among the most critical risk categories identified are: inadequate process definition, lack of support or commitment, lack of human resources, resistance to SPI initiative and lack of knowledge.

Eliezer Dutra, Gleison Santos
Model-Driven Development for Multi-platform Mobile Applications

In this paper, we propose an approach for the model-driven development of portable applications that use native device features. A model is based on a finite-state machine which specifies GUIs, transitions and data-flow among application screens. The source code is generated starting from that model. The state application logic is described by JavaScript. The approach has been developed within an integrated development environment.

Rita Francese, Michele Risi, Giuseppe Scanniello, Genoveffa Tortora
SINIS: A Method to Select Indicators for IT Services

Measurement initiatives support organizations in the control, management and improvement of their processes, products and services. IT services literature suggests proper identification of critical business processes and definition of relevant indicators to support decision-making. However, there is no clear direction about what should be the critical business processes and indicators. Moreover, most organizations consider indicators selection a difficult task. In this paper, we present SINIS, a method that supports the selection of indicators for IT services measurement. The research question that guided this work is: “How to support selection of IT services indicators at different levels and aligned with organizational goals?” We have conducted a case study in industry and the results showed that SINIS can be used to support IT service measurement. However, evidence suggests that it is still hard for organizations to define strategies and indicators to monitor and improve critical processes.

Bianca Trinkenreich, Gleison Santos, Monalessa Perini Barcellos

Requirements, Features, and Release Management

Frontmatter
Requirement Prioritization with Quantitative Data - A Case Study

Feature content in system releases tends to be prioritized using limited amounts of qualitative user input and based on the opinions of those in product management. This leads to several problems including the wasteful allocation of R&D resources. In this paper, we present the results of our efforts to collect quantitative customer input before the start of development using a mock-up for a mobile application developed by Sony Mobile Communications Inc. Our research shows that (1) product managers change their prioritization when quantitative data is presented to them; (2) product managers change their prioritization which is converged to the prioritization indicated by the quantitative data (3) the quantitative data is regarded as beneficial by the product managers.

Enrico Johansson, Daniel Bergdahl, Jan Bosch, Helena Holmström Olsson
A Method for Requirements Capture and Specification Based on Disciplined Use Cases and Screen Mockups

We present a novel method for capturing and writing requirements specifications that enriches disciplined use cases with screen mockups. Disciplined use cases are characterized by a quite stringent template, which allows to impose a large number of constraints helping to prevent common mistakes and to increase the quality of the specifications. Disciplined use cases are expressed using natural language, but the strong structuring allows to reach a good level of precision without having to introduce new (and more complex) notations. Screen mockups associated with the steps of the scenarios present the corresponding GUIs as seen by the human actors before/after the step executions, improving the comprehension of the requirements, and allowing also to precisely present non-functional requirements of the user interface. The method has been successfully applied in an industrial project and the effectiveness of the screen mockups has been validated by means of controlled experiments.

Gianna Reggio, Maurizio Leotta, Filippo Ricca
A Case Study on Artefact-Based RE Improvement in Practice

Background: Most requirements engineering (RE) process improvement approaches are solution-driven and activity-based. They focus on the assessment of the RE of a company against an external norm of best practices. A consequence is that practitioners often have to rely on an improvement approach that skips a profound problem analysis and that results in an RE approach that might be alien to the organisational needs. Objective: In recent years, we have developed an RE improvement approach (called ArtREPI) that guides a holistic RE improvement against individual goals of a company putting primary attention to the quality of the artefacts. In this paper, we aim at exploring ArtREPI’s benefits and limitations. Method: We contribute an industrial evaluation of ArtREPI by relying on a case study research. Results: Our results suggest that ArtREPI is well-suited for the establishment of an RE that reflects a specific organisational culture but to some extent at the cost of efficiency resulting from intensive discussions on a terminology that suits all involved stakeholders. Conclusions: Our results reveal first benefits and limitations, but we can also conclude the need of longitudinal and independent investigations for which we herewith lay the foundation.

Daniel Méndez Fernández, Stefan Wagner

Practices of Modern Development Processes

Frontmatter
Artefacts in Agile Software Development

Agile software development methods prefer limited use of artefacts. On the basis of existing artefact models and results from three case studies we present a Scrum artefact model. In this model we notice teams using Scrum artefacts, but they, in addition, decided to produce various non-Scrum artefacts, most notably design documents, test plans and user or release related materials.

Gerard Wagenaar, Remko Helms, Daniela Damian, Sjaak Brinkkemper
Is Water-Scrum-Fall Reality? On the Use of Agile and Traditional Development Practices

For years, agile methods are considered the most promising route toward successful software development, and a considerable number of published studies the (successful) use of agile methods and reports on the benefits companies have from adopting agile methods. Yet, since the world is not black or white, the question for what happened to the traditional models arises. Are traditional models replaced by agile methods? How is the transformation toward Agile managed, and, moreover, where did it start? With this paper we close a gap in literature by studying the general process use over time to investigate how traditional and agile methods are used. Is there coexistence or do agile methods accelerate the traditional processes’ extinction? The findings of our literature study comprise two major results: First, studies and reliable numbers on the general process model use are rare, i.e., we lack quantitative data on the actual process use and, thus, we often lack the ability to ground process-related research in practically relevant issues. Second, despite the assumed dominance of agile methods, our results clearly show that companies enact context-specific hybrid solutions in which traditional and agile development approaches are used in combination.

Georgios Theocharis, Marco Kuhrmann, Jürgen Münch, Philipp Diebold
Tickets Without Fine
Artifact-Based Synchronization of Globally Distributed Software Development in Practice

Global software development projects are characterized by the collaboration of team members that are distributed among different locations and belong to different organizations. They bear their own specific challenges, especially if combined with an agile approach, so that established development processes might become inappropriate. Based on the experience with a real life industrial project involving organizations from India and Germany, we explain how the systematic design and implementation of an artifact-based and ticket-driven process can foster process conformance, transparency, and communication, and thus help to overcome these challenges.

Masud Fazal-Baqaie, Marvin Grieger, Stefan Sauer
Ontology-Based Identification of Commonalities and Variabilities Among Safety Processes

Safety standards impose requirements on the process used to develop safety-critical systems. For certification purposes, manufacturers have to properly interpret and meet these requirements, which exhibit commonalities and variabilities. However, since different terms are used to state them, the comparative work aimed at manually identifying and managing these commonalities and variabilities is hard, time-consuming, and costly. In this paper, we propose to solve this problem by creating ontology-based models of safety standards and automate the comparative work. Then, we show how the result of this comparative study can be exploited to semi-automate the generation of safety-oriented process line models. To illustrate our solution, we apply it to portions of ISO 26262 and EN 50126. Finally, we draw our conclusions and future work.

Barbara Gallina, Zoltán Szatmári

Human Factors in Modern Software Development

Frontmatter
What Motivates Software Engineers Working in Global Software Development?

Context: Working in a distributed environment poses new challenges to software engineer motivation.Problem: Where should global project managers focus their efforts so that they have the best chance of motivating their teams, for higher staff retention, increased productivity and improved software quality?Method: We asked a group of software engineers attending a workshop on global collaboration to complete a survey on software engineer motivation. We then identified motivation themes in the responses. Finally, we mapped these themes to software engineer motivators identified in previous research.Results: Thirteen participants completed the survey. Analysis of the results yielded 27 motivation categories. The vast majority (23 of 27) were partially or wholly mapped to Intrinsic motivators.Implications: We conclude that Global Software Development projects that relegate some teams to performing routine tasks (such as maintenance or testing) will experience lower productivity and quality due to demotivation. Finally, we hypothesize that GSD introduces new motivators, such as opportunities to travel and interact with different cultures.

Sarah Beecham, John Noll
Empower a Team’s Product Vision with LEGO® SERIOUS PLAY®

This paper investigates how software development teams and their products can be influenced by the use of service design tools. More specifically, a case study incorporating LEGO® SERIOUS PLAY® workshops was conducted in collaboration with Steeri Oy, a company that develops customer relationship software. Two workshops were held with two different software development teams, with the aim of creating a shared vision of the product within the team. The workshops provided the teams with many new insights into their product’s problems and opportunities, a common language of metaphors with which to communicate, and a holistic view of the product, including their role in the system. These LEGO SERIOUS PLAY workshops, as examples of a service design tool in use, illustrate their value in unlocking valuable insights and team potential.

Danielle Pichlis, Stefanie Hofemann, Mikko Raatikainen, Juho Sorvettula, Calle Stenholm
Early Product Design in Startups: Towards a UX Strategy

Startups often begin with minimal product versions to test and validate their product ideas as early as possible. Therefore, the first versions of the product need to be able to communicate the product idea to users in order to receive meaningful feedback. However, if user experience (UX) of the product is poor, users tend to concentrate on the disturbing user interface instead of the actual product idea. Thus, we suggest that startups should have a UX strategy from the beginning in order to understand their goals related to UX at different stages of product maturity. To this end, we conducted an interview study with eight Finland-based startups and 13 participants. Our results contribute towards understanding both needs for early UX design in startups as well as the restrictions for UX work that the scarce resources of startups induce. This work contributes to creating a UX strategy model for startups.

Laura Hokkanen, Kati Kuusinen, Kaisa Väänänen

Effort and Size Estimation Validated by Professionals

Frontmatter
An Empirical Study on Memory Bias Situations and Correction Strategies in ERP Effort Estimation

An Enterprise Resource Planning (ERP) project estimation process often relies on experts of various backgrounds to contribute judgments based on their professional experience. Such expert judgments however may not be bias-free. De-biasing techniques therefore have been proposed in the software estimation literature to counter various problems of expert bias. Yet, most studies on de-biasing focus on systematic bias types such as bias due to interdependence, improper comparisons, presence of irrelevant information, and awareness of clients’ expectations. Little has been done to address bias due to experts’ memory. This is surprising, knowing that memory bias retrieval and encoding errors are likely to affect the estimation process outcome. This qualitative exploratory study investigates the memory bias situations encountered by ERP professionals, and the possible coping strategies to problems pertaining to those situations. Using interviews with 11 practitioners in a global ERP vendor’s organization, we explicate how experts retrieve and encode stored memory, what kind of errors they experience along the way, and what correction techniques they were using. We found that both errors due to memory retrieval and due to memory encoding seemed to lead to project effort underestimation. We also found that the most common memory correction strategy was the use of mnemonics.

Pierre Erasmus, Maya Daneva
Applying a Verification Protocol to Evaluate the Accuracy of Functional Size Measurement Procedures: An Empirical Approach

This paper presents a verification protocol for analyzing the source of inaccuracy in measurement activities of Function Points Analysis (FPA) and Automated Function Point (AFP). An empirical study was conducted with the protocol to determine the accuracy of FPA and AFP, and common differences during their application. The empirical study was conducted and differences between the measurement process regarding accuracy, reproducibility, and protocol adoption properties were reported. Effectiveness of the verification protocol to evaluate functional size measurement procedures was provided. The application of the protocol enabled participants to identify differences and their causes between counting results in a systematic way. Many participants had a favorable opinion regarding the usefulness of the protocol, and most of them agreed that the application of this protocol improved their understanding of measurement methods.

Christian Quesada-López, Marcelo Jenkins
From Function Points to COSMIC - A Transfer Learning Approach for Effort Estimation

Software companies exploit data about completed projects to estimate the development effort required for new projects. Software size is one of the most important information used to this end. However, different methods for sizing software exist and companies may require to migrate to a new method at a certain point. In this case, in order to exploit historical data they need to resize the past projects with the new method. Besides to be expensive, resizing is also often not possible due to the lack of adequate documentation. To support size measurement migration, we propose a transfer learning approach that allows to avoid resizing and is able to estimate the effort of new projects based on the combined use of data about past projects measured with the previous measurement method and projects measured with the new one. To assess our proposal, an empirical analysis is carried out using an industrial dataset of 25 projects. Function Point Analysis and COSMIC are the measurement methods taken into account in the study.

Anna Corazza, Sergio Di Martino, Filomena Ferrucci, Carmine Gravino, Federica Sarro

Empirical Generalization

Frontmatter
Investigating Functional and Code Size Measures for Mobile Applications: A Replicated Study

In this paper we apply a measurement procedure proposed by van Heeringen and van Gorp to approximate the COSMIC size of mobile applications. We compare this procedure with the one introduced by D’Avanzo et al. We also replicate an empirical study recently carried out to assess whether the COSMIC functional size of mobile applications can be used to estimate the size of the final applications in terms of lines of code, number of bytes of the source code and bytecode. The results showed that the COSMIC functional size evaluated with van Heeringen and van Gorp’s method was well correlated to all the size measures taken into account. Nevertheless, the prediction accuracy did not satisfy the evaluation criteria and turned out ot be slightly worse than the one obtained in the original study and based on the approach proposed by D’Avanzo et al.

Filomena Ferrucci, Carmine Gravino, Pasquale Salza, Federica Sarro
Defining Continuous Planning Through a Multiple-Case Study

New and innovative approaches that support continuous development and planning throughout organisations are needed. Continuity is required in all levels of an organisation, from business strategy and planning to software development and operational deployment, as well as between these levels. Continuous planning is one of these activities. However, continuous planning is not commonly adopted and applied throughout organisations and currently involves only a certain level of planning, e.g., release planning. Based on the current literature, continuous planning is a relatively new and not yet fully studied field of research. To augment the knowledge relating to continuous planning, this paper presents a multiple-case study in which the various levels of planning, along with their timeframes, are explored. The research results point out the key activities, as well as the bottlenecks, of continuous planning.

Tanja Suomalainen
Issue Dynamics in Github Projects

Issue repositories are used to keep of track of bugs, development tasks and feature requests in software development projects. In the case of open source projects, everyone can submit a new issue in the tracker. This practice can lead to situations where more issues are created than what can be effectively handled by the project members, raising the question of how issues are treated as the capacity of the project members is exceeded. In this paper, we study the temporal dynamics of issues in a popular open source development platform, namely Github, based on a sample of 4000 projects. We specifically analyze how the rate of issue creation, the amount of pending issues, and their average lifetime evolve over the course of time. The results show that more issues are opened shortly after the creation of a project repository and that the amount of pending issues increases inexorably due to forgotten (unclosed) issues. Yet, the average issue lifetime (for issues that do get closed) is relatively stable over time. These observations suggest that Github projects have implicit mechanisms for handling issues perceived to be important to the project, while neglecting those that exceed the project’s capacity.

Riivo Kikas, Marlon Dumas, Dietmar Pfahl
Studying the Effect of UML-Based Models on Source-Code Comprehensibility: Results from a Long-Term Investigation

In this paper, we present final results of our long-term investigation whose goal was to study the contribution of software models on source-code comprehensibility. In this investigation we considered unified modeling language (UML) models produced in the analysis and design phases, and we conducted 12 controlled experiments in different contexts with different kinds of participants (e.g., PhD students and software practitioners). The total number of observations from these experiments was 333. We considered both source-code comprehensibility and the time to complete comprehension tasks. We use a meta-analysis to integrate gathered data and to obtain a global effect of analysis and design models on source-code comprehensibility. Results suggest that the use of UML models affects source-code comprehensibility, but in two opposite directions. In particular, models produced in the analysis phase reduce source-code comprehensibility and increase the time to complete comprehension tasks, while models produced in the design phase improve source-code comprehensibility and reduce the time to complete comprehension tasks.

Giuseppe Scanniello, Carmine Gravino, Genoveffa Tortora, Marcela Genero, Michele Risi, José A. Cruz-Lemus, Gabriella Dodero
Source Code Driven Decomposition of Object-Oriented Legacy Systems
A Systemic Literature Review and Research Outlook

Many enterprise applications have been developed over the last three decades therefore known as legacy systems. Usually they are monolith, inflexible, poorly documented and hard to maintain, however they are important to enterprises. The evolution of these systems depends on their decomposability. The purpose of this paper is to summarize existing knowledge, requirements and limitations for object-oriented legacy system decomposition based on systematic literature review. The investigation is performed as a part of the university-industry collaboration research project.

Inese Supulniece, Solvita Berzisa, Inese Polaka, Janis Grabis, Egils Meiers, Edgars Ozolins
On the Use of Safety Certification Practices in Autonomous Field Robot Software Development: A Systematic Mapping Study

Robotics has recently seen an increasing development, and the areas addressed within robotics has extended into domains we consider safety-critical, fostering the development of standards that facilitate the development of safe robots. Safety standards describe concepts to maintain desired reactions or performance in malfunctioning systems, and influence industry regarding software development and project management. However, academia seemingly did not reach the same degree of utilisation of standards. This paper presents the findings from a systematic mapping study in which we study the state-of-the-art in developing software for safety-critical software for autonomous field robots. The purpose of the study is to identify practices used for the development of autonomous field robots and how these practices relate to available safety standards. Our findings from reviewing 49 papers show that standards, if at all, are barely used. The majority of the papers propose various solutions to achieve safety, and about half of the papers refer to non-standardised approaches that mainly address the methodical rather than the development level. The present study thus shows an emerging field still on the quest for suitable approaches to develop safety-critical software, awaiting appropriate standards for this support.

Johann Thor Mogensen Ingibergsson, Ulrik Pagh Schultz, Marco Kuhrmann

Software Reliability and Testing in Industry

Frontmatter
A Process for Risk-Based Test Strategy Development and Its Industrial Evaluation

Risk-based testing has a high potential to improve the software test process as it helps to optimize the allocation of resources and provides decision support for the management. But for many organizations the integration of risk-based testing into an existing test process is a challenging task. An essential first step when introducing risk-based testing in an organization is to establish a risk-based test strategy which considers risks as the guiding factor to support all testing activities in the entire software lifecycle. In this paper we address this issue by defining a process for risk-based test strategy development and refinement. The process has been created as part of a research transfer project on risk-based testing that provided the opportunity to get direct feedback from industry and to evaluate the ease of use, usefulness and representativeness of each process step together with five software development companies. The findings are that the process is perceived as useful and moderately easy to use, i.e., some steps involve noticeable effort. For example, the effort for impact estimation is considered high, whereas steps that can be based on existing information are perceived as easy, e.g., deriving probability estimates from established defect classifications. The practical application of the process in real-world settings supports the representativeness of the outcome.

Rudolf Ramler, Michael Felderer
Focused Inspections to Support Defect Detection in Automation Systems Engineering Environments

[Context] In Automation Systems Engineering (ASE) Environments, engineers coming from different disciplines, have to collaborate. Individual engineers, e.g., from electrical, mechanical, or software domains, apply domain-specific tools and related data models that hinder efficient collaboration due to limited capabilities for interaction and data exchange on technical and semantic level. Manual activities are required to synchronize planning data from different disciplines and can raise additional risks caused by defects and/or changes that cannot be identified efficiently. [Objective] Main objective is to improve (a) engineering processes by providing efficient data exchange mechanism and to support (b) defect detection performance in ASE environments. [Method] Software inspections (SI) are commonly used by engineers in Software Engineering (SE) by applying well-defined approaches to systematically identify defects early in the development process. In this paper we adapt the traditional SI process for application in ASE environments and provide a software tool to support frequent synchronization and focused reviews. We evaluate and discuss the adapted process in an industry context. [Results] Main results were that the adapted process and the software tool can be useful in the application context in order to identify defects early, increase overall product quality, and improve engineering processes in the ASE domain. [Conclusion] The proposed adapted inspection approach showed promising results to improve ASE projects.

Dietmar Winkler, Stefan Biffl
A Field Study on the Elicitation and Classification of Defects for Defect Models

Background: Defect models capture faults and methods to provoke failures. To integrate such defect models into existing quality assurance processes, we developed a defect model lifecycle framework, in which the elicitation and classification of context-specific defects forms a crucial step. Although we could gather first insights from its practical application, we still have little knowledge about its benefits and limitations. Objective: We aim at qualitatively analyzing the context-specific elicitation and classification of defects to explore the suitability of our approach for practical application. Method: We apply case study research in multiple contexts and analyze (1) what kind of defects we can elicit and the degree to which the defects matter to a context only, (2) the extent to which it leads to results useful enough for describing and operationalizing defect models, and (3) if there is a perceived additional immediate benefit from a practitioner’s perspective. Results: Our results strengthen our confidence on the suitability of our approach to elicit defects that are context-specific as well as context-independent. Conclusions: We conclude so far that our approach is suitable to provide a blueprint on how to elicit and classify defects for specific contexts to be used for the improvement of quality assurance techniques.

Dominik Holling, Daniel Méndez Fernández, Alexander Pretschner

Workshop on Processes, Methods and Tools for Engineering Embedded Systems

Frontmatter
Performance Engineering for Industrial Embedded Data-Processing Systems

Performance is a key aspect of many embedded systems, embedded data processing systems in particular. System performance can typically only be measured in the later stages of system development. To avoid expensive re-work in the final stages of development, it is essential to have accurate performance estimations in the early stages. For this purpose, we present a model-based approach to performance engineering that is integrated with the well-known V-model for system development. Our approach emphasizes model accuracy and is demonstrated using five embedded data-processing cases from the digital printing domain. We show how lightweight models can be used in the early stages of system development to estimate the influence of design changes on system performance.

Martijn Hendriks, Jacques Verriet, Twan Basten, Marco Brassé, Reinier Dankers, René Laan, Alexander Lint, Hristina Moneva, Lou Somers, Marc Willekens
Fault-Prone Byte-Code Detection Using Text Classifier

Researchers have studied approaches to detect fault-prone modules for a long time. As one of these approaches, we proposed an approach using a text filtering technique. In this approach, we assume that faults relate to words and contexts in a software module. Our technique accepts inputs as a text information. Based on a dictionary that was learned by classifying modules that induce faults, the fault inducing probability over a target module is calculated, and it judges whether the given module is a fault-prone module.Although our approach targeted the source code of software, especially in embedded software, the analysis of byte-code is also required. The source code based fault detection suffered from noises such as the way of writing, the used name of identifiers, and so on. Eliminating such noises may improve the accuracy of prediction. In this study, we aimed at fault detection from the byte-code of Java. Specifically, we tried to detect faults from the dis-assembled intermediate code of Java class file. To show the effectiveness of our approach, we conducted an experiment and compared our approach with source code based approach.

Tsuyoshi Fujiwara, Osamu Mizuno, Pattara Leelaprute
Variability Management Strategies to Support Efficient Delivery and Maintenance of Embedded Systems

Software intensive organisations that are able to efficiently handle product variability can reach competitive advantage by shorter development lead times, improved customer satisfaction, and reduced costs of product management. Improved reusability and flexibility, combined with variability strategies can provide companies mechanisms to offer new product variants fast to customers. Especially for long living embedded systems, it is essential to effectively maintain the delivered systems and keep maintenance costs at reasonable level. This paper describes a case study in which three industrial product development projects were studied in order to understand which variability strategies were implemented in their specific variability context. Results indicate that variability challenges and selected variability strategies depend both on the product platform maturity, as well as, the project development model. However, variability strategy needs continuous evaluation during the product lifecycle.

Susanna Teppola, Päivi Parviainen, Jari Partanen, Petri Kettunen
Using Cross-Dependencies During Configuration of System Families

Nowadays, the automotive industry uses software product lines to support the management and maintenance of software variants. However, the development of mechatronic systems includes not merely software, but also other system parts like operating system, hardware or even mechanical parts. We call a combination of these system parts a system family (SF). This combination raises the question how different variable system parts can be modeled and used for a combined configuration in a flexible way. We argue that a modeling process should combine all of these system parts, while the product configuration has to consider dependencies between them. Based on our previous work, we address this question and discuss dependencies between different system parts.

Christopher Brink, Philipp Heisig, Sabine Sachweh

Workshop on Human Factors in Software Development Processes

Frontmatter
Toward a Meta-Ontology for Accurate Ontologies to Specify Domain Specific Experiments in Software Engineering

Background: Experiments have been conducted in many domains of software engineering (SE). Objective: This paper presents a meta-ontology containing the common concepts present in any SE experiment. This meta-ontology aims at simplifying the proposition of accurate domain specific ontologies for the SE experiments. Method: The paper presents results of an exploratory study that proposes a general ontologyS and its specialization for the domain of coding experiments. Besides, we present how this domain specific ontology specifies a real experiment. Results: The ontology for coding experiments was modeled with few elements. Moreover, it focused only on elements specific to the coding activities. Conclusions: Our meta-ontology facilitates the development of a domain specific ontology in SE, however more research is necessary to evaluate our meta-ontology in other domains of SE.

Waldemar Ferreira, Maria Teresa Baldassarre, Sergio Soares, Giuseppe Visaggio
A Qualitative Empirical Study in the Development of Multi-platform Mobile Applications

We propose a qualitative study to assess an approach devised for model-driven development of portable applications that use native device features. A model is based on a finite-state machine which specifies a GUI and transitions and data-flow among application screens. We developed our approach in an integrated development environment. Both the approach and the environment have been empirically assessed through a qualitative study with low experienced developers. Participants in this study appreciated solutions we developed.

Rita Francese, Michele Risi, Giuseppe Scanniello, Genoveffa Tortora
If Usability Evaluation and Software Performance Evaluation Shook Their Hands: A Perspective

The success of interactive systems depends on a variety of factors, including usability and system performances. The balance of these factors is more ideal than a practice, since traditionally these issues have been addressed by two distinct communities – Human-Computer Interaction and Software Engineering – using different processes, methods and tools. Consequently, the traditional approach is to separately address human performances and system performances. We argue that results from early-cycle system performance evaluation should be exploited by interaction designers to produce “performance-informed” design iteration, then leading to a performance-aware self-adaptive interaction environment, according to a vision bridging the two communities.

Tania Di Mascio, Laura Tarantino, Giovanni De Gasperis
Quantitative Metrics for User Experience: A Case Study

Improving the human aspects of the software product development requires to take into account the users. This can be done in several ways; here we investigate ways to involve them directly during the first phases of prototypical development. To this aim, rigorously constructed and validated questionnaires can help researchers, designers and developers in collecting opinions and feedback of users to inform design choices and implementation plans. We present a revised Italian version of a standard questionnaire that allows to measure with little effort both the overall User Experience of a product and the Workforce Experience. The idea is that both components are tightly intertwined and can affect each other. The questionnaire was adopted and tested to verify the quality of the redesign interventions on a working tool of an Italian Tour Operator. Results encourage the team to increasingly apply the questionnaire in other projects to collect feedback about users impressions.

Roberta Capellini, Francesca Tassistro, Rossana Actis-Grosso
Evaluating Mobile Malware by Extracting User Experience-Based Features

The perception the user has about the performances of an application could determine the success of the application in the marketplace. The research community has made many efforts to understand out how to measure the user experience of mobile applications. In this paper we apply a set of features, typically used to evaluate mobile user experience (UX), with the aim at understanding whether there are differences in terms of usability between trusted and malware mobile samples. As a side effect we evaluate whether the feature set is useful to discriminate mobile malware. The experiment suggests that malware samples exhibit a better UX than legitimate ones. Furthermore we obtain, training several classifiers from UX-based features, a precision of 0.97 in malware identification.

Francesco Mercaldo, Corrado Aaron Visaggio
Information System Software Development with Support for Application Traceability

Information systems are rapidly changing since new requirements are emerging frequently in business processes. When incorporating changes in the system you should not underestimate the usability and personal satisfaction of the user. There are many variables that influence the success of evolving an information system from the user’s viewpoint. In this paper we outline the problem of information system traceability, the ability of users to verify the history of information system and with that a possibility to check the differences between information system’s versions. Unfortunately, most of the systems support traceability only at the level of the document. The novel approach presented in this paper is integrated within WISL, using our information system generator, and supports versioning control inside information systems. WISL introduces application traceability at the level of information systems’ domain concepts which deliver versioning information to the users in a seamless manner.

Vojislav Đukić, Ivan Luković, Matej Črepinšek, Tomaž Kosar, Marjan Mernik
Characterising Users Through an Analysis of On-line Technical Support Forums

Users of software systems need support. When users choose to go directly to online forums rather than report issues to the source of the problem, the development organization loses out in terms of gathering information on where their systems could be improved, and can lose customer loyalty and goodwill. This in turn will have a negative effect on future sales and system enhancements.The objective of this study is to examine online forums in order to characterize technical support (TS) users, and create a framework that allows commercial organizations (and other interested parties) to identify types of users and how best to address their needs.One hundred and sixteen threads (3,064 messages) from eight online open source forums were analysed using a grounded theory approach. Also the literature on human factors, and personalisation was examined to elicit information on how people can be categorized.We found that users of TS systems can be grouped according to their level of expertise and what they value. Additionally we identified characteristics of the communication handling process that influence desirable and undesirable outcomes.The contribution of this research is an empirically derived framework that identifies TS users according to groups of characteristics. We hypothesise that a user will be more satisfied when the TS service provider recognises concepts such as what they personally value, their level of expertise and how best to manage emotions.

Solomon Gizaw, Jim Buckley, Sarah Beecham
Software Developers as Users: Developer Experience of a Cross-Platform Integrated Development Environment

Software development is professional activity that demands a plethora of skills and qualities from the developer. For instance, developers need technical skills to create the code that implements the running software and social skills to be able to collaborate with peer developers and with various stakeholders. Development is an endeavor towards building complex systems that realize user and business requirements in technologically sophisticated manner. Considering the challenges of software development, developer experience is a highly unstudied topic. Developers are users of multifaceted development tools such as integrated development environments. Yet, little is known of how to support developers in their demanding tasks. This paper presents early results towards increasing the understanding of developer experience in order to enable improvement of development tools to better support software developers in their activities. We present qualitative results of a survey study with 45 developers from 21 countries considering developers’ perception of a particular integrated development environment.

Kati Kuusinen

Workshop on Software Startups: State of the Art and State of the Practice

Frontmatter
Ways to Cross the Rubicon: Pivoting in Software Startups

Startup, or a potential company looking for form and repeatable, scalable business model, has become an advocated mechanism for embracing high ambition, innovativeness, and growth. The success of a startup is often related to the time it takes the startup to develop their business model. When the entire business is based on extreme uncertainty the main business hypothesis of the business model must be continuously tested and improved. This main business hypothesis can be split into smaller business hypotheses and when one of these business hypotheses proves to be false, a change in the direction of the company – so-called pivot – must be considered. Readily made approaches exist to accomplish this, including in particular the Lean Startup framework, that aims at iteratively developing, experimenting, and validating business hypotheses. In this paper study how pivots can change business hypotheses shown as a segments in Lean Model Canvas, a strategic management tool for developing nbusiness models. As an empirical contribution, we describe this definition of pivots with three case companies – all small software startups from Tampere region, Finland – and map the pivot effects on the business hypotheses. We found out that the pivots can be identified by changes in the Lean Model Canvas, that pivots typically take place in groups, and that comprehensive pivots happen early in the startup’s life, whereas once the business model is clarified, fine-tuning is more likely to take place.

Henri Terho, Sampo Suonsyrjä, Aleksi Karisalo, Tommi Mikkonen
On the Feasibility of Startup Models as a Framework for Research on Competence Needs in Software Startups

Background—Until recently, mainstream research on software engineering targeted software development in established companies. However, startup companies have become more important in developing new software-intensive products and services. Consequently, research focusing on software startups has emerged. Understanding competence needs during the evolution of a software startup company is crucial to its success. Competence needs are, however, a difficult topic to study because software startups are rapidly and constantly changing. Aim—This paper presents the preliminary results of our on-going research on competence needs in software startups, compares them to the startup models identified in the recent literature, and figures out the feasibility of the models as a research framework. Method—We interview key persons from nine software startup companies in three European countries. From the interview material, we identify characteristics of competence needs. We investigate the recent literature models created for software startups. We then compare our empirical findings to the models identified in the literature and conclude with the feasibility of the models as a framework for the future research. Result—The results of our preliminary study indicate a need for a new startup model that combines aspects of the existing models in order to get a comprehensive framework for the research of competence needs in software startups.

Pertti Seppänen, Kari Liukkunen, Markku Oivo
Towards a Software Tool Portal to Support Startup Process

Despite their popularity and growth, startups still face many challenges to keep survived in highly dynamic and turbulent environments. With limited time and resources, they must develop products or services that solve real problems. Today, various software tools have been provided to help entrepreneurs to tackle these challenges and speed up their processes. However, how to effectively find and use these tools are not clearly understood either by entrepreneurs or in literature. The purpose of this research-in-progress paper is to apply design science principles to develop a software tool portal to support the startup processes. The initial results reveal the need of tool recommendation as part of software the portal for entrepreneurs to find the right tools effectively in order to meet their specific needs.

Henry Edison, Dron Khanna, Sohaib Shahid Bajwa, Valery Brancaleoni, Luca Bellettati
What Can Software Startuppers Learn from the Artistic Design Flow? Experiences, Reflections and Future Avenues

[Context and motivation] Startups are one of the most important economic drivers in today’s economy. The high failure rates have not discouraged communities, cities or universities from investing in startup ecosystems. We know that the great majority of startups today are software based. [Problem] It is equally well acknowledged that the early stage concept design and validation plays a key role in getting the first customers and ultimately attracting funding for the survival and possible success of a startup. Very little research, however, exists to support starttuppers in developing their early-stage ideas into concepts efficiently. [Results and contribution] This paper aims contributing to this gap by studying the artistic design flow and the tools utilized by architects, industrial designers and artists, and as a result proposes concrete ways to improve the current state-of-practice. However, it is argued that borrowing techniques, approaches and ideas will not be sufficient, and a change in software education culture is required.

Juhani Risku, Pekka Abrahamsson
Designing a Maturity Model for Software Startup Ecosystems

Resulting from the technological revolution from the last decades, we observed many software startup ecosystems emerging around the globe. Having tech entrepreneurs as their main agents, some ecosystems exist for more than 50 years, while others are newly born. This difference in terms of evolution and maturity makes the task of comparing different tech hubs a challenge. Moreover, nascent ecosystems need a clear vision of how to develop their community to evolve towards a fruitful and sustainable ecosystem. This paper proposes a maturity model for software startup ecosystems based on a multiple case study of two existing ecosystems. By determining the maturity level for each ecosystem, it is possible not only to compare different realities, but mainly to identify gaps and propose customized practical actions that can lead to real improvements in the existing ecosystems, taking it to the next level of development, promoting innovation.

Daniel Cukier, Fabio Kon, Norris Krueger
A Conceptual Framework of Lean Startup Enabled Internal Corporate Venture

It has been perceived that innovation has been dominated by startups and new small companies whereas large companies struggle with balancing the challenges of operational excellence and product innovativeness. Internal corporate venturing has been promoted as one way to foster radical innovation in corporation. Lean startup suggests that internal corporate venturing can be managed through engineering science, which can be taught. However, the importance of the learning gained by small innovative and entrepreneurial teams has yet to be fully conveyed to the whole organisations. To investigate this complex phenomenon, a conceptual framework combining internal corporate venture and Lean startup has been developed based on the literature review. The framework will serve as a theoretical lens to collect and analyse empirical evidence through a multiple case study approach. It enables a better understanding of the potential benefits and challenges of practising Lean startup in large companies.

Henry Edison
Backmatter
Metadaten
Titel
Product-Focused Software Process Improvement
herausgegeben von
Pekka Abrahamsson
Luis Corral
Markku Oivo
Barbara Russo
Copyright-Jahr
2015
Electronic ISBN
978-3-319-26844-6
Print ISBN
978-3-319-26843-9
DOI
https://doi.org/10.1007/978-3-319-26844-6