Pär Åsfält; Jan Stüeken MSE-2007-04, pp. 87. TEK/avd. för programvaruteknik, 2007.
Changes to a software system are the result of changing requirements or defects during the development. Each change consumes resources for the analysis, decision making, implementation, and verification. Hence, having control over changes is crucial for software development projects to meet schedules, keep quality standards and budgets. Reuse of functionality helps to create new products based on already existing building blocks. Integrating mature components enables to create reliable systems. Software product lines provide means to develop several similar systems based on reuse. Often new products also need to be released frequently to fulfil the customer needs. Shortened lead time for the development then strengthens the importance of reuse. At the same time, limited budgets and competition on the market requires projects to utilize resources efficiently. Developing several releases in parallel enables an even distribution of tasks among different roles in a development organization. Both developing software based on a product line approach and parallel releases put requirements on how changes need to be controlled.
In this thesis, software engineering literature is reviewed regarding the knowledge areas of software release management, software product lines and software configuration management. Beyond the most considerable research results also related case studies are presented to show how industry practices counter existing problems. The major part of the thesis is a case study conducted at Sony Ericsson Mobile Communications AB.
The outcome of the thesis is an identification of challenges of controlling changes regarding parallel development and using software product lines based on available research results and industry case studies. It further provides a case of a software development organization which faces a high market-pace, uses a software product line approach, and develops several software releases in parallel on different sites around the world.