Adopting Software Product Lines: Guidelines based on the Maturity of Organizations
Independent thesis Advanced level (degree of Master (One Year))Student thesis
Software Product Lines (SPL) is a relatively new way of working in software development. A SPL is an enforced architecture and a collection of components common for more than one product within a domain. Development using SPL utilizes tools and techniques for creating software systems from a common set of core assets in order to satisfy a certain market. In this study we investigate how to proceed when transitioning to a SPL development approach by evaluating proposed and used adoption approaches, methods and frameworks. We performed a systematic literature review using three main sources; Compendex/Inspec, CiteSeerX and Google Scholar. The results are analyzed using a qualitative analysis technique called Recursive Abstraction where the results are iteratively summarized to extract the essence of the data. A manageable collection of frameworks, methods and approaches are summarized as a starting point for a reader who wants to dig deeper into the subject. A set of guidelines is suggested for companies who are considering a transition to SPL development. We also investigate the link between SPL and organization maturity, with a focus on the benefits of combining a SPL initiative with a CMMI initiative. We conclude that the transition process should not be taken lightly; in most cases it should be made in incremental steps. There is a fairly standard approach to adopt SPL and there are a few frameworks that are commonly accepted. However, we also conclude that most research areas of SPL development lacks in validation. Concerning the link between SPL and CMMI we identify some PA's that are more important when considering SPL development and a few others that may be harder to execute. We conclude that SPL benefits from process maturity and discipline as SPL development is process controlled and a lack in process discipline may cause corrosion of the SPL. A CMMI maturity level of Defined processes should be considered a prerequisite for a complete SPL practice. We could not find any indication that the organization maturity would benefit from SPL practices alone. Neither could we identify any drawbacks of having both an CMMI initiative and SPL transition initiative within the same organization.
Place, publisher, year, edition, pages
2010. , 115 p.
Software Product Line, Guidelines, Transition, Initiation, Adoption, Literature Review
IdentifiersURN: urn:nbn:se:bth-5196Local ID: oai:bth.se:arkivex90FF8C64E76E4849C12577B50031EA9FOAI: oai:DiVA.org:bth-5196DiVA: diva2:832561