Advertisement

Empirical Software Engineering

, Volume 15, Issue 6, pp 654–693 | Cite as

The effect of moving from a plan-driven to an incremental software development approach with agile practices

An industrial case study
  • Kai PetersenEmail author
  • Claes Wohlin
Article

Abstract

So far, only few in-depth studies focused on the direct comparison of process models in general, and between plan-driven and incremental/agile approaches in particular. That is, it is not made explicit what the effect is of moving from one model to another model. Furthermore, there is limited evidence on advantages and issues encountered in agile software development, this is specifically true in the context of large-scale development. The objective of the paper is to investigate how the perception of bottlenecks, unnecessary work, and rework (from hereon referred to as issues) changes when migrating from a plan-driven to an incremental software development approach with agile practices (flexible product backlog, face-to-face interaction, and frequent integration), and how commonly perceived these practices are across different systems and development roles. The context in which the objective should be achieved is large-scale development with a market-driven focus. The selection of the context was based on the observation in related work that mostly small software development projects were investigated and that the investigation was focused on one agile model (eXtreme programming). A case study was conducted at a development site of Ericsson AB, located in Sweden in the end of 2007. In total 33 interviews were conducted in order to investigate the perceived change when migrating from plan-driven to incremental and agile software development, the interviews being the primary source of evidence. For triangulation purposes measurements collected by Ericsson were considered, the measurements relating to unnecessary work (amount of discarded requirements) and rework (data on testing efficiency and maintenance effort). Triangulation in this context means that the measurements were used to confirm the perceived changes with an additional data source. In total 64 issues were identified, 24 being of general nature and the remaining 40 being local and therefore unique to individual’s opinions or a specific system. The most common ones were documented and analyzed in detail. The commonality refers to how many persons in different roles and across the systems studied have mentioned the issues for each of the process models. The majority of the most common issues relates to plan-driven development. We also identified common issues remaining for agile after the migration, which were related to testing lead-time, test coverage, software release, and coordination overhead. Improvements were identified as many issues commonly raised for the plan-driven approach were not raised anymore for the incremental and agile approach. It is concluded that the recent introduction (start in 2005 with the study being conducted in the end of 2007) of incremental and agile practices brings added values in comparison to the plan-driven approach, which is evident from the absence of critical issues that are encountered in plan-driven development.

Keywords

Incremental Agile Plan-driven Case study Migration 

References

  1. Anderson DJ (2003) Agile management for software engineering: applying the theory of constraints for business results (the coad series). Prentice Hall PTR, Englewood CliffsGoogle Scholar
  2. Bahli B, Abou-Zeid ES (2005) The role of knowledge creation in adopting xp programming model: an empirical study. In: ITI 3rd international conference on information and communications technology: enabling technologies for the new knowledge societyGoogle Scholar
  3. Baskerville R, Ramesh B, Levine L, Pries-Heje J, Slaughter S (2003) Is internet-speed software development different? IEEE Softw 20(6):70–77CrossRefGoogle Scholar
  4. Beck K (1999) Embracing change with extreme programming. IEEE Comput 32(10):70–77Google Scholar
  5. Benediktsson O, Dalcher D, Thorbergsson H (2006) Comparison of software development life cycles: a multiproject experiment. IEE Proc Softw 153(3):323–332CrossRefGoogle Scholar
  6. Ceschi M, Sillitti A, Succi G, Panfilis SD (2005) Project management in plan-based and agile companies. IEEE Softw 22(3):21–27CrossRefGoogle Scholar
  7. Cohen D, Larson G, Ware B (2001) Improving software investments through requirements validation. In: Proceedings of the 26th annual NASA Goddard software engineering workshop (SEW 2001). IEEE Computer Society, Washington, p 106Google Scholar
  8. Cohen D, Lindvall M, Costa P (2004) An introduction to agile methods. In: Advances in computers. Elsevier, AmsterdamGoogle Scholar
  9. Dagnino A, Smiley K, Srikanth H, Antón AI, Williams LA (2004) Experiences in applying agile software development practices in new product development. In: Proceedings of the IASTED conference on software engineering and applications (IASTED-SEA 2004), pp 501–506Google Scholar
  10. Dai L, Guo W (2007) Concurrent subsystem-component development model (cscdm) for developing adaptive e-commerce systems. In: Proceedings of the international conference on computational science and its applications (ICCSA 2007), pp 81–91Google Scholar
  11. Damm LO, Lundberg L (2007) Company-wide implementation of metrics for early software fault detection. In: Proceedings of the 9th international conference on software engineering (ICSE 2007), pp 560–570Google Scholar
  12. Damm LO, Lundberg L, Wohlin C (2006) Faults-slip-through—a concept for measuring the efficiency of the test process. Softw Process Improv Pract 11(1):47–59CrossRefGoogle Scholar
  13. Dybå T, Dingsøyr T (2008) Empirical studies of agile software development: a systematic review. Inf Softw Technol 50(9–10):833–859CrossRefGoogle Scholar
  14. Fairley RE, Willshire MJ (2005) Iterative rework: the good, the bad, and the ugly. IEEE Comput 38(9):34–41Google Scholar
  15. Hanssen GK, Westerheim H, Bjørnson FO (2005) Using rational unified process in an sme—a case study. In: Proceedings of the 12th European conference on software process improvement (EuroSPI 2005), pp 142–150Google Scholar
  16. Heijstek W, Chaudron MRV (2008) Evaluating rup software development processes through visualization of effort distribution. In: Proceedings of the 34th conference on software engineering and advanced applications (SEAA 2008), pp 266–273Google Scholar
  17. Hirsch M (2005) Moving from a plan driven culture to agile development. In: Proceedings of the 27th international conference on software engineering (ICSE 2005), p 38Google Scholar
  18. Ilieva S, Ivanov P, Stefanova E (2004) Analyses of an agile methodology implementation. In: Proceedings of the 30th EUROMICRO conference (EUROMICRO 2004), pp 326–333Google Scholar
  19. Jarzombek J (1999) The 5th annual jaws s3 proceedingsGoogle Scholar
  20. Johnson J (2002) Keynote speech: build only the features you need. In: Proceedings of the 4th international conference on extreme programming and agile processes in software engineering (XP 2002)Google Scholar
  21. Jones C (1995) Patterns of software systems: failure and success. International Thomson Computer Press, BostonGoogle Scholar
  22. Karlström D, Runeson P (2005) Combining agile methods with stage-gate project management. IEEE Softw 22(3):43–49CrossRefGoogle Scholar
  23. Koch AS (2005) Agile software development: evaluating the methods for your organization. Artech House, BostonzbMATHGoogle Scholar
  24. Laplante PA, Neill CJ (2004) Opinion: the demise of the waterfall model is imminent. ACM Queue 1(10):10–15CrossRefGoogle Scholar
  25. Larman C (2003) Agile and iterative development: a manager’s guide. Pearson Education, BostonGoogle Scholar
  26. Layman L, Williams LA, Cunningham L (2004) Exploring extreme programming in context: an industrial case study. In: Proceedings of the agile development conference (ADC 2004), pp 32–41Google Scholar
  27. Mannaro K, Melis M, Marchesi M (2004) Empirical analysis on the satisfaction of it employees comparing xp practices with other software development methodologies. In: Proceedings of the 5th international conference on extreme programming and agile processes in software engineering (XP 2005), pp 166–174Google Scholar
  28. Martin A, Biddle R, Noble J (2004) The xp customer role in practice: three studies. In: Agile development conference, pp 42–54Google Scholar
  29. McBreen P (2003) Questioning extreme programming. Pearson Education, BostonGoogle Scholar
  30. Merisalo-Rantanen H, Tuunanen T, Rossi M (2005) Is extreme programming just old wine in new bottles: a comparison of two cases. J Database Manage 16(4):41–61Google Scholar
  31. Petersen K, Wohlin C (2009a) A comparison of issues and advantages in agile and incremental development between state of the art and an industrial case. J Syst Softw 82(9):1479–1490CrossRefGoogle Scholar
  32. Petersen K, Wohlin C (2009b) Context in industrial software engineering research. In: Proceedings of the 3rd international symposium on empirical software engineering and measurement (ESEM 2009), pp 401–404Google Scholar
  33. Petersen K, Wohlin C, Baca D (2009) The waterfall model in large-scale development. In: Proceedings of the 10th international conference on product focused software development and process improvement (PROFES 2009), pp 386–400Google Scholar
  34. Poppendieck M, Poppendieck T (2003) Lean software development: an agile toolkit (the agile software development series). Addison-Wesley, ReadingGoogle Scholar
  35. Raccoon LBS (1997) Fifty years of progress in software engineering. SIGSOFT Softw Eng Notes 22(1):88–104. doi: 10.1145/251759.251878 CrossRefGoogle Scholar
  36. Runeson P, Höst M (2009) Guidelines for conducting and reporting case study research in software engineering. Empir Softw Eng 14(2):131–164CrossRefGoogle Scholar
  37. Schwaber K (2004) Agile project management with Scrum. Microsoft Press, RedmondGoogle Scholar
  38. Sillitti A, Ceschi M, Russo B, Succi G (2005) Managing uncertainty in requirements: a survey in documentation-driven and agile companies. In: Proceedings of the 11th IEEE international symposium on software metrics (METRICS 2005), p 17Google Scholar
  39. Stephens M, Rosenberg D (2003) Extreme programming refactored: the case against XP. Apress, BerkeleyGoogle Scholar
  40. Svensson H, Höst M (2005) Introducing an agile process in a software maintenance and evolution organization. In: Proceedings of the 9th European conference on software maintenance and reengineering (CSMR 2005), pp 256–264Google Scholar
  41. Tessem B (2003) Experiences in learning xp practices: a qualitative study. In: Proceedings of the 4th international conference on extreme programming and agile processes in software engineering (XP 2004), pp 131–137Google Scholar
  42. Thomas M (2001) It projects sink or swim. In: British computer society review 2001Google Scholar
  43. Tomaszewski P (2006) Software development productivity–evaluation and improvement for large industrial projects. PhD thesis, Dept. of Systems and Software Engineering, Blekinge Institute of TechnologyGoogle Scholar
  44. Wils A, Baelen SV, Holvoet T, Vlaminck KD (2006) Agility in the avionics software world. In: XP, pp 123–132Google Scholar
  45. Wohlin C, Runeson P, Höst M, Ohlsson MC, Regnell B, Wesslen A (2000) Experimentation in software engineering: an introduction (international series in software engineering). Springer, HeidelbergzbMATHGoogle Scholar
  46. Yin RK (2002) Case study research: design and methods, 3rd edn. In: Applied social research methods series, vol 5. Prentice Hall, Englewood CliffsGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2010

Authors and Affiliations

  1. 1.Blekinge Institute of TechnologyRonnebySweden

Personalised recommendations