Advertisement

The Right Degree of Agility in Rich Processes

  • Philipp DieboldEmail author
  • Thomas ZehlerEmail author
Chapter

Abstract

Many companies that change their development process to agile later adapt these methods to their specific needs, take a step back to traditional processes, or do not continue their agile initiative. Particularly in light of the huge diversity of domains from information systems to embedded systems, it is necessary to find the right degree of agility for each context. Our goal is to describe how agility can be integrated into rich processes. Bringing the advantages of these two organizational worlds together should result in a useful, pragmatic, and feasible solution. This integration can be performed using two different approaches: revolutionary and evolutionary. In the revolutionary approach, an agile method is introduced to replace the current development process. In the evolutionary approach, the existing process is enhanced with appropriate and beneficial agile aspects. Both of these approaches have advantages for specific domains or contexts. After comparing the two approaches and related implementations of the revolutionary approach, this chapter focuses on the integration of agile practices, a specific evolutionary approach, due to the lack of existing research. With our comparison on the basis of the advantages and disadvantages of these two integration approaches, their detailed description, and some related implementations, we provide a foundation for further investigation in the field of combining agile and rich processes to find the right degree of agility.

Keywords

Evolutionary Approach Software Development Process Agile Method Information System Development Pair Programming 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Notes

Acknowledgments

First of all, we would like to thank to Sofia Vidal for her support and help during the development and piloting of the Agile Practices List and Schema. In addition, we would like to thank Sonnhild Namingha and Jens Heidrich for their valuable comments and feedback. This research was conducted partly in the context of a Software Campus project funded by the German Ministry of Education and Research (BMBF grant no. 01IS12053).

References

  1. 1.
    Abrahamsson, P., Warsta, J., Siponen, M.T., Ronkainen, J.: New directions on agile methods: a comparative analysis. In: Proceedings of the International Conference on Software Engineering, pp. 244–254. IEEE, Washington, DC, USA (2003)Google Scholar
  2. 2.
    Agile Alliance Inc.: Guide to agile practices. http://guide.agilealliance.org (2013)
  3. 3.
    Appelo, J.: The big list of agile practices. http://noop.nl/2009/04/the-big-list-of-agile-practices.html (2009)
  4. 4.
    Armbrust, O., Rombach, D.: The right process for each context: objective evidence needed. In: Proceedings of the International Conference on Software and Systems Process, pp. 237–241. ACM, New York, NY, USA (2011)Google Scholar
  5. 5.
    Automotive SIG: Automotive SPICE process assessment model. In: The Procurement Forum (2010)Google Scholar
  6. 6.
    Balaji, S., Murugaiyan, M.S.: Waterfall vs. V-Model vs. Agile: a comparative study on SDLC. Int. J. Inf. Technol. Bus. Manage. 2(1), 26–30 (2012)Google Scholar
  7. 7.
    Baskerville, R., Pries-Heje, J.: Racing the E-Bomb: how the internet is redefining information systems development methodology. In: Proceedings of the IFIP TC8/WG8.2 Working Conference on Realigning Research and Practice in Information Systems Development: The Social and Organizational Perspective, pp. 49–68. Kluwer, B.V., Deventer, The Netherlands (2001)Google Scholar
  8. 8.
    Beck, K., Andres, C.: Extreme Programming Explained, 2nd edn. Addison-Wesley Professional, Reading (2004)Google Scholar
  9. 9.
    Beck, K., Beedle, M., van Bennekum, A., Cockburn, A., Cunningham, W., Fowler, M., Grenning, J., Highsmith, J., Hunt, A., Jeffries, R., Kern, J., Marick, B., Martin, R.C., Mellor, S., Schwaber, K., Sutherland, J., Thomas, D.: Manifesto for agile software development. http://www.agilemanifesto.org (2001). Accessed 29 May 2007
  10. 10.
    Benefield, G.: Rolling out agile in a large enterprise. In: Hawaii International Conference on System Sciences, pp. 461–461. IEEE Computer Society, Washington, DC, USA (2008)Google Scholar
  11. 11.
    Bleek, W.G., Wolf, H.: Agile Softwareentwicklung – Werte, Konzepte und Methoden. dpunkt.verlag (2008)Google Scholar
  12. 12.
    Boehm, B.: A spiral model of software development and enhancement. IEEE Comput. 21(5), 61–72 (1988)CrossRefGoogle Scholar
  13. 13.
    Boehm, B., Turner, R.: Balancing Agility and Discipline: A Guide for the Perplexed. Addison-Wesley Longman Publishing Co., Inc., Boston (2003)Google Scholar
  14. 14.
    Chow, T., Cao, D.B.: A survey study of critical success factors in agile software projects. J. Syst. Softw. 81(6), 961–971 (2008)CrossRefGoogle Scholar
  15. 15.
    Chung, M.W., Drummond, B.: Agile at Yahoo! from the trenches. In: Proceedings of the Agile Conference, pp. 113–118. IEEE, Washington, DC, USA (2009)Google Scholar
  16. 16.
    Chung, M.W., Nugroho, S., Unson, J.: Tidal wave: the games transformation. In: Proceedings of the Agile Conference, pp. 102–105. IEEE, Washington, DC, USA (2008)Google Scholar
  17. 17.
    CMMI Product Team: CMMI for development, version 1.3. Technical report, CMU/SEI-2010-TR-033, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA. http://resources.sei.cmu.edu/library/asset-view.cfm?AssetID=9661 (2010)
  18. 18.
    Conboy, K.: Agility from first principles: reconstructing the concept of agility in information systems development. Inf. Syst. Res. 20(3), 329–354 (2009)CrossRefGoogle Scholar
  19. 19.
    Diebold, P., Dahlem, M.: Agile practices in practice: a mapping study. In: Proceedings of the International Conference on Evaluation and Assessment in Software Engineering, pp. 30:1–30:10. ACM, New York, NY, USA (2014)Google Scholar
  20. 20.
    Diebold, P., Zehler, T.: The agile practices impact model – idea, concept, and application scenario. In: Proceedings of the International Conference on Software and System Processes, pp. 92–96. ACM, New York, NY, USA (2015)Google Scholar
  21. 21.
    Diebold, P., Taibi, D., Lampasona, C.: Moonlighting scrum: an agile method for distributed teams with part-time developers working during non-overlapping hours. In: Proceedings of the International Conference on Software Engineering and Advances, pp. 318–323. IARIA XPS Press (2013)Google Scholar
  22. 22.
    Diebold, P., Ostberg, J.P., Wagner, S., Zendler, U.: What do practitioners vary in using Scrum? Agile Processes, in Software Engineering, and Extreme Programming. Lecture Notes in Business Information Processing, vol. 212, pp. 40–51. Springer International Publishing (2015)Google Scholar
  23. 23.
    Garcia-Borgonon, L., Barcelona, M., Garcia-Garcia, J., Alba, M., Escalona, M.: Software process modeling languages: a systematic literature review. Inf. Softw. Technol. 56(2), 103–116 (2014)CrossRefGoogle Scholar
  24. 24.
    Graaf, B., Lormans, M., Toetenel, H.: Embedded software engineering: the state of the practice. IEEE Softw. 20(6), 61–69 (2003)CrossRefGoogle Scholar
  25. 25.
    Heymann, J., Kampfmann, R.: SAP’s road to agile software development. In: Future Business Software. Progress in IS, pp. 111–116. Springer International Publishing (2014)Google Scholar
  26. 26.
    Humphrey, W.S.: The personal software process. Technical report CMU/SEI-2000-TR-022, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA (2000)Google Scholar
  27. 27.
    Humphrey, W.S.: The team software process. Technical report. CMU/SEI-2000-TR-023, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA (2000)Google Scholar
  28. 28.
    IEEE: IEEE standard glossary of software engineering terminology. IEEE Standard 610.12-1990, Institute of Electrical and Electronics Engineers (1990)Google Scholar
  29. 29.
    ISO/TC 210: Medical device software – software life cycle processes. International Standard IEC 62304:2006, International Organization for Standardization (2006)Google Scholar
  30. 30.
    JTC 1/SC 7: Systems and software engineering – software life cycle processes. International Standard ISO/IEC 12207:2008, International Organization for Standardization (2008)Google Scholar
  31. 31.
    JTC 1 SC 7: Information technology – process assessment – part 5: an exemplar software life cycle process assessment model. International Standard ISO/IEC 15504-5:2012, International Organization for Standardization (2012)Google Scholar
  32. 32.
    Maurer, F., Melnik, G.: Agile methods: moving towards the mainstream of the software industry. In: Proceedings of the International Conference on Software Engineering, pp. 1057–1058. ACM, New York, NY, USA (2006)Google Scholar
  33. 33.
    McHugh, M., Cawley, O., McCaffcry, F., Richardson, I., Wang, X.: An agile v-model for medical device software development to overcome the challenges with plan-driven software development lifecycles. In: International Workshop on Software Engineering in Health Care, pp. 12–19. IEEE, Washington, DC, USA (2013)Google Scholar
  34. 34.
    Nerur, S., Mahapatra, R., Mangalaraj, G.: Challenges of migrating to agile methodologies. Commun. ACM 48(5), 72–78 (2005)CrossRefGoogle Scholar
  35. 35.
    OMG: Software & Systems Process Engineering Metamodel Specification (SPEM). Omg standard, Object Management Group (2008)Google Scholar
  36. 36.
    OMG: Unified Modeling Language (UML) ver 2.4.1. Omg standard, Object Management Group (2011)Google Scholar
  37. 37.
    Osterweil, L.: Software processes are software too. In: Proceedings of the International Conference on Software Engineering, pp. 2–13. IEEE, Los Alamitos, CA, USA (1987)Google Scholar
  38. 38.
    Paetsch, F., Eberlein, A., Maurer, F.: Requirements engineering and agile software development. In: Proceedings of the International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises, pp. 308–313. IEEE, Washington, DC, USA (2003)Google Scholar
  39. 39.
    Ramesh, B., Cao, L., Mohan, K., Xu, P.: Can distributed software development be agile? Commun. ACM 49(10), 41–46 (2006)CrossRefGoogle Scholar
  40. 40.
    Scacchi, W.: Process Models in Software Engineering, pp. 993–1005. Wiley, New York (2002)Google Scholar
  41. 41.
    Smits, H., Pshigoda, G.: Implementing scrum in a distributed software development organization. In: Proceedings of the Agile Conference, pp. 371–375. IEEE, Washington, DC, USA (2007)Google Scholar
  42. 42.
    Sureshchandra, K., Shrinivasavadhani, J.: Adopting agile in distributed development. In: Proceedings of the International Conference on Global Software Engineering, pp. 217–221. IEEE, Washington, DC, USA (2008)Google Scholar
  43. 43.
    Sutherland, J., Schwaber, K.: The scrum guide. The definitive guide to scrum: The rules of the game. Scrum.org-October (2013)Google Scholar
  44. 44.
    TC 22/SC 32: Road vehicles – functional safety. International Standard ISO 26262:2011, International Organization for Standardization (2011)Google Scholar
  45. 45.
    Turk, D., France, R., Rumpe, B.: Limitations of agile software processes. In: Proceedings of the International Conference on eXtreme Programming and Agile Processes in Software Engineering, pp. 43–46. Springer (2002)Google Scholar
  46. 46.
    V-Modell XT Team: V-Modell XT. National standard, Federal Ministery of the Interior, Germany, Berlin (2013)Google Scholar
  47. 47.
    Version One Inc.: 9th annual state of agile survey. https://www.versionone.com (2015)
  48. 48.
    Williams, L., Cockburn, A.: Agile software development: it’s about feedback and change. IEEE Comput. 36(6), 39–43 (2003)CrossRefGoogle Scholar
  49. 49.
    Williams, L., Kessler, R., Cunningham, W., Jeffries, R.: Strengthening the case for pair programming. IEEE Softw. 17(4), 19–25 (2000)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  1. 1.Process ManagementFraunhofer Institute for Experimental Software Engineering (IESE)KaiserslauternGermany

Personalised recommendations