Requirements Reuse: the State of the Practice

13446 Views
0 Comments
3 Likes

Author: Yuri Chernak, Ph.D.

Abstract For several decades, software reuse has been a recognized solution to improving efficiency of software development. However, implementing reuse in practice remains challenging and the IT comRequirements Reuse: the State of the Practicemunity has little visibility into the state of the practice specifically as it pertains to reusing software requirements. This paper presents the results of a survey conducted in the global IT industry in 2010 and discusses the state of the practice for software requirements reuse. The survey studies reuse adoption in two different contexts, i.e., Software Product Lines and Software Maintenance. The analysis of the survey data focuses on the latter context as a more common case in practice and investigates the impact of various factors on reuse adoption and effectiveness.

INTRODUCTION

Software reuse is a recognized solution to the three primary drivers of the software business – faster, better, cheaper. This topic has been the focus of the IT industry for several decades and it has been addressed in many publications, e.g. [1- 5]. All major products of a software process, for example requirements, architectural components, and software code, can be subject to reusing in two separate contexts – a) for developing similar applications, and b) for implementing releases of the same application. The first context is known as Software Product Lines (SPL), a.k.a., Domain Engineering [6 - 8]. The second context is known as Software Maintenance [9 - 11].

In practice, requirements reuse for software maintenance appears to have much more opportunities as opposed to the SPL case for two reasons:

  • Firstly, software maintenance is a more common case in practice as most of the applications in a typical IT department, for example in the financial or hospitality industries, are existing production systems that go through regular cycles of production releases. Whereas, new applications account only for a small share of the IT portfolio. This fact leaves little opportunity for IT project teams to apply and benefit from requirements reuse in the SPL context.
  • Secondly, most of the time changes allocated to future releases overlap with the existing functionality of applications. Hence, this provides opportunities for reusing the existing product requirements for future releases.

Broad adoption of requirements reuse in the IT industry still remains challenging for both contexts. So far, IT research has been primarily focused on studying requirements reuse in the SPL context [12, 13], whereas requirements reuse for releases in the Software Maintenance context has had much less attention. As a result, the IT community has little visibility into the state of the reuse practice in the latter context. Nor are the obstacles for adopting reuse and factors impacting reuse effectiveness well-understood. Lastly, IT practitioners lack recommendations for better reuse adoption for releases.

This article discusses the state of the practice of software requirements reuse in the global IT industry and presents the results of the survey conducted between March and August, 2010. The goal of this survey was twofold:

  1. Gain visibility into the state of the practice of software requirements reuse in the global IT industry with a focus on the Software Maintenance case;
  2. Identify common obstacles for adopting requirements reuse as well as the factors impacting reuse effectiveness; provide recommends to practitioners to better adopt reuse.











Copyright 2006-2020 by Modern Analyst Media LLC