What is a Feature? A Qualitative Study of Features in Industrial Software Product Lines

  • Thorsten Berger
  • , Daniela Rabiser
  • , Julia Rubin
  • , Paul Grünbacher
  • , Adeline Silva
  • , Martin Becker
  • , Krzysztof Czarnecki (Editor)
  • , Marscha Chechik

Research output: Chapter in Book/Report/Conference proceedingConference proceedingspeer-review

Abstract

The notion of features is commonly used to describe the functional and non-functional characteristics of a system. In software product line engineering, features often become the prime entities of software reuse and are used to distinguish the individual products of a product line. Properly decomposing a product line into features, and correctly using features in all engineering phases, is core to the immediate and long-term success of such a system. Yet, although more than ten different definitions of the term feature exist, it is still a very abstract concept. Definitions lack concrete guidelines on how to use the notion of features in practice. To address this gap, we present a qualitative empirical study on actual feature usage in industry. Our study covers three large companies and an in-depth, contextualized analysis of 23 features, perceived by the interviewees as typical, atypical (outlier), good, or bad representatives of features. Using structured interviews, we investigate the rationales that lead to a feature's perception, and identify and analyze core characteristics (facets) of these features. Among others, we find that good features precisely describe customer-relevant functionality, while bad features primarily arise from rashly executed processes. Outlier features, serving unusual purposes, are necessary, but do not require the full engineering process of typical features.
Original languageEnglish
Title of host publicationProceedings 19th Int'l Software Product Line Conference, SPLC '15
PublisherACM
Pages16-25
Number of pages10
ISBN (Electronic)9781450336130
ISBN (Print)978-1-4503-3613-0
DOIs
Publication statusPublished - 20 Jul 2015

Publication series

NameACM International Conference Proceeding Series
Volume20-24-July-2015

Fields of science

  • 102 Computer Sciences
  • 102022 Software development
  • 102025 Distributed systems

JKU Focus areas

  • Computation in Informatics and Mathematics
  • Engineering and Natural Sciences (in general)

Cite this