Understanding flexibility of a software organization

University dissertation from Karlskrona : Blekinge Tekniska Högskola

Abstract: Context: Flexibility is an important capability for a software organization. Without flexibility a software organization risks losing its competitive advantage. To build software organization flexibility every constituent of the organization need to be taken into account. Otherwise there are unforeseen trade-offs that could have negative impacts on the rest of the organization. However, currently known flexibility approaches, such as, Agile and Lean methodologies are currently implemented at project level. There is a need for an approach that provides a holistic view to build software organization flexibility. Objective: The aim of this licentiate thesis to understand challenges that a software organization faces with respect to flexibility and how flexibility is built, and explore the potential of Agile and Lean practices to build software organization flexibility. Particularly in understanding the process of building software organization and the associated trade-offs.Method: A grounded theory study and a tertiary study were performed as part of this licentiate thesis. A grounded theory study was conducted to gain a better understanding pertaining to the challenges and processes in building software organization flexibility. The data was collected from an IT Department that provides services to a Fortune 500 financial institution. A tertiary study was performed to identify empirically evaluated Agile and Lean practices and their respective impacts. The findings from the tertiary study were synthesized using qualitative meta-study method. Results: The findings in this thesis uncovered a number of challenges that a software organization faces with respect to flexibility, they include budget cuts, overhead due to inconsistent development process, and regulatory changes. These challenges then can cause uncertainties that impede the organization’s op-erational efficiency, like delays and inefficient use of resources. To cope with the uncertainty, a software organization would build its flexibility through modi- fications of its organization constituents. Processes and trade-offs associatedi with achieving flexibility were also identified. Furthermore, a consolidated view of the impacts of Agile and Lean practices and their empirical support is also provided. Conclusion: With the challenges that a software organization face, build- ing software organization flexibility is becoming more prevalent. To improve software organization flexibility different constituents of the organization needs to be considered. Otherwise, the trade-offs associated to achieving flexibility cannot be thoroughly considered. Furthermore, Agile and Lean practices can have positive, negative, or no impacts on quality, budget, schedule, etc. The findings of this thesis can help practitioners identify flexibility needs, as well as improve their awareness of possible negative trade-offs when building software organization flexibility.