1 Introduction

As our society becomes ever more reliant on digital technology, there is an increasing demand for software that is becoming ever more complex. In order to obtain high-quality products along with higher productivity, it is necessary to carefully elicit, specify, analyze and manage software requirements. This not only simplifies system design and implementation but also reduces the number of defects that are identified later in the implementation stage [3, 5]. Requirements engineering is introduced to address such issues early in the development process.

Software product line practice [1] is an approach based on the systematic creation and reuse of assets (e.g., requirements, architecture, components) in support of product development. Hence, there are many requirements that are common across the family of products, and there are others that are unique to individual products. In software product line development, requirements engineering processes and techniques are used to identify and characterize this dual nature of product line requirements and allocate them to potential member products based upon their commonality and variability.

The major risk associated with requirements engineering, in general, is the failure to capture the needed requirements. In product line development, this problem will be amplified over more than product. Specifying the wrong or inappropriate requirements, failing to keep the requirements up-to-date or failing to elicit the requirements at all puts the architect and the component developers at risk [4]. In a product line context, there is also the additional burden of correctly identifying and engineering both product-line-wide requirements and product-specific requirements as well as evolving them.

The main objective of this special issue is to highlight the importance and the role of requirements engineering in software product line development and to provide researchers and practitioners with insights into the state of the art and the state of the practice. We hope that the publication of this issue will encourage more researchers to look at the conjunction of both fields. Our expectation is that the challenges of complex product line software development will benefit from this integrated perspective.

2 The content of this issue

The three articles presented in this special issue have been selected following a thorough review process of 20 submissions that responded to the Call for Articles which was distributed. In addition, the best paper of the First International Workshop on Requirements Engineering Practices on Software Product Line Engineering (REPOS 2012), which was held in conjunction with the Software Product Line Conference (SPLC 2012), was invited to submit an extended and enhanced version. Each of these 21 articles was reviewed by at least three reviewers, with a range from three to four reviewers, in two review stages.

The first article “Requirements-Driven Incremental Adoption of Variability Management Techniques and Tools: An Industrial Experience Report” by Mahdi Derakhshanmanesh, Joachim Fox and Jürgen Ebert reports on an industrial experience at TRW Automotive in developing and adopting an approach for variability management and reuse of requirements. It also includes a description of the customization performed on third party tools (pure::variants, DOORS and Rhapsody) to automate the approach. The initial version of this article [2] was selected as the best paper of the REPOS 2012 workshop.

The second article “Evaluating Scenario-Based SPL Requirements Approaches: The Case for Modularity, Stability and Expressiveness” by Mauricio Alférez, Rodrigo Bonifácio, Leopoldo Teixeira, Paola Accioly, Uirá Kulesza, Ana Moreira, João Araújo and Paulo Borba presents an empirical study that compares and analyzes four existing approaches to modeling and managing variability in software product line requirements specifications. In particular, graphics- versus text-based, and annotation- versus composition-based specification approaches were considered and their strengths and weaknesses noted. Recommendations for the definition of new variability management approaches are also provided.

The final article “A Holistic Approach to Feature Modeling for Product Line Requirements Engineering” by Jaejoon Lee, Kyo C. Kang, Pete Sawyer and Hyesun Lee proposes a comprehensive goal-driven feature modeling approach that explicitly partitions a product line into different viewpoints representing problem space (requirements) and solution space (features) and establishes explicit mappings between them. The proposed approach aims to make requirements engineering and software product line engineering (particularly the modeling of commonality and variability) more complementary activities.