As information technology’s role in the modern economy grows in importance, society makes exponentially greater demands on the diversity and quality of the software being produced. To develop high quality software, a good software development process is important. Software process improvement is about improving software quality and reliability, employee and client satisfaction, and return on investment. From the mid 1990s onwards, agile software development has been challenging the traditional (plandriven) view of software development. Agile software development accords primacy to uniqueness, ambiguity, complexity, and change, as opposed to prediction, verifiability, and control.
The fundamental differences between traditional and agile software process improvement and the lack of research on these differences, gave rise to the overall problem addressed by this thesis: “How does Software Process Improvement work change with the introduction of agile software development in plan-driven companies?” This thesis focus on answering the following research questions: What characterizes SPI in plan-driven companies?, What characterizes SPI in change-driven companies?, and What are the key SPI challenges when implementing change-driven development?
This thesis summarizes six years of studies in three small and medium-sized companies in Norway. The overall research method has been the same: case study and action research. Qualitative data in the form of interviews and participant observations constitute the most important source of evidence.
Through a synthesis of contributions from twelve papers, ten key findings connected to the three research questions has been identified. To summarize, software process improvement in plan-driven companies is characterized by a participative bottom-up approach when creating company best practice, focus on project management support, high individual autonomy, and long cycles of single-loop learning; the goal of reflection on projects is to improve future projects. Software process improvement in changedriven companies is characterized by supporting the whole team and not only project management, practice is improved by short cycles of single-loop learning, and the goal of reflection in projects is to improve the current project. Finally, software process improvement challenges while implementing change-driven development are to increase redundancy to create conditions for the team to self-manage, to learn how to learn, and to perceive the adoption of change-driven development as a large, long-term organizational change project.
The overall contribution of this thesis is that it shows empirically that the goal of software process improvement changes from improving processes to improving practice. However, achieving this goal is challenging when only part of the organization is involved in the change. Also contributions are deep knowledge about software process improvement in plan- and change-driven small- and medium-sized companies, knowledge about software process improvement challenges when implementing change-driven development, and increase the body of literature on longitudinal action research
Trondheim NTNU: NTNU-trykk , 2011.