Powered by
Conference Publishing Consulting

2012 International Conference on Software and System Process (ICSSP), June 2–3, 2012, Zurich, Switzerland

ICSSP 2012 – Proceedings

Contents - Abstracts - Authors
Online Calendar - iCal File


Title Page

Welcome to the International Conference on Software and Systems Process (ICSSP) held in Zurich, Switzerland, on June 2nd and 3rd, 2012. Having grown from a Software Process Workshop in 2005 to the International Conference on Software Process (ICSP) in 2007, and finally to the International Conference on Software and Systems Process (ICSSP) in 2011, this conference series has established its place in the software engineering community as a respected conference focusing on research and practice related to software and systems development process.


Process Analysis and Optimization in Emergency Medicine (Keynote Abstract)
Rolf H. van Lengen
(Fraunhofer IESE, Germany)
Time-critical emergencies occur by the hundreds every day. Overall, there are about 6,000 emergency physician missions in Germany each day – twice as many as 20 years ago. Germany has a nationwide Emergency Medical Services (EMS) System with rather short response times that is internationally well acknowledged. Nonetheless, there are many cases where an efficient EMS mission cannot be guaranteed. It must be noticed that short response intervals and rapid treatment on the scene are useless unless the patient is not transported in a timely manner to a hospital capable to immediately deliver the necessary level of care. Today valuable minutes often pass in the dispatch center until a suitable hospital can be found. Furthermore, either out of ignorance or as a makeshift solution, patients are transported to hospitals that are located close by, but do not have the optimal equipment for the diagnosed problem. The reasons for this vary: It is hard to estimate transport times, it costs time to check on other available hospitals, and the information received then is often incomplete or not reliable. Experiences made during missions are also rarely used to close gaps identified in the emergency service processes. Since documentation usually only consists of hand-written notes on paper, there is hardly any standardized analysis of missions from the perspective of quality management. Many of these critical “gaps” could be closed almost seamlessly if up-to-date information technology were used systematically. In the optimized rescue chain from the dispatch center receiving the emergency call to the hospital, information and communication technology is of utmost importance. Therefore the German Center for Emergency Medicine and Information Technology (DENIT) has been established at Fraunhofer IESE in order to study reliable process chains, highly dependable system architectures, as well as high-performance infrastructures for logistics and communication in EMS services and to transfer these into practice in emergency medicine. This talk explores the application of different information systems along the rescue chain and the respective contribution to enhance the efficiency of our EMS systems. The focus will be set on site-planning of EMS bases, dynamic geo-referential dispatch of EMS units, coupling of dispatch centers, mobile digital documentation systems and information systems that provide real-time access to available hospital capacities. Finally examples of different information systems established and introduced by DENIT will be presented.
Article Search
System Processes are Software Too (Keynote Abstract)
Leon J. Osterweil
(University of Massachusetts at Amherst, USA)
This talk explores the application of software engineering tools, technologies, and approaches to developing and continuously improving systems by focusing on the systems’ processes. The systems addressed are those that are complex coordinations of the efforts of humans, hardware devices, and software subsystems, where humans are on the “inside”, playing critical roles in the functioning of the system and its processes. The talk suggests that in such cases, the collection of processes that use the system is tantamount to being the system itself, suggesting that improving the system’s processes amounts to improving the system. Examples of systems from a variety of different domains that have been addressed and improved in this way will be presented and explored. The talk will suggest some additional untried software engineering ideas that seem promising as vehicles for supporting system development and improvement, and additional system domains that seem ripe for the application of this kind of software-based process technology. The talk will emphasize that these applications of software engineering approaches to systems has also had the desirable effect of adding to our understandings of software engineering. These understandings have created a software engineering research agenda that is complementary to, and synergistic with, agendas for applying software engineering to system development and improvement.
Article Search

Process Simulation 1

Simulation Modeling of a Large-Scale Formal Verification Process
He Zhang, Gerwin Klein, Mark Staples, June Andronick, Liming Zhu, and Rafal Kolanski
(NICTA, Australia; UNSW, Australia)
The L4.verified project successfully completed a large-scale machine-checked formal verification at the code level of the functional correctness of the seL4 operating system microkernel. The project applied a middle-out process, which is significantly different from conventional software development processes. This paper reports a simulation model of this process; it is the first simulation model of a formal verification process. The model aims to support further understanding and investigation of the dynamic characteristics of the process and to support planning and optimization of future process enactment. We based the simulation model on a descriptive process model and information from project logs, meeting notes, and version control data over the project's history. Simulation results from the initial version of the model show the impact of complex coupling among the activities and artifacts, and frequent parallel as well as iterative work during execution. We examine some possible improvements on the formal verification process in light of the simulation results.
Article Search
Simulation-Based Decision Support for Bringing a Project Back on Track: The Case of RUP-Based Software Construction
Elham Paikari, Guenther Ruhe, and Prashanth Harish Southekel
(University of Calgary, Canada; Accenture, Canada)
Abstract—RUP-based development has proven successful in various contexts. The iterative and phased development approach provides a framework for how to develop software efficiently and effectively. Yet, there are plenty of occasions that the projects go off-track in terms of the key parameters of the project such as quality, functionality, cost, and schedule. The challenge for the software project manager is to bring the project back on track. Simulation, in general, and system dynamics based simulation in particular, is established as a method to pro-actively evaluate possible scenarios and decisions. The main contribution of this paper is a method called SIMDASH; it combines three established techniques for providing decision support to the software project manager in the context of RUP-based development. SIM-DASH consists of (i) a system dynamics modeling and simulation component for RUP-based construction, (ii) dashboard functionality providing aggregated and visualized information for comparing actual versus targeted performance, and (iii) knowledge and experience base describing possible actions that have proven successful in the past for how to bring a project back on track. As part of (iii), decision trees and experience-based guidelines are used. The interplay between these three components provides preevaluated actions for bringing the current project iteration back on track. As proof-of-concept, a case study is provided to illustrate the key steps of the method and to highlight its principal advantages. For this purpose, SIM-DASH was substantiated retrospectively for a real-world SAP web system development project within the banking field. While the method is applicable for different issues and scenarios, we study its impact for the specific issue of adding personnel to testing and/or development in order to ensure improved project performance to achieve established quality levels of feature development.
Article Search
Modeling Kanban Processes in Systems Engineering
Richard Turner, Raymond Madachy, Dan Ingold, and Jo Ann Lane
(Stevens Institute of Technology, USA; Naval Postgraduate School, USA; University of Southern California, USA)
Abstract—Systems engineering processes using pull scheduling methods (kanban) are being evaluated with hybrid modeling and simulation. We are assessing integrated systems and software engineering at the enterprise level, where rapid response software development projects incrementally evolve capabilities of existing systems and/or systems of systems. A kanban-based scheduling system was defined and implemented with connected discrete, continuous and agent-based models. We are simulating the process performance vs. traditional methods of sharing systems engineering services across projects, and whether the overall value of the systems of systems over time is increased.
Article Search

Process Frameworks 1

COTIPMO: A COnstructive Team Improvement Process MOdel
Pongtip Aroonvatanaporn, Supannika Koolmanojwong, and Barry Boehm
(University of Southern California, USA)
Abstract—Team synchronization and stabilization are essential – especially for large software projects. However, often little is done to assess and reduce the uncertainties and knowledge gaps that exist within the project. As the project progresses through its life cycle, the team can gain more information about the project and team’s capabilities. These necessary data can be obtained through performing assessments on the team and project. As these assessments procedures are often complex, discouraging, and difficult to analyze, an effective framework and tool support can greatly enhance the process. Hence, with improved assessment methods, software project teams can quickly gather the necessary data, determine the actions to improve performance, and result in an improved project outcome in the end. The COnstructive Team Improvement Process MOdel (COTIPMO) is a framework developed to effectively improve team synchronization and stabilization as well as project effort estimation and scoping by enabling software development teams to quickly track project progress, continuously assess team performance, and make adjustments to the project estimates as necessary.
Article Search
Towards Patterns for MDE-Related Processes to Detect and Handle Changeability Risks
Regina Hebig, Gregor Gabrysiak, and Holger Giese
(HPI, Germany)
Abstract—One of the multiple technical factors which affect changeability of software is model-driven engineering (MDE), where often several models and a multitude of manual as well as automated development activities have to be mastered to derive the final software product. The ability to change software with only reasonable costs, however, is of uppermost importance for the iterative and incremental development of software as well as agile development in general. Thus, the effective applicability of agile processes is influenced by the used MDE activities. However, there is currently no approach available to systematically detect and handle such risks to the changeability that result from the embedded MDE activities. In this paper we extend our beforehand-introduced process modeling approach by a notion of process pattern to capture typical situations that can be associated with risk or benefit with respect changeability. In addition, four candidates for the envisioned process patterns are presented in detail in the paper. Further, we developed strategies to handle changeability risks associated to these process patterns.
Article Search
Generation of Dynamic Process Models for Multi-metamodel Applications
Fahad R. Golra and Fabien Dagnat
(IRISA, France; Université Européenne de Bretagne, France; Telecom Bretagne, France)
Abstract—Multi-metamodel application development processes have to deal with specific needs including flexible support for structured artifacts like models, multi-layered modeling support and dynamic process updates. In order to deal with the requirements of dynamic process updates and multi-layered modeling support, we propose to model the processes in multiple abstraction levels. The use of conditions on structured artifacts, considered as models, allows enhanced activity interactions, specifically for iterative interactions. This endeavor presented as CAMA Process Modeling Framework (CPMF) counts towards the greater goal of automation of software development processes in the future.
Article Search

New Horizons

Introducing Software Process Tailoring to BPMN: BPMNt
Raquel M. Pillat, Toacy C. Oliveira, and Fabio L. Fonseca
(UFRJ, Brazil)
Abstract-BPMN 2.0 is a widely used notation to model business process that has associated tools and techniques to facilitate process management, execution and monitoring. As a result using BPMN to model Software Development Process (SDP) can leverage on the BPMN’s infrastructure to improve SDP quality. Nevertheless, when using BPMN to model Software Processes one can observe the lack of an important feature: means to represent process tailoring. This article introduces the BPMNt, a conservative extension to BPMN that aims at aggregating a tailoring representation mechanism as the one found at SPEM 2.0. BPMNt uses the extensibility classes already present in the BPMN meta- model. Our work also presents an example to illustrate the approach.
Article Search
Improving the Development Process for Automotive Diagnostics
Ingolf Krüger, Massimiliano Menarini, Filippo Seracini, Maximilian Fuchs, and Jens Kohl
(UC San Diego, USA; BMW Group, Germany)
Abstract— We present a vision for the evolution of automotive diagnostics as car electronics are increasingly implemented as distributed systems. We first analyze the state of the art in the automotive development process, and we identify how distributed functionalities challenge this process and lead to higher development and field maintenance costs. To address these challenges, we modify the development process currently used by automotive manufacturers and propose the use of a model-based approach. Finally, we outline future research directions for car diagnostics.
Article Search
Process Implications of Social Networking-Based Requirements Negotiation Tools
Nupul Kukreja and Barry Boehm
(University of Southern California, USA)
Abstract—Avoiding a major source of system and software project failures by finding more non-technical-user friendly methods of system definition and evolution has been a significant challenge. Five generations of the WinWin negotiation framework have improved such capabilities, but even the latest WikiWinWin toolset has encountered problems with non-technical stakeholder usage. With the advent of social networking and popularity of Facebook and Gmail, we have developed a radically different way for collaborative requirements management and negotiations. The new avatar of the WinWin framework called ‘Winbook’ is based on the social networking paradigm, similar to Facebook and content organization using color coded labels, similar to Gmail. Initial usage results on 14 small projects involving non-technical stakeholders have shown profound implications on the way requirements are negotiated and used through the system and software definition and development processes. Winbook has also been adopted as part of a project to bridge requirements and architecting for a major US government organization.
Article Search
Developer Experience: Concept and Definition
Fabian Fagerholm and Jürgen Münch
(University of Helsinki, Finland)
Abstract—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.
Article Search

Process Frameworks 2

Improving Systems Engineering Effectiveness in Rapid Response Development Environments
Richard Turner, Raymond Madachy, Dan Ingold, and Jo Ann Lane
(Stevens Institute of Technology, USA; Naval Postgraduate School, USA; University of Southern California, USA)
Abstract—Systems engineering is often ineffective in development environments where large, complex, brownfield systems of systems are evolved through parallel development of new capabilities in response to external, time-sensitive requirements. This paper defines a conceptual framework to improve that effectiveness and better integrate the systems engineering and software engineering processes. The framework is based on a services approach to systems engineering and the use of kanban techniques to schedule scarce enterprise systems engineering resources across multiple related systems and software development projects. The framework also addresses the differing value of work items to multiple stakeholders in the scheduling and coordination processes. Models and simulations are being used to capture, refine and validate the framework prior to in vivo experimentation.
Article Search
Identifying Criteria for Designing a Process Architecture in a Multimodel Environment
Mery Pesantes, Cuauhtémoc Lemus, Hugo A. Mitre, and Jezreel Mejía
(CIMAT, Mexico)
Abstract—Software organizations are moving to a process oriented approach to develop its products. Many improvement technologies have emerged as a response in a multimodel environment. The term improvement technology is used to refer in general to the long list of reference models, standards, best practices, regulatory policies and other types of practices that an organization may use simultaneously (i.e. CMMI, ISO 15504, ISO 9001, Bootstrap and others). The simultaneous use of multiple improvement technologies is causing many problems such as the handling of heterogeneous improvement technologies for deriving processes. Although process architecture has been considered as a means for harmonizing these technologies and assisting process stakeholders do their job, it is unclear how to design a process architecture that supports a multimodel environment. In this article, we identify and analyze main problems in a multimodel environment and critical issues in process architecture area. As a result of this, we derive a set of criteria, as groundwork to design a process architecture in a multimodel environment.
Article Search
Supporting Quantitative Reasoning of Non-functional Requirements: A Process-Oriented Approach
Amy Affleck and Aneesh Krishna
(Curtin University, Australia)
A long standing problem in software engineering is inadequate requirements elicitation, analysis, specification, validation and management. The lack of well defined requirements is one of the major causes of project failure. Several well-known techniques and frameworks have been developed to deal with the functional aspect of requirements engineering. Recent years have also seen the emergence of frameworks that incorporate non-functional requirements. The Non-Functional Requirements (NFR) Framework models non-functional requirements and associated implementation methods. This paper presents a process-orientated, lightweight, quantitative extension to the NFR Framework; focusing on providing quantitative support to the decision process and how decisions affect the system.
Article Search

Process Modeling

Elements of a Generalized Duration Forecasting Model of Test-and-Fix Cycles
Dan Houston
(Aerospace Corporation, USA)
Abstract—Rework is integral to product development. The dynamism, circularity and concurrency properties of rew ork cycles inhibit attempts to estimate the duration and resources required of development phases. This difficulty is especially evident in testing of software-intensive systems. Dynamic modeling of test-and-fix cycles has addressed this problem and provided good forecasting of test phase durations, but has also produced good results in supporting resource allocation and process improvement decisions. A different model was produced for each of six projects. Though models of test-and-fix processes can be very detailed, a basic model of common elements has been identified through an analysis of commonality and variation in the six project models. The analysis has been used to specify a generalized test-and-fix model.
Article Search
Software Team Processes: A Taxonomy
Pierre N. Robillard and Mathieu Lavallée
(École Polytechnique de Montréal, Canada)
Abstract—A software development team must integrate many process perspectives imposed by the client, the organization, team management, and team dynamics. All these perspectives intermingle at the team process level. We propose a taxonomy to define the various episodes observed at this level and a useful vocabulary for reporting the observations made. Our taxonomy is based on a previous literature review performed in the business management field and adapted in this paper for the software engineering field. It was applied on existing data obtained from a real project carried out with an industrial partner. The vocabulary defined can accurately present team interactions, and may help diagnose communication breakdowns leading to project failures. The benefit of this approach is that it enables team process activities to be measured without reference to specific concepts related to perspectives other than that of the team process.
Article Search
An Approach to Modeling and Supporting the Rework Process in Refactoring
Xiang Zhao and Leon J. Osterweil
(University of Massachusetts at Amherst, USA)
Abstract—This paper presents the definition of a process for performing rework, and a tool that executes the process in order to support humans seeking help in being sure that they are carrying out rework completely and correctly. The process definition treats rework as the reinstantiation of previouslyperformed activities in new contexts, which requires the careful specification and management of the values of the artifacts that comprise key process execution history and contextual information. The rework tool exploits access to this information to provide human reworkers with guidance about the rework tasks to be done and with context and history information expected to be useful in guiding superior rework decisions. The paper presents a detailed example of the use of the process and tool in supporting a particular kind of rework, namely the refactoring of the design of an Object-Oriented program.
Article Search

Process Improvement

Supporting Collaborative Development Using Process Models: An Integration-Focused Approach
Komlan Akpédjé Kedji, Redouane Lbath, Bernard Coulette, Mahmoud Nassar, Laurent Baresse, and Florin Racaru
(IRIT, France; University of Toulouse, France; Université Mohammed V- Souissi, Morocco; AKKA Technologies, France)
Abstract—Software engineering projects are highly collaborative. Existing tools designed to support collaboration usually provide some specific service, and integration with other tools using data and events. However, Process-Centered Software Engineering Environments have traditionally been designed with different assumptions. The process is usually considered as the central aspect of the software project, and used as a center of control. As a result, great emphasis has been placed on the ability of PSEEs to invoke other tools, or use data generated by other tools. However, the integration in the other direction, that is, the ability of other tools to query the data managed by PSEEs (the process model), and hook into their extensions points, has been largely ignored, as it is not compatible with the vision of the PSEE as the central orchestrator of project support tools. We argue that this view has hindered the widespread adoption of process-based collaboration support tools by incurring too much adoption and switching costs, and propose a new process-based collaboration support architecture, backed by a process metamodel, which can easily be integrated with existing tools.
Article Search
Architectural Design and Documentation: Waste in Agile Development?
Christian R. Prause and Zoya Durdik
(Fraunhofer FIT, Germany; FZI, Germany)
Abstract—There is a problem with documentation and architectural design in agile projects. This is the result of interviews we have conducted with 37 software engineering experts from industry and academia. In our paper, we analyze the interview results and the origins of the revealed issues. We propose ways to integrate software design methodologies into agile development, and reputation mechanism to solve documentation problems. The contributions of this paper are (i) an investigation of expert opinions on design and documentation problems, (ii) an analysis of problem origins, and (iii) proposals for future improvements of agile processes.
Article Search
ReMo: A Recommendation Model for Software Process Improvement
Sujin Choi, Dae-Kyoo Kim, and Sooyong Park
(Sogang University, South Korea; Oakland University, USA)
Abstract—Software process assessment methods such as SCAMPI and ISO 15504-2 provide an assessment framework for evaluating the current practice of software development organizations. Strengths, weaknesses, and recommendations are core results of process assessment to be used as a basis for process improvement. While the existing models provide concrete methods for identifying strengths and weaknesses of process, they lack detailed approaches to building recommendations, which are crucial in developing strategic improvement plans. This makes it difficult for the assessment team to develop constructive recommendations, which has consequently negative impact on the quality of process improvement. To address this, we present a systematic method for developing recommendations based on a capability-based reference model (e.g., CMMI, SPICE). The presented method is evaluated using real assessment data from industry and the results show the potential of the method.
Article Search

Case Studies

From Scrum to Scrumban: A Case Study of a Process Transition
Natalja Nikitina, Mira Kajko-Mattsson, and Magnus Stråle
(KTH Royal Institute of Technology, Sweden)
Abstract—Transitioning from one development method to another has become a common routine for many companies. Despite this, very few reports describe how the process transition has been carried out, and provide suggestions for how to define a process transition model. This paper reports on a process transition from Scrum to Scrumban in one software development company. The paper gives an account on the process transition process, changes done to the development process undergoing the transition and the improvements achieved. It rounds up with lessons learned.
Article Search
Comparing Two Software Emergency Process Models
Joakim Snygg, Mira Kajko-Mattsson, and Emil Hammargren
(Stockholm University, Sweden; KTH Royal Institute of Technology, Sweden)
Abstract— Organizations need guidance on how to efficiently manage emergency software problems. Such guidance, however, is available in only one process model today, CM3: Emergency Problem Management. In this paper, we compare CM3: Emergency Problem Management with an industrial software emergency process model. Our comparison results lead to the extensions of CM3: Emergency Problem Management with a pre-alert phase and a co-ordination of the management of emergency software problems with a crisis management process.
Article Search
Assessing Team Performance from a Socio-technical Congruence Perspective
Li Jiang, Kathleen M. Carley, and Armin Eberlein
(University of Adelaide, Australia; CMU, USA; American University of Sharjah, United Arab Emirates)
Abstract—There are many factors that provide input into the software development process, such as the values, beliefs, norms, practices, skills, behaviors, knowledge and goals of stakeholders. Research has shown that successful software system development relies on alignment or congruence between these factors. How to monitor the level of congruence between these factors and how to use the congruence as an indicator or a measure to monitor a software development process is a challenge in software engineering. This paper proposes a model that uses three congruence measures to examine the levels of social-technical congruence in software development processes. Using a controlled experiment with seven student teams developing a robot project, this paper demonstrates that the proposed congruence measures provide results consistent with the assessment by the course lecturers.
Article Search

Process Tailoring

Building Software Process Lines with CASPER
Julio Ariel Hurtado Alegría and María Cecilia Bastarrica
(Universidad del Cauca, Colombia; University of Chile, Chile)
Abstract—Software product quality and project productivity require defining suitable software process models. The best process depends on the circumstances where it is applied. Typically, a process engineer tailors a specific process for each project or each project type from an organizational software process model. Frequently, tailoring is performed in an informal and reactive fashion, which is expensive, unrepeatable and error prone. Trying to deal with this challenge, we have built CASPER, a meta-process for defining adaptable software process models. This paper presents CASPER illustrating it using the ISPW-6 process. CASPER meta-process allows producing project specific processes in a planned way using four software process principles and a set of process practices that enable a feasible production strategy. According to its application to a canonical case, this paper concludes that CASPER enables a practical technique for tailoring a software process model.
Article Search
Risk Management in Software Product Lines: An Industrial Case Study
Luanna Lopes Lobato, Paulo Anselmo da Mota Silveira Neto, Ivan do Carmo Machado, Eduardo Santana de Almeida, and Silvio Romero de Lemos Meira
(Federal University of Pernambuco, Brazil; Federal University of Goiás, Brazil; Federal University of Bahia, Brazil)
Software Product Lines (SPL) adoption can affect several aspects of an organization and it involves significant investment and risk. This way, SPL risk management is a crucial activity of SPL adoption. This study aims to identify SPL risks during the scoping and requirement disciplines to provide information to better understand risk management in SPL. In order to achieve the previous stated goal, a case study research was applied in an industrial project in the medical information management domain. Using the captured risks, a classification scheme was built and risk mitigation strategies were identified. We spent five months, totaling 79 hours, performing risk management (RM) in the scoping discipline and twelve months, totaling 148 hours, performing RM on the requirements discipline. We identified 32 risks during the scoping discipline and 20 risks during the requirements discipline, 14 risks occurred in both disciplines. Some identified risks are not particular to SPL development, however, they have their impact increased due to the SPL characteristic. All the study results and lessons learned are useful for all project managers and researchers who are considering the introduction of SPL risk management in industry or academia.
Article Search
A Reduced Set of RUP Roles to Small Software Development Teams
Paula Monteiro, Pedro Borges, Ricardo J. Machado, and Pedro Ribeiro
(University of Minho, Portugal; ESTGF, Portugal)
Abstract—Software projects are always increasing their complexity. The complexity of projects arises due to the increased sophistication of software applications and of their implemented features. However, most of the projects are developed by small organizations. Since these companies have a reduced dimension, the number of individuals that constitute each software development teams will also be significantly reduced. This paper describes a Rational Unified Process (RUP) configuration composed by a reduced set of RUP roles. This configuration may easily be adopted by a small software development team during the project execution period. Additionally, we have characterized each role in this reduced model by identifying the corresponding activities in charge and by creating individual sheets detailing their responsibilities. An initial assessment of the effectiveness of this RUP configuration was performed using CMMI-DEV maturity level 2 (ML2) as a reference model.
Article Search

Process Simulation 2

Systematic Mapping of Recommendation Systems for Requirements Engineering
Jamshaid G. Mohebzada, Guenther Ruhe, and Armin Eberlein
(University of Calgary, Canada; American University of Sharjah, United Arab Emirates)
Recommendation systems provide users with up-to-date guidance on processes, artifacts or other project-relevant information. Recommendation systems for requirements engineering can be used to provide the right information, at the right time, to requirements engineers. In this paper, we use systematic mapping to provide an overview of recommendation systems for the requirements engineering process, their characteristics, and state of validation. The resulting maps are analyzed to provide conclusions and to identify the limitations of current studies, and future research areas. The results of the mapping are used to outline the motivation for our future work on a recommendation system that helps product managers decide on the assignment of requirements to subsequent releases while considering constraints such as time, effort, quality, and resources.
Article Search
Modeling and Analysis of Software Development Management as Closed Loop Control
Thea Schlüter and Thomas Birkhölzer
(University of Applied Sciences Konstanz, Germany)
Abstract—Managed software development organizations are de facto closed loop systems, in which management actions influence future behavior based on observations of previous behavior thus forming a closed feedback loop. It is well known from control theory that a closed loop system might exhibit dynamics very different from the dynamics of its open loop components. Therefore, it is the goal of this work to study the importance of closed loop effects in the context of software process dynamics. To this end, an exemplary model is presented with a work-test-rework cycle as operational part and a productivity estimation and personnel allocation model as management component. The behavior of this closed loop system is probed with respect to typical disturbances and nonlinearities of software processes. The results underscore the importance of such a closed loop analysis.
Article Search


Special Panel: Software Process Simulation - At a Crossroads?
He Zhang
(NICTA, Australia; UNSW, Australia)
Software Process Simulation (SPS) has been evolving in the last decades and gained researchers' and practitioners' interests in software process community. However, the growth of SPS seems slow down in recent years, and the evidence for its benefits to industrial practice is not commonly reported as expected. SPS still awaits a breakthrough success. This special panel aims to initiate a discussion on the challenges faced SPS and the solutions to tackling the problems, and to work out a research agenda for future advance of SPS.
Article Search
Broadening Software Process Perspectives
Raymond Madachy
(Naval Postgraduate School, USA)
A reason we may be at a crossroads in process simulation is that our view has been limited. Possibly we aren’t simulating all the relevant aspects of importance to enterprises. For example, being overly focused in the weeds of development and not modeling the business or mission value of process options. To make greater impact we should involve other disciplines and considerations in broader, more holistic models. Software is critical and provides the edge for successful products and organizations, so we should take on a commensurate larger perspective and more informed role. This requires a pro-active approach within organizations.
Article Search
Research and Practice Reciprocity in Software Process Simulation
Dan Houston
(Aerospace Corporation, USA)
The young field of software process simulation was born out of research that stimulated the imagination of many researchers who created a vision for addressing “the software problem.” Though the vision has yet to be realized widely, the need for the field is growing and benefits are being seen slowly. Opportunity for continued growth of this field lies in the reciprocity between research and industrial practice. An agenda for advancing software process simulation through this reciprocity is offered.
Article Search
Advancing Process Modeling, Simulation, and Analytics in Practice
Stanley M. Sutton, Jr.
(IBM Research, USA)
If you take a broad view, there are many ways ahead for software process modeling and simulation. One way to broaden the view is to include not just software processes but also systems and service processes. Another is to address not just technical processes but also business processes. In any scope, impact can be strengthened by combining modeling and simulation with analytics. A way to assure longevity of the field is to solve problems in practice. These afford a variety of ways to make contributions, including both applied and fundamental. Challenges that must be overcome in achieving practical results are getting access to practitioners, acquiring useful data, and getting your solution adopted (among others). More empirical studies and experience reports are needed. But there are many routes by which contributions may flow to and from the field.
Article Search
Software Process Simulation Is Simulation Too - What Can Be Learned from Other Domains of Simulation?
Thomas Birkhölzer
(University of Applied Sciences Konstanz, Germany)
Simulation is an important method and tool in many fields of engineering. Compared to these, simulation plays only a minor role in the field of software processes and software engineering. Examining this discrepancy, four theses are formulated as suggestions for future directions of software process simulation: 1. Simulation requires efforts, but “not simulating” might cause considerable costs as well, e.g. by wrong assumptions or expectations. These costs must be addressed and understood as well. 2. A model is always a simplification with many uncer- tainties. However, this is not a counter-argument by itself but must be evaluated in the perspective of purpose and possible alternatives. 3. Future process simulation models must and will be much more complex than today. The necessary complexity can only be handled by relying on a wealth of mature components. This requires a joined effort and appreciation of the respective groundwork. 4. There are areas of software process modelling, which have already achieved some maturity, e.g. the interrelationships of volume of work, productivity, resources, and defect injection and removal. However, there are other aspects, which need further research to develop adequate modeling concepts, e.g. influence of architectural quality on later process stages, influence of process area capabilities within a dynamic simulation, or combined effects of human factors like time pressure, motivation, or knowledge acquisition.
Article Search
Evolving Process Simulators by Using Validated Learning
Jürgen Münch
(University of Helsinki, Finland)
Software process simulation has been evolved towards a mature technology for analyzing the behavior of software processes: Methods for systematically developing simulators exist, tools for modeling and execution are available, models for nearly all kinds of processes have been created, and empirical evidence on the accuracy of many models has been gathered. However, software process simulation is still waiting for a breakthrough success. Although simulation is a technology that has been successfully established in many domains, software process simulation is not widely used in software engineering practice. Should we pivot or persevere? This article argues that it is necessary to use a rigorous approach for discovering "customers" of process simulators and finding out what they consider to be value. One mechanism to do this is to apply so-called "validated learning", i.e., to apply an actionable learning approach to identify what is relevant and what is irrelevant by systematically testing value hypotheses. Doing this promises that simulation efforts can be concentrated on value-creation and that wrong avenues can be avoided. Besides this, the article sketched prerequisites and lessons learned that need to be considered when applying simulators in practice as well as upcoming opportunities for making software process simulation a success.
Article Search
Simulation Modeling of Evolving Software Processes
He Zhang
(NICTA, Australia; UNSW, Australia)
Software processes evolve as software too. The evolving software processes are adapted to accommodate the rapid progress and changes in software engineering practice. Software process simulation has to evolve as well in order to effectively investigate the evolving software processes. This article illustrates the evolution of software process and the resulting challenges to process simulation with two examples from experiences. From these come a list of recommendations for improving the state-of-the-practice of software process simulation.
Article Search
Process Simulation Will Soon Come of Age: Where's the Party?
David Raffo
(Portland State University, USA)
It has been said that any good idea takes about 25 years to be widely adopted by industry. Simulation modeling was adapted to software development projects and processes in the early late 80s and 90s with the seminal work of Abdel-Hamid and Madnick [1] in applying Systems Dynamics to software project management, as well as the work of Kellner [2] and Raffo [3] in adapting State-based and Discrete Event Simulation models to software development. Using the 25 year metric above, Process Simulation will soon come of age – but where’s the party? Why has Process Simulation not been widely adopted as other software engineering best practices such as inspections or cost estimation? Some of the obstacles include: • The need to show business value • Lack of understanding among software engineers and project managers • Lack of credibility in the inputs and consequently model results • The perceived cost of implementation • The lack of integration with existing process management tools • Not a critical project need This presentation discusses the obstacles which inhibit wide adoption of process simulation within industry and opportunities the process research community has to overcome them.
Article Search

proc time: 0.08