Decision support for moving from a single product to a product portfolio in evolving software systems

Muhammad Irfan Ullah, Günther Ruhe, Vahid Garousi

Research output: Contribution to journalArticlepeer-review

21 Citations (Scopus)


Successful software systems continuously evolve to accommodate ever-changing needs of customers. Accommodating the feature requests of all the customers in a single product increases the risks and costs of software maintenance. A possible approach to mitigate these risks is to transition the evolving software system (ESS) from a single system to a portfolio of related product variants, each addressing a specific customers' segment. This evolution should be conducted such that the extent of modifications required in ESS's structure is reduced. The proposed method COPE+ uses preferences of customers on product features to generate multiple product portfolios each containing one product variant per segment of customers. Recommendations are given to the decision maker to update the product portfolios based on structural analysis of ESS. Product portfolios are compared with the ESS using statechart representations to identify the level of similarity in their behaviors. A proof of concept is presented by application to an open-source text editing system. Structural and behavioral analysis of candidate portfolios helped the decision maker to select one portfolio out of three candidates.

Original languageEnglish
Pages (from-to)2496-2512
Number of pages17
JournalJournal of Systems and Software
Issue number12
Publication statusPublished - 01 Dec 2010
Externally publishedYes


  • Behavioral analysis
  • Decision support
  • Open-source systems
  • Software product evolution
  • Software product lines
  • Software product management

ASJC Scopus subject areas

  • Software
  • Information Systems
  • Hardware and Architecture

Fingerprint Dive into the research topics of 'Decision support for moving from a single product to a product portfolio in evolving software systems'. Together they form a unique fingerprint.

Cite this