From Agile Software Product Line Engineering Towards Software Ecosystems
MetadataShow full item record
Development and evolution of software products is a challenging endeavor and a significant subfield of software engineering. One of the commonly applied approaches to control and manage this process is software product line engineering (SPLE). There exist a few process frameworks where the development of lines of related software products is basically a sum of two processes: the development of reusable assets and the rapid construction of software applications using predeveloped assets. Agile software development (ASD) is another major paradigm, which also has been widely adopted by the industry over the past decade. SPLE and ASD seek to achieve the same goal i.e. rapid and efficient construction of software. However, the former emphasizes extensive up-front investment in the development of assets for later re-use in contrast to ASD, which emphasizes a reactive approach, avoiding up-front planning and development Even though these two approaches may seem to oppose each other, the industry has lately showed great interest in combining them both, aiming to cover the weaknesses of the one with the strengths of the other. In combination with the overall shift in the software industry from closed systems mindset towards open systems, the uptake of some ASD principles (for example active customer engagement, incremental and iterative development, and open information flows) in product line organizations may contribute to the emergence of more flexible software ecosystems. This thesis presents a longitudinal study of a software product line organization, which has adopted an adapted ASD methodology in an SPLE context and to a large extent has successful in gaining benefits from both approaches, developing towards more open yet controlled processes. Data have been collected over a period of approximately five years following the progression from a strictly waterfall oriented approach, via the adoption of the agile method Evo, up to the current combined agile software product line engineering approach. The following research questions have been addressed in this thesis: RQ1: How can software product line engineering and agile software development be combined? RQ2: How does a software ecosystem shape? The main contributions of this work are: C 1. Through a longitudinal study of a software product line organization we provide detailed insight into an industrial case and how they have changed over time. C 2. We have illustrated some of the details of how SPLE and ASD can be combined in practical terms. We describe the current organization, their product line and their agile software product line engineering process. C 3. We have illustrated how the incorporation of some of the central agile principles has enabled a closer cooperation with external actors. C 4. We have explained the emergence and mode of operation of a software ecosystem, and provided a conceptual model of software ecosystems based on our findings. C 5. We have proposed a theory of software ecosystems, rooted in socio-technical theory and the concept of organizational ecology.
Has partsHanssen,, G. K.; Fægri, T. E.. Agile Customer Engagement: a Longitudinal Qualitative Case Study. In proceedings of 5th International Symposium on Empirical Software Engineering: 164-173, 2006. 10.1145/1159733.1159759.
Fægri, Tor Erlend; Hanssen, Geir Kjetil. Collaboration, process control, and fragility in evolutionary product development. IEEE Software. (ISSN 0740-7459). 24(3): 96-104, 2007. 10.1109/MS.2007.68.
Hanssen, Geir K.; Faegri, Tor E.. Process fusion. Journal of Systems and Software. (ISSN 0164-1212). 81(6): 843-854, 2008. 10.1016/j.jss.2007.10.025.
Hanssen, G. K.; Yamashita, A. F.; Conradi, R.; Moonen, L.. Software Entropy in Agile Product Evolution. In proceedings of 43d Hawaiian International Conference on System Sciences, 2010. 10.1109/HICSS.2010.344.
Hanssen, G. K.. Opening up Software Product Line Engineering. In proceedingsof 1st International Workshop on Product Line Approaches in Software Engineering - PLEASE '10, 2010. 10.1145/1808937.1808938.
Hanssen, G. K.. A Longitudinal Case Study of an Emerging Software Ecosystem: Implications for Practice and Theory. .