Software variability is an ability to change (configure, customize, extend) soft ware artefacts (e.g. code, product, domain requirements, models, design, documentation, test cases) for a specific context. Optimized variability management can lead a software com pany to 1) shorter development lead time, 2) improved customer and improved user satisfaction, 3) reduced complexity of product management (more variability, same S) and 4) reduced costs (same variability, less $). However, it is not easy for software companies. By introducing the challenges and used practices related to variability the paper deepens understanding of this highly relevant but relatively underresearched phenomenon and contributes to the literature on software product line engineering.
Ihme T., Pikkarainen M., Biot O., Teppola S., “Challenges and industry practices for managing software variability in software companies” Journal: Empirical Software Engineering