Advertisement

Relationship of DevOps to Agile, Lean and Continuous Deployment

A Multivocal Literature Review Study
  • Lucy Ellen LwakatareEmail author
  • Pasi Kuvaja
  • Markku Oivo
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10027)

Abstract

In recent years, the DevOps phenomenon has attaracted interest amongst practitioners and researchers in software engineering, reflecting the greater emphasis on collaboration between development and IT operations. However, despite this growing interest, DevOps is often conflated with agile and continuous deployment approaches of software development. This study compares DevOps with agile, lean and continuous deployment approaches in software development from four perspectives: origin, adoption, implementation and goals. The study also reports on the claimed effects and on the metrics of DevOps used to asses those effects. The research is based on an interpretative analysis of qualitative data from documents describing DevOps and practitioner’s responses in a DevOps workshop. Our findings indicate that the DevOps phenomenon originated from continuous deployment as an evolution of agile software development, informed by a lean principles background. It was also concluded that successful adoption of DevOps requires agile software development.

Keywords

DevOps Agile Lean Continuous deployment Effect 

Notes

Acknowledgement

This work was supported by TEKES as part of the N4S project of DIMECC (Digital, Internet, Materials and Engineering Co-Creation).

References

  1. 1.
    Sharp, H., Robinson, H., Woodman, M.: Software engineering: community and culture. IEEE Softw. 17(1), 40–47 (2000)CrossRefGoogle Scholar
  2. 2.
    Humble, J., Farley, D.: Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation. Addison-Wesley Professional, Boston (2010)Google Scholar
  3. 3.
    Dingsøyr, T., Lassenius, C.: Emerging themes in agile software development: Introduction to the special section on continuous value delivery. IST 77, 56–60 (2016)Google Scholar
  4. 4.
    Lwakatare, L.E., Kuvaja, P., Oivo, M.: An exploratory study of DevOps: extending the dimensions of DevOps with practices. In: 11th International Conference on Software Engineering Advances, pp. 91–99. IARIA, Rome (2016)Google Scholar
  5. 5.
    Penners, R., Dyck, A.: Release engineering vs. DevOps-an approach to define both terms. In: Full-Scale Software Engineering, pp. 49–53 (2015)Google Scholar
  6. 6.
    Humble, J., Molesky, J.: Why enterprises must adopt DevOps to enable continuous delivery. Cutter IT J. 24(8), 6–12 (2011)Google Scholar
  7. 7.
    Kerzazi, N., Adams, B.: Who needs release and DevOps engineers, and why? In: International Workshop on Continuous Software Evolution and Delivery, pp. 77–83. ACM (2016)Google Scholar
  8. 8.
  9. 9.
    Bass, L., Weber, I., Zhu, L.: DevOps: A Software Architect’s Perspective. Addison-Wesley Professional, Old Tappan (2015)Google Scholar
  10. 10.
    Lwakatare, L.E., Kuvaja, P., Oivo, M.: Dimensions of DevOps. In: Lassenius, C., Dingsøyr, T., Paasivaara, M. (eds.) XP 2015. LNBIP, vol. 212, pp. 212–217. Springer, Heidelberg (2015). doi: 10.1007/978-3-319-18612-2_19 CrossRefGoogle Scholar
  11. 11.
    Ogawa, R., Malen, B.: Towards rigor in reviews of multivocal literatures: applying the exploratory case study method. Rev. Educ. Res. 61(3), 299–305 (1991)CrossRefGoogle Scholar
  12. 12.
    Tom, E., Aurum, A., Vidgen, R.: An exploration of technical debt. J. Syst. Softw. 86(6), 1498–1516 (2013)CrossRefGoogle Scholar
  13. 13.
    Garousi, V., Mäntylä, M.V.: When and what to automate in software testing? a multi-vocal literature review. IST 76, 92–117 (2016)Google Scholar
  14. 14.
    Braun, V., Clarke, V.: Using thematic analysis in psychology. Qualit. Res. Psychol. 3(2), 77–101 (2006)CrossRefGoogle Scholar
  15. 15.
    Guerriero, M., Ciavotta, M., Gibilisco, G., Ardagna, D.: A model-driven DevOps framework for QoS-aware cloud applications. In: 17th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing, pp. 345–351. IEEE (2015)Google Scholar
  16. 16.
    Virmani, M.: Understanding DevOps & bridging the gap from continuous integration to continuous delivery. In: 5th International Conference on the Innovative Computing Technology, pp. 78–82. IEEE (2015)Google Scholar
  17. 17.
    Olszewska, M., Waldén, M.: DevOps meets formal modelling in high-criticality complex systems. In: 1st International Workshop on Quality-Aware DevOps, pp. 7–12. ACM (2015)Google Scholar
  18. 18.
    Farroha, B., Farroha, D.: A framework for managing mission needs, compliance, and trust in the DevOps environment. In: Military Communications Conference, pp. 288–293. IEEE, October 2014Google Scholar
  19. 19.
    Schneider, T.: Achieving cloud scalability with microservices and DevOps in the connected car domain. In: CEUR Workshop Proceedings on Continuous Software Engineering, pp. 138–141. CEUR-WS.org (2016)Google Scholar
  20. 20.
    Walter, J., van Hoorn, A., Koziolek, H., Okanovic, D., Kounev, S.: Asking “What”, automating the “How?”: the vision of declarative performance engineering. In: 7th International Conference on Performance Engineering, pp. 91–94. ACM (2016)Google Scholar
  21. 21.
    Syed, M.H., Fernandez, E.B.: Cloud ecosystems support for internet of things and DevOps using patterns. In: 1st International Conference on Internet-of-Things Design and Implementation, pp. 301–304. IEEE (2016)Google Scholar
  22. 22.
    Borgenholt, G., Begnum, K., Engelstad, P.: Audition: a DevOps-oriented service optimization and testing framework for cloud environments. In: Conference of Norsk Informatik Konferanse, pp. 146–157 (2013)Google Scholar
  23. 23.
    Cukier, D.: DevOps patterns to scale web applications using cloud services. In: Conference on Systems, Programming, & Applications: Software for Humanity, pp. 143–152 (2013)Google Scholar
  24. 24.
    Spinellis, D.: Being a DevOps developer. IEEE Softw. 33(3), 4–5 (2016)CrossRefGoogle Scholar
  25. 25.
    Deshpande, A.: DevOps an Extension of Agile Methodology How It will Impact QA? (2016). http://www.softwaretestinghelp.com/devops-and-software-testing/
  26. 26.
    Lwakatare, L.E., Karvonen, T., Sauvola, T., Kuvaja, P., Olsson, H.H., Bosch, J., Oivo, M.: Towards DevOps in the embedded systems domain: why is it so hard? In: 49th Hawaii International Conference on System Sciences, pp. 5437–5446. IEEE (2016)Google Scholar
  27. 27.
    Racspace: Building Your DevOps Engine (2015). http://tinyurl.com/htovgd9
  28. 28.
    Staples, M., Zhu, L., Grundy, J.: Continuous validation for data analytics systems. In: 38th International Conference on Software Engineering Companion, pp. 769–772. ACM (2016)Google Scholar
  29. 29.
    Cook, N., Milojicic, D., Talwar, V.: Cloud management. J. Internet Serv. Apps. 3(1), 67–75 (2012)CrossRefGoogle Scholar
  30. 30.
    Ebert, C., Gallardo, G., Hernantes, J., Serrano, N.: DevOps. IEEE Softw. 33(3), 94–100 (2016)CrossRefGoogle Scholar
  31. 31.
    Fitzgerald, B., Stol, K.J.: Continuous software engineering: a roadmap and agenda. J. Syst. Softw., 1–14 (2015)Google Scholar
  32. 32.
    Waller, J., Ehmke, N.C., Hasselbring, W.: Including performance benchmarks into continuous integration to enable DevOps. ACM SIGSOFT Softw. Eng. Not. 40(2), 1–4 (2015)CrossRefGoogle Scholar
  33. 33.
    Zhu, L., Bass, L., Champlin-Scharff, G.: DevOps and its practices. IEEE Softw. 33(3), 32–34 (2016)CrossRefGoogle Scholar
  34. 34.
    Scrum-Alliance: DevOps and Agile: Key Considerations for DevOps and Agile to Coexist for Expedited Delivery (2014). http://tinyurl.com/j9xqxlw
  35. 35.
    Soni, M.: End to end automation on cloud with build pipeline: the case for DevOps in insurance industry, continuous integration, continuous testing, and continuous delivery. In: International Conference on Cloud Computing in Emerging Markets, pp. 85–89. IEEE (2015)Google Scholar
  36. 36.
  37. 37.
    Balalaie, A., Heydarnoori, A., Jamshidi, P.: Microservices architecture enables DevOps: migration to a cloud-native architecture. IEEE Softw. 33(3), 42–52 (2016)CrossRefGoogle Scholar
  38. 38.
    Claps, G.G., Berntsson Svensson, R., Aurum, A.: On the journey to continuous deployment: technical and social challenges along the way. IST 57, 21–31 (2015)Google Scholar
  39. 39.
    Cois, C.A., Yankel, J., Connell, A.: Modern DevOps: optimizing software development through effective system interactions. In: International Professional Communication Conference, pp. 1–7. IEEE (2014)Google Scholar
  40. 40.
    Rodríguez, P., Haghighatkhah, A., Lwakatare, L.E., Teppola, S., Suomalainen, T., Eskeli, J., Karvonen, T., Kuvaja, P., Verner, J.M., Oivo, M.: Continuous deployment of software intensive products and services: a systematic mapping study. J. Syst. Softw. (2016). http://www.sciencedirect.com/science/article/pii/S0164121215002812
  41. 41.
    Wettinger, J., Andrikopoulos, V., Leymann, F.: Automated capturing and systematic usage of DevOps knowledge for cloud applications. In: International Conference on Cloud Engineering, pp. 60–65. IEEE (2015)Google Scholar
  42. 42.
    Wettinger, J., Breitenbucher, U., Leymann, F.: Dyn tail - dynamically tailored deployment engines for cloud applications. In: 8th International Conference on Cloud Computing, pp. 421–428. IEEE (2015)Google Scholar
  43. 43.
    Wettinger, J., Andrikopoulos, V., Leymann, F.: Enabling DevOps collaboration and continuous delivery using diverse application environments. In: OTM 2015. LNCS, vol. 9415, pp. 348–358. Springer International Publishing, Switzerland (2015)Google Scholar
  44. 44.
    Wettinger, J., Breitenbücher, U., Kopp, O., Leymann, F.: Streamlining DevOps automation for cloud applications using TOSCA as standardized metamodel. Future Gener. Comput. Syst. 56, 317–332 (2016)CrossRefGoogle Scholar
  45. 45.
    Axelsson, J.: Architectural allocation alternatives and associated concerns in cyber-physical systems. In: The European Conference on Software Architecture Workshops, pp. 1–6. ACM (2015)Google Scholar
  46. 46.
    Callanan, M., Spillane, A.: DevOps: making it easy to do the right thing. IEEE Softw. 33(3), 53–59 (2016)CrossRefGoogle Scholar
  47. 47.
    Rong, G., Zhang, H., Shao, D.: CMMI guided process improvement for DevOps projects. In: International Workshop on Software and Systems Process, pp. 76–85. ACM (2016)Google Scholar
  48. 48.
    Sun, D., Fu, M., Zhu, L., Li, G., Lu, Q.: Non-intrusive anomaly detection with streaming performance metrics and logs for DevOps in public clouds: a case study in AWS. Trans. Emerg. Topics Comp. 4(2), 278–289 (2016)CrossRefGoogle Scholar
  49. 49.
    Weber, I., Nepal, S., Zhu, L.: Developing dependable and secure cloud applications. IEEE Int. Comp. 20(3), 74–79 (2016)CrossRefGoogle Scholar
  50. 50.
    Coté: DevOps, You Keep Using That Word What Is DevOps? A Discussion And History (2015). https://blog.pivotal.io/podcasts-pivotal/features/devops-you-keep-using-that-word-what-is-devops-a-discussion-and-history
  51. 51.
    Liu, Y., Li, C., Liu, W.: Integrated solution for timely delivery of customer change requests: a case study of using DevOps approach. Int. J. U- & E-Serv., Sci. & Tech. 7(2), 41–50 (2014)Google Scholar
  52. 52.
    IT-Revolution: DevOps Culture (2012). http://itrevolution.com/devops-culture-part-1/
  53. 53.
    Swift-Kanban: Kanban for DevOps/Continuous Delivery (2016). http://tinyurl.com/gpvra3r
  54. 54.
    Cho, J., Trent, A.: Validity in qualitative research revisited. Qualit. Res. 6(3), 319–340 (2006)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  • Lucy Ellen Lwakatare
    • 1
    Email author
  • Pasi Kuvaja
    • 1
  • Markku Oivo
    • 1
  1. 1.Faculty of Information Technology and Electrical EngineeringUniversity of OuluOuluFinland

Personalised recommendations