Alejandro Cortiñas, J. Krüger, Victor Lamas, M. R. Luaces, Oscar Pedreira
{"title":"How to Retire and Replace a Software Product Line","authors":"Alejandro Cortiñas, J. Krüger, Victor Lamas, M. R. Luaces, Oscar Pedreira","doi":"10.1145/3579027.3609004","DOIUrl":null,"url":null,"abstract":"Software product-line engineering provides a framework for an organization to develop a family of similar, yet customized, software systems based on a common platform. This platform allows the organization to configure a system to changing customer requirements, while also achieving long-term benefits like reduced development and maintenance costs. Consequently, a product line is typically used for a long-living family of systems and is continuously evolved. However, at some point even a product line may be retired and potentially replaced by a successor, for instance, because of outdated technology that cannot be replaced easily and thus makes developing a new product line more feasible. Such a retiring of product lines is mentioned in previous work, but has not been investigated in detail. In this paper, we tackle this gap by describing a process for retiring and replacing a product line, which we defined based on a real-world action-research-like case study. Via this case study. we describe how our process can be executed in practice, what decisions must be considered, as well as the pros and cons we experienced with retiring a product line. We expect that these contributions will help practitioners retire product lines more systematically and with fewer problems. We also indicate open research directions that should be tackled in the future.","PeriodicalId":322542,"journal":{"name":"Proceedings of the 27th ACM International Systems and Software Product Line Conference - Volume A","volume":"16 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-08-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 27th ACM International Systems and Software Product Line Conference - Volume A","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3579027.3609004","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Software product-line engineering provides a framework for an organization to develop a family of similar, yet customized, software systems based on a common platform. This platform allows the organization to configure a system to changing customer requirements, while also achieving long-term benefits like reduced development and maintenance costs. Consequently, a product line is typically used for a long-living family of systems and is continuously evolved. However, at some point even a product line may be retired and potentially replaced by a successor, for instance, because of outdated technology that cannot be replaced easily and thus makes developing a new product line more feasible. Such a retiring of product lines is mentioned in previous work, but has not been investigated in detail. In this paper, we tackle this gap by describing a process for retiring and replacing a product line, which we defined based on a real-world action-research-like case study. Via this case study. we describe how our process can be executed in practice, what decisions must be considered, as well as the pros and cons we experienced with retiring a product line. We expect that these contributions will help practitioners retire product lines more systematically and with fewer problems. We also indicate open research directions that should be tackled in the future.