ICSSP 2017
2017 International Conference on Software and Systems Process (ICSSP)
Powered by
Conference Publishing Consulting

2017 International Conference on Software and Systems Process (ICSSP), July 5–7, 2017, Paris, France

ICSSP 2017 – Proceedings

Contents - Abstracts - Authors

Frontmatter

Title Page


Message from the Chairs
Welcome to the International Conference on Software and System Processes (ICSSP) 2017 held in Paris, France, between July 5th and 7th, 2017. The ICSSP conference, continuing the success of the Software Process Workshop (SPW), the Workshop on Software Process Simulation Modeling (ProSim) and the International Conference on Software Process (ICSP) conference series, has become an established premier event in the field of software and systems engineering processes in collaboration with ACM/SIGSOFT. It provides a leading forum for the exchange of academic research results and industrial best-practices in process development and evolution on software and systems disciplines. ICSSP 2017 celebrates the ten-year anniversary of the conference series.

ICSSP 2017 Organization
Committee listings

ICSSP 2017 Sponsors and Supporters
The sponsors of ICSSP 2017 appear in the home page of the conference:
http://icssp-conferences.org/

Invited Talks

Software Productivity Decoded: How Data Science Helps to Achieve More (Keynote)
Thomas Zimmermann
(Microsoft Research, USA)
Many companies are looking into understanding and improving productivity of individual software developers as well as software teams. In this talk, I will motivate the need for data analytics in software teams and describe how data scientists work in a large software companies helping software teams to infer actionable insights. I will then show how data from software development can be used to learn more about the productivity of organizations, teams, and individuals and help them to become more effective in building software.

Software Engineering for Connected Health (Journal First Session)
Noel Carroll, Craig Kuziemsky, and Ita Richardson
(Lero, Ireland; University of Limerick, Ireland; University of Ottawa, Canada)
Healthcare demands are making it harder to deliver timely and safe quality care. However, connected health solutions can support this. This Journal First session presents three papers which discuss the role of software engineering in connected health.

Systems and Software Process Traceability

Improving Traceability Management through Tool Integration: An Experience in the Automotive Domain
Domenico Amalfitano, Vincenzo De Simone, Anna Rita Fasolino, and Stefano Scala
(Federico II University of Naples, Italy; Fiat Chrysler Automobiles, Italy)
Despite the relevance of traceability in software processes is well-known, the activities of traceability creation and management are not always adequately supported in real software projects. The lack of integration between the tools adopted in the development processes is one of the main causes of such an ineffective management, where traceability relationships are still manually generated and maintained. In this paper we present an industrial experience we performed for improving the traceability management in a software development process performed in Fiat Chrysler Automobiles FCA company. We designed a software architecture for integrating the existing Application Lifecycle Management (ALM) platform with the tools used in the testing process. The architecture aimed at fully automating the execution of the testing process and at automatically generating the appropriate traceability links when they are established. It was implemented using a Continuous Integration Engine that allowed us to develop a modular, evolvable and reconfigurable integration architecture. The new architecture was validated by an experiment that showed its capability in correctly and completely generating and handling traceability links between artifacts involved in the testing process. The experiment demonstrated that the integration solution produced also beneficial effects on other quality attributes of the process.

Mining Collaboration Patterns of Software Development Processes Based on Trace Alignment
Dongjin Yu and Jiaojiao Wang
(Hangzhou Dianzi University, China)
Developing large-scale software usually involves the interaction of a great number of engineers over a long period. To discover the collaboration patterns from developing logs helps improve the software development processes. Traditional techniques of process mining can be employed to identify such patterns. Unfortunately, due to the high uncertainty of software development process, they tend to obtain “spaghetti” models which are difficult to comprehend or even misleading. As a remedy, in this paper we propose an approach to the discovery of collaboration patterns existing in software development process by aligning development logs. It considers not only the sequence of activities, but also the collaboration of actors who perform activities. Instead of using time-consuming graph mining techniques, it employs the trace alignment, which is much more straightforward. Moreover, unlike some traditional approaches, the discovered patterns are determined because we do not depend on the mined process model that is usually uncertain due to the unstructured nature of software development process. The experimental results based on a large dataset generated from CPNTools demonstrate the effectiveness of our approach.

Tracing Requirements in Software Design
Zeheng Li, Mingrui Chen, LiGuo Huang, Vincent Ng, and Ruili Geng
(Southern Methodist University, USA; University of Texas at Dallas, USA; Spectral MD, USA)
Software requirement analysis is an essential step in software development process, which defines what is to be built in a project. Requirements are mostly written in text and will later evolve to fine-grained and actionable artifacts with details about system configurations, technology stacks, etc. Tracing the evolution of requirements enables stakeholders to determine the origin of each requirement and understand how well the software's design reflects to its requirements. Reckoning requirements traceability is not a trivial task, we focus on applying machine learning approach to classify traceability between various associated requirements. In particular, we investigate a 2-learner, ontology-based approach, where we train two classifiers to separately exploit two types of features, lexical features and features derived from a hand-built ontology. In comparison to a supervised baseline system that uses only lexical features, our approach yields a relative error reduction of 25.9%. Most interestingly, results do not deteriorate when the hand-built ontology is replaced with its automatically constructed counterpart.

Empirical Studies and Experience Reports

Hybrid Software and System Development in Practice: Waterfall, Scrum, and Beyond
Marco Kuhrmann, Philipp Diebold, Jürgen Münch, Paolo Tell, Vahid Garousi, Michael Felderer, Kitija Trektere, Fergal McCaffery, Oliver Linssen, Eckhart Hanser, and Christian R. Prause
(TU Clausthal, Germany; Fraunhofer IESE, Germany; Reutlingen University, Germany; IT University of Copenhagen, Denmark; University of Luxembourg, Luxembourg; University of Innsbruck, Austria; Dundalk Institute of Technology, Ireland; FOM University of Applied Sciences for Economics and Management, Germany; DHBW-Loerrach, Germany; DLR, Germany)
Software and system development faces numerous challenges of rapidly changing markets. To address such challenges, companies and projects design and adopt specific development approaches by combining well-structured comprehensive methods and flexible agile practices. Yet, the number of methods and practices is large, and available studies argue that the actual process composition is carried out in a fairly ad-hoc manner. The present paper reports on a survey on hybrid software development approaches. We study which approaches are used in practice, how different approaches are combined, and what contextual factors influence the use and combination of hybrid software development approaches. Our results from 69 study participants show a variety of development approaches used and combined in practice. We show that most combinations follow a pattern in which a traditional process model serves as framework in which several fine-grained (agile) practices are plugged in. We further show that hybrid software development approaches are independent from the company size and external triggers. We conclude that such approaches are the results of a natural process evolution, which is mainly driven by experience, learning, and pragmatism.

Info
Requirements Volatility in Software Architecture Design: An Exploratory Case Study
Sanja Aaramaa, Sandun Dasanayake, Markku Oivo, Jouni Markkula, and Samuli Saukkonen
(University of Oulu, Finland)
Requirements volatility is a major issue in software (SW) development, causing problems such as project delays and cost overruns. Even though there is a considerable amount of research related to requirement volatility, the majority of it is inclined toward project management aspects. The relationship between SW architecture design and requirements volatility has not been researched widely, even though changing requirements may for example lead to higher defect density during testing. An exploratory case study was conducted to study how requirements volatility affects SW architecture design. Fifteen semi-structured, thematic interviews were conducted in the case company, which provides the selection of software products for business customers and consumers. The research revealed the factors, such as requirements uncertainty and dynamic business environment, causing requirements volatility in the case company. The study identified the challenges that requirements volatility posed to SW architecture design, including scheduling and architectural technical debt. In addition, this study discusses means of mitigating the factors that cause requirements volatility and addressing the challenges posed by requirements volatility. SW architects are strongly influenced by requirement volatility. Thus understanding the factors causing requirements volatility as well as means to mitigate the challenges has high industrial relevance.

A Systematic Map on Verifying and Validating Software Process Simulation Models
Haojie Gong, He Zhang, Dexian Yu, and Bohan Liu
(Nanjing University, China)
Verification and Validation (V&V) is a critical step in software process modelling to secure the model's quality and credibility. Software Process Simulation Models (SPSMs) that are based on descriptive process models offer the executability that is able to demonstrate the dynamic changes of software process over time. The V&V of process simulation models go beyond static process models and turn to be more complex and challenging to software modelers. This study aims to identify what aspects of process simulation models are verified and validated by using which V&V methods in what conditions in software engineering research. We conducted a systematic literature review (mapping study) on the studies of software process simulation that report of their V&V activities. We identified 72 relevant studies from a pool of 331 papers on SPSM until 2015. These studies can be mapped to ten V&V methods applied for five aspects of process models to be verified and validated, i.e., syntactic quality, semantic quality, pragmatic quality, performance, and value. A systematic map is presented to illustrate the relationships between the identified V&V methods and their supporting aspects of process models. This mapping will provide the community reference value when developing, verifying, and validating software process (simulation) models.

Agile World

Rapid, Evolutionary, Reliable, Scalable System and Software Development: The Resilient Agile Process
Doug Rosenberg, Barry Boehm, Bo Wang, and Kan Qi
(ICONIX Software Engineering, USA; University of Southern California, USA)
The increasing pace of change in competition, technology, and complexity of software-intensive systems has increased the demand for rapid, reliable, scalable, and evolvable processes. Agile methods have made significant contributions to speeding up software development, but often encounter problems with reliability, scalability, and evolvability. Over the past 3 years, we have been experimenting with an approach called Resilient Agile (RA), which addresses these problems while also speeding up development by finding enablers for parallel systems engineering, development, and test. This paper summarizes our experience in defining and evolving RA by applying it to three representative emergent-technology applications: Location-Based Advertising, Picture Sharing, and Bad Driver Reporting. In comparison with the mainstream Architected Agile process that we had been using on similar systems, the RA process achieved fewer defects and significant speedups in system development and evolution.
The paper summarizes the overall challenge of software schedule compression; identifies managed parallel development as generally the most powerful but least-practiced strategy for schedule compression; summarizes the key elements required to support parallelism, including specific model-driven system development techniques, automatic generation of key elements and realistic schedule and effort estimation. It then summarizes the three successful Resilient Agile projects to date, provides criteria for selecting a Resilient Agile process, and summarizes the key techniques for scaling up Resilient Agile, using a previous million-line command and control project as an example.

Searching for Common Ground: Existing Literature on Automotive Agile Software Product Lines
Philipp Hohl, Javad Ghofrani, Jürgen Münch, Michael Stupperich, and Kurt Schneider
(Daimler, Germany; Leibniz Universität Hannover, Germany; Reutlingen University, Germany; University of Helsinki, Finland)
The digital transformation of the automotive industry has a significant impact on how development processes need to be organized in future. Dynamic market and technological environments require capabilities to react on changes and to learn fast. Agile methods are a promising approach to address these needs but they are not tailored to the specific characteristics of the automotive domain like product line development. Although, there have been efforts to apply agile methods in the automotive domain for many years, significant and widespread adoptions have not yet taken place. The goal of this literature review is to gain an overview and a better understanding of agile methods for embedded software development in the automotive domain, especially with respect to product line development. A mapping study was conducted to analyze the relation between agile software development, embedded software development in the automotive domain and software product line development. Three research questions were defined and 68 papers were evaluated. The study shows that agile and product line development approaches tailored for the automotive domain are not yet fully explored in the literature. Especially, literature on the combination of agile and product line development is rare. Most of the examined combinations are customizations of generic approaches or approaches stemming from other domains. Although, only few approaches for combining agile and software product line development in the automotive domain were found, these findings were valuable for identifying research gaps and provide insights into how existing approaches can be combined, extended and tailored to suit the characteristics of the automotive domain.

How Do Agile Practices Support Automotive SPICE Compliance?
Philipp Diebold, Thomas Zehler, and Dominik Richter
(Fraunhofer IESE, Germany; IBM, Germany)
In the automotive domain, Automotive SPICE® is a common requirement for software and system development. Most automotive companies face the problem of complying with this model, especially, when dealing with agile development in order to benefit from advantages, such as higher customer collaboration or faster development. This paper describes the evaluation of how agile practices support Automotive SPICE requirements, based on literature reviews and expert opinion and including 772 mappings. 103 of 155 agile practices including Scrum and XP were used to cover 173 of 185 Automotive SPICE requirements (base practices and work products). Most Automotive SPICE base practices are supported (96%), while there is less support for work products (87%). The results are coherent with existing more high-level mappings but show more details. These results enable companies to benefit from agile without compromising Automotive SPICE conformity.

Process Modeling and Simulation

White-Box Prediction of Process Performance Indicators via Flow Analysis
Ilya Verenich, Hoang Nguyen, Marcello La Rosa, and Marlon Dumas
(Queensland University of Technology, Australia; University of Tartu, Estonia)
Predictive business process monitoring methods exploit historical process execution logs to provide predictions about running instances of a process, which enable process workers and managers to preempt performance issues or compliance violations. A number of approaches have been proposed to predict quantitative process performance indicators, such as remaining cycle time, cost, or probability of deadline violation. However, these approaches adopt a black-box approach, insofar as they predict a single scalar value without decomposing this prediction into more elementary components. In this paper, we propose a white-box approach to predict performance indicators of running process instances. The key idea is to first predict the performance indicator at the level of activities, and then to aggregate these predictions at the level of a process instance by means of flow analysis techniques. The paper specifically develops this idea in the context of predicting the remaining cycle time of ongoing process instances. The proposed approach has been evaluated on four real-life event logs and compared against several baselines.

Info
Domain Modeling for Development Process Simulation
Ian J. De Silva, Sanjai Rayadurgam, and Mats P. E. Heimdahl
(University of Minnesota, USA)
Simulating agile processes prior to adoption can reduce the risk of enacting an ill-fitting process. Agent-based simulation is well-suited to capture the individual decision-making valued in agile. Yet, agile’s lightweight nature creates simulation difficulties as agents must fill-in gaps within the specified process. Deliberative agents can do this given a suitable planning domain model. However, no such model, nor guidance for creating one, currently exists.
In this work, we propose a means for constructing an agile planning domain model suitable for agent-based simulation. As such, the domain model must ensure that all activity sequences derived from the model are executable by a software agent. We prescribe iterative elaboration and decomposition of an existing process to generate successive internally-complete and -consistent domain models, thereby ensuring plans derived from the model are valid. We then demonstrate how to generate a domain model and exemplify its use in planning the actions of a single agent.

Business Process Improvement

Leveraging Business Process Improvement with Natural Language Processing and Organizational Semantic Knowledge
Deniz Iren and Hajo A. Reijers
(VU University Amsterdam, Netherlands)
Contemporary organizations need to adapt their business processes swiftly to cope with ever-changing requirements. Requirement changes originate from a wide variety of sources. Business analysts gather these requirements, resolve conflicts, analyze impacts, and prepare actionable improvement plans. These tasks require a comprehensive knowledge of business processes and other entities within the organization. Business process model repositories, which may contain hundreds of models, are important sources of such cross-functional information. In this study, we introduce an approach which facilitates business process improvement by utilizing the comprehensive information covered by process models. Specifically, we associate requirements with other organizational entities based on their transitive relations with process models. To infer these associations, our approach makes use of natural language processing techniques and enterprise semantics. A quantitative evaluation of our approach, which took place within a major telecommunication company, displayed that it accurately detects associations between requirements and process models. Furthermore, semi-structured interviews with business analysts revealed that their expectations are high on efficiency increases due to the usage of this approach.

Data Driven Credit Risk Management Process: A Machine Learning Approach
Mingrui Chen, Yann Dautais, LiGuo Huang, and Jidong Ge
(Southern Methodist University, USA; GDS Link, USA; Nanjing University, China)
Credit scoring process, the most important part in credit risk management, aims at estimating the probability that an applicant will perform bad credit behaviors (e.g., loan default). Managing and developing effective and reliable risk assessment procedures in order to mitigate potential loss caused by new applicants heavily relies on the performance of scoring process. Traditionally this process is manually developed, which is time-consuming. In this paper, we propose an automated credit risk management process based on machine learning to ease the scoring process in order to reduce the human effort. This process is data driven: it leverages machine learning to automatically analyze vast amounts of historical data and build predictive model. We evaluate our process with a real-world proprietary dataset and achieved good performance, which shows the feasibility of using machine learning to facilitate the credit risk management process.

Process and Project Management

Using TRIZ to Balance Software Process Commonality and Diversity
Dan Houston
(Aerospace Corporation, USA)
A normal tension exists between a corporate need for process commonality and local needs for process customization. Unifying diverse software processes to produce process commonality is challenging. A group seeking to create a common development process must consider issues such as a rationale for process commonality, how to design a process for balancing commonality and customization, how to analyze existing diverse processes, and whether and how to measure process commonality. Altschuller’s Theory of Inventive Problem Solving (TRIZ) is explored for resolving the contradiction between process commonality and diversity and examples from the literature are cited.

Process-Based Project Management and SPI
María Cecilia Bastarrica, Daniel Perovich, Jacqueline Marín, and Luis Rioseco
(University of Chile, Chile)
Software process definition and improvement are frequent strategies followed by software companies in order to enhance software quality and boost development productivity. Software processes are used for guiding development teams while executing projects, and also as a basis for project planning and monitoring. There are some tools available for software process definition and a plethora of tools for project management with support for project planning and monitoring. These tools are usually not integrated so project plans are made manually possibly introducing inconsistencies with respect to the process they are based on. Moreover, when project management is not performed using an integrated tool, plan and trace also differ. Measuring process execution is a common path for SPI. To this end, matching tasks in the process, plan and trace is needed to understand where the process fails and how it might be improved. Inconsistencies among these artifacts hinders SPI since manually matching tasks demands a large effort. In this paper we define an approach for process-based project management that reduces these inconsistencies. We present CASPLE, a tool that supports this approach, and we illustrate its application in PowerData, a small Chilean company. A case study of applying the approach and CASPLE in four of our industrial partners is also presented.

Impact of Task Switching and Work Interruptions on Software Development Processes
Alexey Tregubov, Barry Boehm, Natalia Rodchenko, and Jo Ann Lane
(University of Southern California, USA; San Diego State University, USA)
Software developers often work on multiple projects and tasks throughout a work day, which may affect their productivity and quality of work. Knowing how working on several projects at a time affects productivity can improve cost and schedule estimations. It also can provide additional insights for better work scheduling and the development process. We want to achieve a better productivity without losing the benefits of work interruptions and multitasking for developers involved in the process. To understand how the development process can be improved, first, we identify work interruptions that mostly have a negative effect on productivity, second, we need to quantitatively evaluate impact of multitasking (task switching, work context switching) and work interruptions on productivity. In this research we study cross-project multitasking among the developers working on multiple projects in an educational setting. We propose a way to evaluate the number of cross-project interruptions among software developers using self-reported work logs. This paper describes the research that found: a) software developers involved in two or more projects on average spend 17% of their development effort on cross-project interruptions, b) the amount of effort spent on interruptions is overestimated by the G. Weinberg’s heuristic, c) the correlation between the number of projects and effort spent by developers on cross-project interruptions is relatively weak, and d) there is strong correlation between the number of projects and the number of interruptions developers reported.

Poster Papers

WebProcessPAIR: Recommendation System for Software Process Improvement
Mushtaq Raza, João Pascoal Faria, Luis Amaro, and Pedro Castro Henriques
(INESC TEC, Portugal; University of Porto, Portugal; Strongstep - Innovation in Software Quality, Portugal)
ProcessPAIR is a novel tool for helping software developers analyzing their personal performance. Based on a performance model calibrated from the anonymized performance data of many developers and the performance data submitted by an individual developer, it automatically identifies and ranks potential performance problems and their root causes for that developer. In this work we present WebProcessPAIR, which extends ProcessPAIR with the ability to recommend improvement actions to address the root causes identified, based on a crowdsourcing approach. A case study illustrates WebProcessPAIR usage.

Towards Capability-Oriented Business Process Management
Amin Jalali
(Stockholm University, Sweden)
Capability management is an important area of research in information systems which focuses on managing ability and capacity in organizations. Business processes play a very important role in capability management, so it is vital to consider the notion of capability when managing business processes. Thus, this paper proposes a new approach to Business Process Management, which is based on considering the notion of capability as a first-class element in the BPM lifecycle. The new approach introduces future directions for the development of systems, techniques, methods and guidelines that empower organizations to manage their capabilities when managing their processes.

Workshops

First International Workshop on Verification of Business and Software Processes
Souheib Baarir and Kais Klai
(Paris Nanterre University, France; University of Paris North, France)
Processes, whatever the field (e.g. software, military or healthcare), are everywhere. They represent the building block of any information system nowadays. Business processes are used to represent the enterprise’s business and services it delivers. They are also used as a mean to enforce customer’s satisfaction and to create an added value to the company. Software processes are critical as well since they represent the guaranty to respect development process’s deadlines and to ensure a certain quality of the delivered software, which in some cases will end up being the company’s information system itself. It is then more than critical to seriously consider the design of such processes and to make sure that they are free of any kind of inconsistencies. One possible way to unsure that the developed processes are safe is to apply formal verification. Hence, we propose this workshop to investigate the novelties and advances concerning the application of formal methods in Business/Software (BS) processes design and execution.

First International Workshop on Hybrid dEveLopmENt Approaches in Software Systems Development
Marco Kuhrmann, Philipp Diebold, and Jürgen Münch
(TU Clausthal, Germany; Fraunhofer IESE, Germany; Reutlingen University, Germany; Herman Hollerith Center, Germany)
A software process is the game plan to organize project teams and run projects. Yet, it still is a challenge to select the appropriate development approach for the respective context. A multitude of development approaches compete for the users' favor, but there is no silver bullet serving all possible setups. Moreover, recent research as well as experience from practice shows companies utilizing different development approaches to assemble the best-fitting approach for the respective company: a more traditional process provides the basic framework to serve the organization, while project teams embody this framework with more agile (and/or lean) practices to keep their flexibility. The first HELENA workshop aims to bring together the community to discuss recent findings and to steer future work.

Info

proc time: 2.02