Real product families need to evolve in ways that are not always anticipated by a pre-planned design. Any given approach for software product lines will likely lead to both positive and negative consequences during unanticipated software evolution. Unfortunately, we know little about the evolvability characteristics of SPL approaches that concern both modelling and implementation, limiting our ability to make rational and disciplined decisions about adoption.We conduct a case study into the unanticipated evolution of a software product family using two approaches: separate products versus a common codebase using delta-oriented programming (DOP). We compare the ease of change within the two versions through a set of quantitative measurements and qualitative observations. We find that both versions have strengths and weaknesses: complexity and incomplete support from DOP tools versus significant duplication and error-proneness in the separate products.

Additional Metadata
Keywords Case study, Comparative study, Delta-oriented programming, Retrospective study, Separate products, Software product lines, Unanticipated evolution
Persistent URL dx.doi.org/10.1145/3109729.3109739
Conference 21st International Systems and Software Product Line Conference, SPLC 2017
Citation
Hamza, M. (Mostafa), Walker, R.J. (Robert J.), & Elaasar, M. (2017). Unanticipated evolution in software product lines versus independent products: A case study. In ACM International Conference Proceeding Series (pp. 97–104). doi:10.1145/3109729.3109739