Process fusion: An industrial case study on agile software product line engineering Geir K. Hanssen a,b, * , Tor E. Fægri a a SINTEF ICT, NO-7465 Trondheim, Norway b Norwegian University of Science and Technology, Department of Computer and Information Science, NO-7491 Trondheim, Norway Received 27 March 2007; received in revised form 19 July 2007; accepted 10 October 2007 Available online 7 November 2007 Abstract This paper presents a case study of a software product company that has successfully integrated practices from software product line engineering and agile software development. We show how practices from the two fields support the company’s strategic and tactical ambitions, respectively. We also discuss how the company integrates strategic, tactical and operational processes to optimize collabora- tion and consequently improve its ability to meet market needs, opportunities and challenges. The findings from this study are relevant to software product companies seeking ways to balance agility and product management. The findings also contribute to research on indus- trializing software engineering. Ó 2007 Elsevier Inc. All rights reserved. Keywords: Software product development; Software product management; Software product line engineering; Agile software development 1. Introduction Software engineering is a complex task that involves fast-paced product development, competitive market con- ditions, knowledge management, organizational factors, rapidly evolving technologies, etc. As a means of handling this complexity, establishing control and using resources efficiently, development organizations normally adopt a method that defines how their software engineering activi- ties should be carried out within the given context. A method may cover a broad range of issues; typically esti- mation, design, and development, among others. A great many methodologies are available and they vary a lot; from strict plan-based approaches to agile approaches and any variant in between. Regardless of the method being used, most software projects strive to reach a balance between three basic goals: satisfactory software quality (scope), the right cost and timely delivery. Attempting to satisfy these requirements causes further complications to arise, particularly with respect to long-term product management issues. This paper discusses two popular development approaches; software product line engineering (SPLE) and agile soft- ware development (ASD). It describes how these have been combined to improve the ability to achieve the three basic goals. These two approaches can, in their most radical forms, be placed in each end of a plan-based/agile spectrum (Boehm, 2002). The former is based on planning and prep- arations for efficient software development based on rapid construction by assembling predeveloped assets, while the latter aims at efficient change response instead of extensive up-front planning. They may correspondingly be catego- rized as proactive and reactive approaches to software engineering. The principles of SPLE have been in use for a long time and industrial experience shows that the approach has substantial advantages when it comes to cost-efficient development, product quality and the ability 0164-1212/$ - see front matter Ó 2007 Elsevier Inc. All rights reserved. doi:10.1016/j.jss.2007.10.025 * Corresponding author. Address: SINTEF ICT, NO-7465 Trondheim, Norway. E-mail addresses: ghanssen@sintef.no (G.K. Hanssen), tor.e.fegri@ sintef.no (T.E. Fægri). www.elsevier.com/locate/jss Available online at www.sciencedirect.com The Journal of Systems and Software 81 (2008) 843–854