IBIS – Interoperability in Business Information Systems
-9-
© IBIS – Issue 1 (1), 2006
Maturity Assessment Framework for Business
Dimension of Software Product Family
Faheem Ahmed, Luiz Fernando Capretz
Department of Electrical & Computer Engineering
University of Western Ontario, London Ontario, Canada, N6A 5B9
fahmed@engga.uwo.ca , lcapretz@eng.uwo.ca
Abstract: The software product family approach aims at curtailing the concept of
“reinventing the wheel” in the software development process. The business has been
highlighted as one of the critical dimensions in the process of software product family.
This work presents an assessment framework for evaluating the business dimension of
software product family process. Additionally, a software product family business
evaluation tool has been designed and implemented on the basis of the presented
framework. The tool preprocesses the data of key business factors, and it evaluates the
overall business maturity of an organization. To demonstrate the application of the
framework, and to determine the current software product family business
performance, we conducted a case study of an organization actively involved in the
business of software product family. The framework and the tool provide direct
mechanisms to evaluate the current maturity level of software product family business
of an organization. This research is a contribution towards establishing a
comprehensive and unified strategy for a process evaluation of the software product
family.
Introduction
The software product family has become one of the most promising practices with
the potential to substantially increase the productivity of software development
process. It has emerged as an attractive phenomenon within organizations dealing
with software development. Software product family is a collection of software
systems built from a common underlying architecture and a set of software assets
in order to address the needs of a particular market segment. There are other
corresponding terminologies for software product family, ones, which have been
widely used in Europe and North America: for example, “product population”,
“system families”, and “software product line”. Ommering [1] introduced the term
“product population”, which is a collection of related systems based on similar
technology but having many differences among them. The software product line is
a comprehensive model for an organization building applications that are based on
a common architecture and core assets [2]. Clements [3] defines the term
“software product line” as a set of software systems sharing a common, managed
set of features that satisfy the specific needs of a particular market segment, and
that are developed from a common set of core assets in a prescribed way. The
economic potentials of software product line have long been recognized in the
software industry [4][5]. Clement et al. [6] reported that software product line
engineering is a growing software engineering sub-discipline, and many
organizations, including Philips, Hewlett-Packard, Nokia, Raytheon, and Cummins,
are using it to achieve extraordinary gains in productivity, time to market, and
product quality.