Modelling and managing variability with feature assembly: an experience report

Feature models have been commonly used to model the variability and commonality in software product lines. We have defined the Feature Assembly Modelling, a feature modelling technique that allows to model variability in software adopting a multi perspective approach. Furthermore, the approach allows modelling software by combining both variability and reusability, i.e. we have developed an approach to take reusability into account while defining new software. To support the approach, we have also developed an information retrieval framework that provides an interactive visualization of the feature models. The visualization allows users to explore and query the existing models. In this paper, we report on our experience in introducing this variability modelling approach into a small-scale software company. This experience was very useful for both parties. The company was able to uncover the structure of their software and the modelling exercise provided them better insight in their products. For us, it has helped to better understand the needs of companies, to evaluate the usability of our Feature Assembly approach and the associated learning curve, as well as revealing its current limitations. Moreover, as we are aware of the fact that classical feature modelling is not yet a practice adopted by companies, it was interesting to see that our approach was well accepted and appreciated by the company.
Publication Reference
Lamia Abo Zaid and Olga De Troyer. 2012. Modelling and managing variability with feature assembly: an experience report. In Proceedings of the Second Edition of the International Workshop on Experiences and Empirical Studies in Software Modelling (EESSMod '12). ACM, New York, NY, USA, , Article 9 , 7 pages. DOI=10.1145/2424563.2424575