Powered by
Conference Publishing Consulting

2013 International Conference on Software and Systems Process (ICSSP), May 18–19, 2013, San Francisco, CA, USA

ICSSP 2013 – Proceedings

Contents - Abstracts - Authors

Preface

Title Page

Message from the Chairs
The International Conference on Software and Systems Process (ICSSP) 2013 held in San Francisco, CA, USA, on May 18th and 19th, 2013, has become an established premier event in the field of software and systems engineering process and is in-cooperation with ACM/SIGSOFT. It provides a leading forum for the exchange of research outcomes and industrial best-practices in process development from software and systems disciplines. The latest trends towards creating software ecosystems on emerging software platforms, such as clouds, cyber-physical systems, or social media are bringing up new approaches to software and systems development. This also leads to new opportunities and challenges regarding development processes, such as process interoperability, scalability, or the coordination of multiple platforms and lifecycles. ICSSP 2013 aims at investigating novel solutions to today’s process challenges, and seeks completed research or advanced work-in-progress in all areas of software and systems engineering process as well as processes in other domains. Correspondingly, the main theme of ICSSP 2013 is “Processes for Emerging Software Platforms and Ecosystems”, emphasizing and encouraging the research and experiences related to the emerging trends in software and systems engineering from a process perspective.
Committees

Keynotes

The Challenges of Emerging Software Eco-Systems (Keynote)
Neil G. Siegel
(Northrop Grumman, USA)
New opportunities for software-intensive system configurations are arriving on the market; these include cyber-physical, cyber-social, and cloud structures. Because of the convenience and cost-savings opportunities they offer, these capabilities and configurations will be adopted, most likely quickly and at large scale. Some of these configurations, however, have the potential to create (or already are creating) significant unintended problems and vulnerabilities. The author identifies a range of such unintended problems and vulnerabilities, and indicates the types of research and new insights that will be needed so as to allow society to obtain the benefits promised by these emerging opportunities.
Article Search
Low Ceremony Processes for Short Lifecycle Projects (Keynote)
Anthony I. Wasserman
(Carnegie Mellon Silicon Valley, USA)
This paper is a summary of the author’s keynote talk describing suitable approaches for software projects with small teams (including a single individual) and release cycles in days or weeks rather than in years. Traditional processes used for larger projects have significant shortcomings in smaller projects, particularly the need to devote a significant portion of the overall effort to the process itself.
Article Search

Estimation

How to Treat Timing Information for Software Effort Estimation?
Masateru Tsunoda, Sousuke Amasaki, and Chris Lokan
(Toyo University, Japan; Okayama Prefectural University, Japan; UNSW, Australia)
Software development effort estimation is an essential aspect of software project management. An effort estimation model expresses relationships between effort and factors such as organizational and project features (e.g. software functional size, and the programming language used in a project). However, software development practices and tools change over time, to environmental changes. This can affect some relationships assumed in an effort estimation model. A moving windows method (a method for treating the timing information of projects), has thus been proposed for estimation models. The moving windows method uses data from a fixed number of the most recent projects data for model construction. However, it is not clear that moving windows is the best way to handle the timing information in an estimation model. The goal of our research is to determine how best to treat timing information in constructing effort estimation models. To achieve the goal, we compared six different methods (moving windows, dummy variable of moving windows, dummy variables of equal bins, dummy variables of year, year predictor, and serial number) for treating timing data, in terms of estimation accuracy. In the experiment, we use three software development project datasets. We found that moving windows is best when the number of projects included in the dataset is not small, and dummy variable of moving windows is the best when the number is small.
Article Search
qEstimation: A Process for Estimating Size and Effort of Software Testing
Vu Nguyen, Vu Pham, and Vu Lam
(University of Science at Ho Chi Minh City, Vietnam; KMS Technology, Vietnam; KMS Technology, USA)
Software testing is an essential activity of the software development lifecycle. To ensure quality, applicability, and usefulness of a product, development teams must spend considerable time and resources testing, which makes the estimation of the software testing effort, a critical activity. This paper describes a simple process, which we name qEstimation, to estimate the size and effort of the software testing activities. The process incorporates a proposed approach to measuring the size of the test case based on its checkpoints, preconditions and test data, as well as the type of testing. To investigate the practicality of the process, we apply it to estimate the size and effort of two outsourcing testing projects at a software company. In these projects, the estimates produced by the process are more accurate than those estimated by individual testers using their pure experience. This result indicates that our approach can be useful to estimating similar testing projects in practice.
Article Search
A Model for Estimating Agile Project Process and Schedule Acceleration
Dan Ingold, Barry Boehm, and Supannika Koolmanojwong
(University of Southern California, USA)
Accelerating development schedules is increasingly important in a competitive world. Reduced time-to-market is a key response to competitive threats in the commercial sphere, and rapid response in deploying military systems may save lives in a geopolitical environment characterized by rapidly emerging and ever-changing physical threats. Agile/lean development methodologies show promise in providing the desired schedule acceleration, but it can be difficult for planners to determine the effects of these factors on schedule duration, and to make appropriate choices to optimize project performance. The Constructive Rapid Application Development Model (CORADMO) attempts to quantify the effects of key schedule drivers, and thus enable planners to estimate the relative schedule that will result from varying these parameters.
Article Search

Software Process I

A Discipline-Spanning Development Process for Self-Adaptive Mechatronic Systems
Christian Heinzemann, Oliver Sudmann, Wilhelm Schäfer, and Matthias Tichy
(University of Paderborn, Germany; Chalmers, Sweden; University of Gothenburg, Sweden)
Technical systems contain mechanical, electrical, and software parts. Consequently, they are developed by engineers of the respective disciplines. However, current industrial practice as well as existing development processes do not account for the required tight integration between the engineers of the different disciplines. Processes become even more complex, when self-adaptive systems are built. In this paper, we present a development process for self-adaptive mechatronic systems which particularly addresses the integration between the disciplines concerned with the development of software, namely control and software engineering. We illustrate the process by presenting examples from the development of autonomous railway vehicles which build convoys to improve energy efficiency.
Article Search
Process Variability Management in Global Software Development: A Case Study
Tomás Martínez-Ruiz, Félix García, Mario Piattini, and Francisco de Lucas-Consuegra
(University of Castile–La Mancha, Spain)
Global Software Development (GSD) is set to be the paradigm that will support software industries in the increasingly globalized 21st century. It opens the door to companies from emerging countries to compete for their own gap in the market. It does, however, still bring some challenges with it. It must integrate different cultures, work styles, and work timetables in the same development process. In fact, GSD methodologies do indeed include specific activities to coordinate different work teams, but they fail precisely where any other methodology does: in the need to be truly useful by meeting the distinct cultural requirements of every organization involved, all at the same time. Up to now, process tailoring has been managed through variability mechanisms. Since these successfully merge original structure with cultural assets, they are also useful for adjusting global methodologies so that they suit each particular development context. This paper presents a case study of the use of the Variant-Rich Process paradigm (VRP) to support tailoring in a GSD methodology. It reveals the suitability of the VRP mechanisms, given that they support the two tailoring dimensions a GSD project involves, i.e., they take into account the circumstances of the entire global project, as well as the need to fit the internal characteristics of each organization; furthermore, they save effort in the tailoring process.
Article Search
Supporting Process Undo and Redo in Software Engineering Decision Making
Xiang Zhao, Yuriy Brun, and Leon J. Osterweil
(University of Massachusetts at Amherst, USA)
This paper presents a provenance-based approach for supporting undo and redo for software engineers. Writing software entails creating and reworking intricately intertwined software artifacts. After discovering a mistake in an earlier-completed task, a developer may wish to redo this task, but without undoing much of the work done since. Unfortunately, state-of-the-practice undo and redo mechanisms force the developer to manually redo the work completed since the mistake. This can cause considerable extra, often error-prone work. We propose tracking the software engineering process provenance data, and using it to enable (1) undoing tasks by reverting the state of the process execution, (2) revisiting an old task while storing the provenance of undone tasks, and (3) automatically redoing those undone tasks that are consistent with the revision. Our case study of a developer performing a well-understood but complex refactoring demonstrates how our approach can greatly reduce the cost of mistakes made early but discovered late.
Article Search

Quality and Indicators

A Process Practice to Validate the Quality of Reused Component Documentation: A Case Study Involving Open-Source Components
Olivier Gendreau and Pierre N. Robillard
(Polytechnique Montréal, Canada)
The poor quality of the documentation of some reused components can jeopardize the success of a project. This paper aims to assess the impact of reused components documentation quality on the effort required to complete a software evolution project and to propose a process practice to reduce the risk associated to the integration of reused components. A case study is based on data gathered from a capstone project requiring a total effort of roughly 1800 person-hours. Participant activities are self-recorded on an hourly basis. The main issues are related to imprecise and inaccurate documentation of the reused open-source components and the extra effort required dealing with these flaws. To maximize components reuse benefits, it is recommended to add a process practice enforcing early reusable components validation. This new practice would provide feedback to the software architect regarding the quality of the selected reused components.
Article Search
A Methodology to Derive Sustainability Indicators for Software Development Projects
Giuseppe Lami, Fabrizio Fabbrini, and Mario Fusani
(ISTI-CNR, Italy)
The ever-increasing pervasiveness of Information and Communication Technologies (ICT) not only is determining radical changes in everyone’s life-style, in the social organizations, and in the economic dynamics, but it is causing relevant direct and indirect effects on the environment as well. One of the aspects not yet sufficiently addressed in literature is the sustainability of the software lifecycle. In this paper, we focus on the sustainability management of software development projects. In the practice, software development projects are managed by considering principally parameters as time, costs and quality of work products. We propose a methodological approach aimed at identifying sustainability indicators to be used in project management to set up sustainability objectives for a software development project, to control their achievement during the project itself and, possibly, to adopt corrective actions to maintain the project aligned with them. The availability of such sustainability indicators may contribute to reduce the carbon footprint of the activities performed in software development projects as well as to speed-up the development of a green culture in organizations developing software.
Article Search
Improving Scenario Testing Process by Adding Value-Based Prioritization: An Industrial Case Study
Qi Li and Barry Boehm
(University of Southern California, USA)
Most of the current testing strategies treat all aspects of software equally important in a value-neutral way; this becomes more risky when the testing resources are limited. Our goal in this case study aims at improving the testing cost-effectiveness of an industrial scenario testing process under time constraints. We proposed a value-based testing prioritization strategy which allows tests to be ranked by how well the tests can reduce risk exposure. Combining this with the tests’ relative costs enables them to be prioritized in terms of return on investment (ROI) or risk reduction leverage (RRL). Besides, a new metric Average Percentage of Business Importance Earned (APBIE) is proposed to measure how quickly the testing can reduce the quality uncertainty and earn the relative business importance of the system under test (SUT).The results from one case study to prioritize operational testing scenarios in Galorath Inc. show that our method can improve the testing cost-effectiveness in terms of APBIE.
Article Search

Process Modeling

Modeling User Story Completion of an Agile Software Process
Dan X. Houston and Douglas J. Buettner
(Aerospace Corporation, USA)
Although some researchers have studied agile techniques of software development using simulation, simulation studies of actual agile projects are difficult to find. This report on an industrial case study seeks to address this need by presenting an experience of modeling and analyzing an agile software development process using discrete event simulation. The study, undertaken for software process improvement, produced analyses that provided project management with process capability information. First, a sensitivity analysis used a designed experiment to measure the dominant factors in user story productivity. Second, a response surface provided information on the process tolerance for defect rework. Finally, a scenario comparison supported a management decision on sprint usage.
Article Search
Building Lean Thinking in a Telecom Software Development Organization: Strengths and Challenges
Pilar Rodríguez, Kirsi Mikkonen, Pasi Kuvaja, Markku Oivo, and Juan Garbajosa
(University of Oulu, Finland; Ericsson, Finland; UPM, Spain)
The potential shown by Lean in different domains has aroused interest in the software industry. However, it remains unclear how Lean can be effectively applied in a domain such as software development that is fundamentally different from manufacturing. This study explores how Lean principles are implemented in software development companies and the challenges that arise when applying Lean Software Development. For that, a case study was conducted at Ericsson R&D Finland, which successfully adopted Scrum in 2009 and subsequently started a comprehensible transition to Lean in 2010. Focus groups were conducted with company representatives to help devise a questionnaire supporting the creation of a Lean mindset in the company (Team Amplifier). Afterwards, the questionnaire was used in 16 teams based in Finland, Hungary and China to evaluate the status of the transformation. By using Lean thinking, Ericsson R&D Finland has made important improvements to the quality of its products, customer satisfaction and transparency within the organization. Moreover, build times have been reduced over ten times and the number of commits per day has increased roughly five times.The study makes two main contributions to research. First, the main factors that have enabled Ericsson R&D’s achievements are analysed. Elements such as ‘network of product owners’, ‘continuous integration’, ‘work in progress limits’ and ‘communities of practice’ have been identified as being of fundamental importance. Second, three categories of challenges in using Lean Software Development were identified: ‘achieving flow’, ‘transparency’ and ‘creating a learning culture’.
Article Search

Measurement and Security

Episode Measurement Method: A Data Collection Technique for Observing Team Processes
Yvan Ton-That, Pierre N. Robillard, and Mathieu Lavallée
(Polytechnique Montréal, Canada)
Team effectiveness is crucial to the success of a project. It is important to measure the processes that teams perform, in order to evaluate and improve new practices. Results from a mapping study categorizing the measurement methods applied to these processes identify the most popular approaches and the need for first degree observational methods. This paper describes a data collection technique for observing team processes. A case study performed with senior students is set up to validate the method. A questionnaire was submitted to participants to identify issues related to data accuracy. Illustrative analyses demonstrate that the episode measurement method can be used to observe team process patterns. The data from the questionnaire indicate that the method does not pose as a significant threat to the internal validity of a study, and that it is useful for observing the dynamic processes in which teams engage to resolve task demands.
Article Search
Mining Explicit Rules for Software Process Evaluation
Chengnian Sun, Jing Du, Ning Chen, Siau-Cheng Khoo, and Ye Yang
(National University of Singapore, Singapore; ISCAS, China; Nanyang Technological University, Singapore)
We present an approach to automatically discovering explicit rules for software process evaluation from evaluation histories. Each rule is a conjunction of a subset of attributes in a process execution, characterizing why the execution is normal or anomalous. The discovered rules can be used for stakeholder as expertise to avoid mistakes in the future, thus improving software process quality; it can also be used to compose a classifier to automatically evaluate future process execution. We formulate this problem as a contrasting itemset mining task, and employ the branch-and-bound technique to speed up mining by pruning search space. We have applied the proposed approach to four real industrial projects in a commercial bank. Our empirical studies show that the discovered rules can precisely pinpoint the cause of all anomalous executions, and the classifier built on the rules is able to accurately classify unknown process executions into the normal or anomalous class.
Article Search
Processes in Securing Open Architecture Software Systems
Walt Scacchi and Thomas A. Alspaugh
(UC Irvine, USA)
Our goal is to identify and understand issues that arise in the development and evolution processes for securing open architecture (OA) software systems. OA software systems are those developed with a mix of closed source and open source software components that are configured via an explicit system architectural specification. Such a specification may serve as a reference model or product line model for a family of concurrently sustained OA system versions/variants. We employ a case study focusing on an OA software system whose security must be continually sustained throughout its ongoing development and evolution. We limit our focus to software processes surrounding the architectural design, continuous integration, release deployment, and evolution found in the OA system case study. We also focus on the role automated tools, software development support mechanisms, and development practices play in facilitating or constraining these processes through the case study. Our purpose is to identify issues that impinge on modeling (specification) and integration of these processes, and how automated tools mediate these processes, as emerging research problems areas for the software process research community. Finally, our study is informed by related research found in the prescriptive versus descriptive practice of these processes and tool usage in studies of conventional and open source software development projects.
Article Search

Requirements

A Communication Process for Global Requirements Engineering
Sajid Ibrahim Hashmi, Fuyuki Ishikawa, and Ita Richardson
(Lero, Ireland; University of Limerick, Ireland; NII, Japan)
Globally distributed software development teams face problems with software development life cycle phases, as the distributed nature of each of these phases make it even more challenging to communicate between the stakeholders. Global distance can give rise to incomplete requirements handovers which make the situation more difficult. It is important to address this issue as the end product is likely to deliver less business value when such problems arise. In this research, we propose a process to facilitate non-verbal communication among globally distributed requirements engineering teams. The focus of this research is the situation that occurs after requirements are handed to another site. Our proposed process endeavors to ensure that incomplete and conflicting requirements are identified and mitigated.
Article Search
Integrating Collaborative Requirements Negotiation and Prioritization Processes: A Match Made in Heaven
Nupul Kukreja and Barry Boehm
(University of Southern California, USA)
Selecting system and software requirements to implement in a particular product or release is a challenging decision problem. Business stakeholders strive to maximize return on investment by selecting the most valuable requirements for implementation. Deciding on the requirements to be selected entails a great deal of communication and coordination amongst the stakeholders to ascertain the priorities of the individual requirements. The prioritized requirements aid in the planning and sequencing of implementation activities associated with the software system and provides a basis of a prioritized backlog from which the requirements can be ‘pulled’ for development. Changing business priorities may require a complete reprioritization of the backlog, leading to wasted effort. Individual change requests and new requirements need to be prioritized and inserted into the correct location in the backlog requiring high communication overhead. In this paper we summarize a two-step prioritization approach using a decision theoretic model to prioritize system and software requirements that alleviates these concerns. The system is initially decomposed into high-level Minimal Marketable Features (MMFs) and each MMF is further decomposed into low-level requirements. The MMFs are prioritized against the business goals of the organization and the low-level requirements with respect to ease of realization and business value. The priorities of the individual requirements are influenced by that of the MMFs they belong to. This two-step approach serves as an important prelude for a dynamically prioritizable product backlog. In this paper we present a proof-of-concept of having implemented this approach with 24 real-client student project teams at the Software Engineering project course at the University of Southern California.
Article Search

Risk

Search Based Risk Mitigation Planning in Project Portfolio Management
Junchao Xiao, Leon J. Osterweil, Jie Chen, Qing Wang, and Mingshu Li
(ISCAS, China; University of Massachusetts at Amherst, USA)
Software projects are always facing various risks. These risks should be identified, analyzed, prioritized, mitigated, monitored and controlled. After risks are identified and analyzed, resources must then be devoted to mitigation. However, risk prioritization and mitigation planning are complicated problems. Especially in project portfolio management (PPM), resource contention among projects leads to difficulty in choosing and executing mitigation actions. This paper introduces a search based risk mitigation planning method that is useful in PPM. It integrates the analysis of risks, consideration of available resources, and evaluation of possible effects when taking risk mitigation actions. The method uses a genetic algorithm to search for the risk mitigation plan of optimal value. A case study shows how this method can identify effective risk mitigation plans, thus providing useful decision support for managers.
Article Search
Risk Management of Medical IT Networks: An ISO/IEC 15504 Compliant Approach to Assessment against IEC 80001-1
Silvana Togneri MacMahon, Fergal McCaffery, and Frank Keenan
(Dundalk Institute of Technology, Ireland)
The incorporation of a medical device into an IT network can introduce risks that may not have been addressed during the design and manufacture of the device. IEC 80001-1 is a lifecycle risk management standard which was developed to address these risks. This paper presents research which has been performed to date which has led to the development of a Process Reference Model (PRM) and Process Assessment Model (PAM) which can be used by Healthcare Delivery Organisations to assess themselves against IEC 80001-1. This paper also presents future work in this area which includes the development of an assessment method for IEC 80001-1 and the validation of the PRM, PAM and assessment method.
Article Search

Software Process II

Generation of Process using Multi-objective Genetic Algorithm
Yoann Laurent, Reda Bendraou, and Marie-Pierre Gervais
(UPMC, France; Paris West University, France)
The growing complexity of processes whatever their kind (i.e. business, software, medical, military) stimulates the adoption of process execution, analysis and verification techniques. However, such techniques cannot be accurately validated as it is not possible to obtain numerous and realistic process models in order to stress test them. The small set of samples and ``toy'' models publically available in the literature is usually insufficient to conduct serious empirical studies and thus, to validate thoroughly work around process analysis and verification. In this paper, we face this problem by proposing a process model generator using a multi-objective genetic algorithm. The originality of our approach comes from the fact that process models are built through a sequence of high-level operations inspired by the way a process modeler could have actually performed to model a process. A working generator prototype has been implemented and shows that it is possible to quickly generate huge, syntactically sound and user-tailored process models.
Article Search
Systematic Software Process Development: Where Do We Stand Today?
Marco Kuhrmann, Daniel Méndez Fernández, and Ragna Steenweg
(TU Munich, Germany)
A software process metamodel (SPMM) defines a language to describe concrete software processes in a structured manner. Although agile methods gained much attention in recent years, we still need to provide process engineers with adequate tools to design, implement, publish and deploy, and manage comprehensive software processes. In response to this need, several SPMMs have been developed. It remains, however, unclear, which of those SPMMs are disseminated to which extent. In this paper, we contribute first results of a study on the state-of-the-art in the systematic development of software processes using standardized SPMMs and their corresponding infrastructure. Our results show that only a few documented standards exist and, furthermore, that among those standards only two are disseminated into practice. We focus on those standardized SPMMs, show their process ecosystem, and sketch a first picture on the state-of-the-art in SPMM-based software process develop- ment in order to foster discussions on further problem-driven research.
Article Search
Criteria for Software Process Tailoring: A Systematic Review
Georg Kalus and Marco Kuhrmann
(TU Munich, Germany)
Independently from which software process was selected for a company or a project, the selected software process usually cannot be applied without any customization. Although the need to tailor a software process to specific project requirements seems to be widely accepted and unquestioned, the way of doing the tailoring remains unclear and is, therefore, often left to the expertise of process engineers or project managers. What are the criteria to be applied in the tailoring? What are dependencies between different criteria and how should certain criteria influence the software process? In this paper we investigate concrete tailoring criteria for the tailoring of software processes. To this end, we present a collection of 49 tailoring criteria as the outcomes of a systematic literature review. We further analyze the impact of the discovered tailoring criteria by relating them to a set of 20 exemplary tailoring actions, which affect the project-specific software process. Our outcomes show that the factors influencing the tailoring are well understood, however, the consequences of the criteria remain abstract and need to be interpreted on a project-per-project basis.
Article Search

proc time: 0.2