From Improving Processes To Improving Practice: Software Process Improvement in Transition from Plan-driven to Change-driven Development
MetadataVis full innførsel
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
Består avDyba, T; Moe, N B; Mikkelsen, E M. An empirical investigation on factors affecting software developer acceptance and utilization of electronic process guides. 10TH INTERNATIONAL SYMPOSIUM ON SOFTWARE METRICS, PROCEEDINGS: 220-231, 2004. 10.1109/METRIC.2004.1357905.
Dyba, T; Moe, N B; Arisholm, E. Measuring software methodology usage. 2005 International Symposium on Empirical Software Engineering (ISESE), Proceedings: 432-442, 2005. 10.1109/ISESE.2005.1541852.
Moe, N. B.; Dybå, T.. The use of an Electronic Process Guide in a medium sized Software Development Company. Software Process Improvement and Practice. Software Process - Improvement and Practice. (ISSN 1077-4866). 11: 21-34, 2006. 10.1002/spip.250.
Moe, N. B.; Dyba, T.. Improving by involving. Software Process Improvement: 159-170, 2006. 10.1007/11908562_15.
Dingsoyr, Torgeir; Moe, Nils Brede. The impact of employee participation on the use of an electronic process guide. IEEE Transactions on Software Engineering. (ISSN 0098-5589). 34(2): 212-225, 2008. 10.1109/TSE.2007.70767.
Moe, Nils Brede; Dingsoyr, Torgeir; Dyba, Tore. Understanding self-organizing teams in agile software development. , 2008.
Moe, Nils Brede; Aurum, Aybueke. Understanding Decision-Making in Agile Software Development. PROCEEDINGS OF THE 34TH EUROMICRO CONFERENCE ON SOFTWARE ENGINEERING AND ADVANCED APPLICATIONS: 216-223, 2008. 10.1109/SEAA.2008.55.
Moe, N. B.,; Dingsøyr, T.; Røyrvik, E. A.. Putting Agile Teamwork to the Test - An Preliminary Instrument for Empirically Assessing and Improving Agile Software Development. Agile Processes in Software Engineering and Extreme Programming: 114-123, 2009. 10.1007/978-3-642-01853-4_14.
Moe, N. B; Dingsøyr, T.; Kvangardsnes, Ø.. Understanding Shared Leadership in Agile Development. Proceedings of the 42nd Hawaii International Conference on System Sciences - 2009: 1-10, 2009. 10.1109/HICSS.2009.480.
Moe, Nils Brede; Dingsoyr, Torgeir; Dyba, Tore. Overcoming Barriers to Self-Management in Software Teams. IEEE Software. (ISSN 0740-7459). 26(6): 20-26, 2009. 10.1109/MS.2009.182.
Li, J.; Moe, N. B.; Dybå, T.. Transition from a plan-driven process to Scrum: a longitudinal case study on software quality. Proceedings of the 2010 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement: 1-10, 2010. 10.1145/1852786.1852804.
Moe, Nils Brede; Dingsoyr, Torgeir; Dyba, Tore. A teamwork model for understanding an agile team. Information and Software Technology. (ISSN 0950-5849). 52(5): 480-491, 2010. 10.1016/j.infsof.2009.11.004.