Advertisement

Abstract

Inspect and adapt is essential to succeed with agile software development. Our objective was to understand the challenges of software process improvement in agile software development teams. We designed a multiple case study consisting of five projects in three software product companies that applied Scrum. We collected data in semi-structured interviews. We found that long-term quality was often in conflict with short-term progress, specialization hinders self-management, process related problems are difficult to solve and there are major organizational barriers to self-management. The main conclusion drawn from this work is that software process improvement challenges in agile software development are the problems of increasing redundancy to create conditions for the team to self-manage, to learn how to learn, and to improving agile software development as a large long-term organizational change project.

Keywords

Agile software development multiple case study software process improvement single-loop and double-loop learning learning to learn retrospective self-management team 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Nerur, S., Mahapatra, R., Mangalaraj, G.: Challenges of migrating to agile methodologies. Communications of the ACM 48(5), 72–78 (2005)CrossRefGoogle Scholar
  2. 2.
    Erickson, J., Lyytinen, K., Siau, K.: Agile Modeling, Agile Software Development, and Extreme Programming: The State of Research. Journal of Database Management 16(4), 88–100 (2005)CrossRefGoogle Scholar
  3. 3.
    Cohen, D., Lindvall, M., Costa, P.: An Introduction to Agile Methods. In: Zelkowitz, M.V. (ed.) Advances in Computers. Advances in Software Engineering. Elsevier, Amsterdam (2004)Google Scholar
  4. 4.
    Abrahamsson, P., et al.: Agile software development methods - Review and analysis. VTT Electronics. VTT Publications (2002)Google Scholar
  5. 5.
    Abrahamsson, P., et al.: New directions on agile methods: a comparative analysis (2003)Google Scholar
  6. 6.
    Ringstad, M.A., Dingsøyr, T., Moe, N.B.: Agile Process Improvement: Diagnosis and Planning to Improve Teamwork. In: O‘Connor, R.V., Pries-Heje, J., Messnarz, R. (eds.) EuroSPI 2011. CCIS, vol. 172, pp. 167–178. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  7. 7.
    Salo, O., Abrahamsson, P.: An iterative improvement process for agile software development. Software Process: Improvement and Practice 12(1), 81–100 (2007)CrossRefGoogle Scholar
  8. 8.
    Qumer, A., Henderson-Sellers, B.: A framework to support the evaluation, adoption and improvement of agile methods in practice. Journal of Systems and Software 81(11), 1899–1919 (2008)CrossRefGoogle Scholar
  9. 9.
    Mathiassen, L., Ngwenyama, O.K., Aaen, I.: Managing change in software process improvement. IEEE Software 22(6), 84–91 (2005)CrossRefGoogle Scholar
  10. 10.
    Conradi, R., Fuggetta, A.: Improving Software Process Improvement. IEEE Software 19(4), 92–99 (2002)CrossRefGoogle Scholar
  11. 11.
    Aaen, I., et al.: A conceptual map of software process improvement. Scand. J. Inf. Syst. 13, 123–146 (2001)Google Scholar
  12. 12.
    Lycett, M., et al.: Migrating agile methods to standardized development practice. Computer 36(6), 79–85 (2003)CrossRefGoogle Scholar
  13. 13.
    Aaen, I.: Essence: Facilitating Agile Innovation. In: Abrahamsson, P., Baskerville, R., Conboy, K., Fitzgerald, B., Morgan, L., Wang, X. (eds.) XP 2008. LNBIP, vol. 9, pp. 1–10. Springer, Heidelberg (2008)Google Scholar
  14. 14.
    Aaen, I., Börjesson, A., Mathiassen, L.: Navigating Software Process Improvement Projects. In: Baskerville, R.L., Mathiassen, L., Pries-Heje, J., DeGross, J.I. (eds.) Business Agility and Information Technology Diffusion. IFIP, pp. 53–71. Springer, Boston (2005)CrossRefGoogle Scholar
  15. 15.
    Trist, E.: The evolution of socio-technical systems: a conceptual framework and an action research program, in Occasional paper No 2 1981, Ontario Quality of Working Life Centre, Toronto, Ontario Google Scholar
  16. 16.
    van Solingen, R., et al.: From process improvement to people improvement: enabling learning in software development. Information and Software Technology 42(14), 965–971 (2000)CrossRefGoogle Scholar
  17. 17.
    Børjesson, A., Mathiassen, L.: Successful process implementation. IEEE Software 21(4), 36–44 (2004)CrossRefGoogle Scholar
  18. 18.
    Dybå, T.: Improvisation in Small Software Organizations. IEEE Software 17(5), 82–87 (2000)CrossRefGoogle Scholar
  19. 19.
    Argyris, C., Schön, D.A.: On Organizational Learning II: Theory, Method and Practise. Addison Wesley, Reading (1996)Google Scholar
  20. 20.
    Morgan, G.: Images of Organizations, p. 504. SAGE Publications, Thousand Oaks (2006)Google Scholar
  21. 21.
    McAvoy, J., Butler, T.: The role of project management in ineffective decision making within Agile software development projects. European Journal of Information Systems 18(4), 372–383 (2009)CrossRefGoogle Scholar
  22. 22.
    Yin, R.K.: Case study research: design and methods, 4th edn. Sage, Thousand Oaks (2008)Google Scholar
  23. 23.
    Muller, S.D., Kraemmergaard, P., Mathiassen, L.: Managing Cultural Variation in Software Process Improvement: A Comparison of Methods for Subculture Assessment. IEEE Transactions on Engineering Management 56(4), 584–599 (2009)CrossRefGoogle Scholar
  24. 24.
    Moe, N.B., Dingsøyr, T., Dybå, T.: Overcoming Barriers to Self-Management in Software Teams. IEEE Software 26(6), 20–26 (2009)CrossRefGoogle Scholar
  25. 25.
    Kraut, R.E., Streeter, L.A.: Coordination in software development. Communications of the ACM 38(3), 69–81 (1995)CrossRefGoogle Scholar
  26. 26.
    Aurum, A., Wohlin, C., Porter, A.: Aligning Software Project Decisions: A Case Study. International Journal of Software Engineering and Knowledge Engineering 16(6), 795–818 (2006)CrossRefGoogle Scholar
  27. 27.
    Barker, J.R.: Tightening the Iron Cage - Concertive Control in Self-Managing Teams. Administrative Science Quarterly 38(3), 408–437 (1993)CrossRefGoogle Scholar
  28. 28.
    Tata, J., Prasad, S.: Team Self-management, Organizational Structure, and Judgments of Team Effectiveness. Journal of Managerial Issues 16(2), 248–265 (2004)Google Scholar
  29. 29.
    Schneider, K., von Hunnius, J.P., Basili, V.R.: Experience in implementing a learning software organization. IEEE Software 19(3), 46–49 (2002)CrossRefGoogle Scholar
  30. 30.
    Dybå, T.: An empirical investigation of the key factors for success in software process improvement. IEEE Transactions on Software Engineering 31(5), 410–424 (2005)CrossRefGoogle Scholar
  31. 31.
    Salo, O., Abrahamsson, P.: Integrating agile software development and software process improvement: a longitudinal case study. In: International Symposium on Empirical Software Engineering (ISESE), pp. 187–196. IEEE, Noosa Heads (2005)Google Scholar
  32. 32.
    Fægri, T.E., Dybå, T., Dingsøyr, T.: Introducing knowledge redundancy practice in software development: Experiences with job rotation in support work. Information and Software Technology 52(10), 1118–1132 (2010)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Nils Brede Moe
    • 1
  1. 1.SINTEFTrondheimNorway

Personalised recommendations