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
This is a preview of subscription content, access via your institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
For more detail, see [9], pp. 12–13.
- 2.
- 3.
- 4.
Link to list of ML: http://tinyurl.com/z3jpu5v.
References
Sharp, H., Robinson, H., Woodman, M.: Software engineering: community and culture. IEEE Softw. 17(1), 40–47 (2000)
Humble, J., Farley, D.: Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation. Addison-Wesley Professional, Boston (2010)
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)
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)
Penners, R., Dyck, A.: Release engineering vs. DevOps-an approach to define both terms. In: Full-Scale Software Engineering, pp. 49–53 (2015)
Humble, J., Molesky, J.: Why enterprises must adopt DevOps to enable continuous delivery. Cutter IT J. 24(8), 6–12 (2011)
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)
Wikipedia: DevOps. https://en.wikipedia.org/wiki/DevOps
Bass, L., Weber, I., Zhu, L.: DevOps: A Software Architect’s Perspective. Addison-Wesley Professional, Old Tappan (2015)
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
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)
Tom, E., Aurum, A., Vidgen, R.: An exploration of technical debt. J. Syst. Softw. 86(6), 1498–1516 (2013)
Garousi, V., Mäntylä, M.V.: When and what to automate in software testing? a multi-vocal literature review. IST 76, 92–117 (2016)
Braun, V., Clarke, V.: Using thematic analysis in psychology. Qualit. Res. Psychol. 3(2), 77–101 (2006)
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)
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)
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)
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 2014
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)
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)
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)
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)
Cukier, D.: DevOps patterns to scale web applications using cloud services. In: Conference on Systems, Programming, & Applications: Software for Humanity, pp. 143–152 (2013)
Spinellis, D.: Being a DevOps developer. IEEE Softw. 33(3), 4–5 (2016)
Deshpande, A.: DevOps an Extension of Agile Methodology How It will Impact QA? (2016). http://www.softwaretestinghelp.com/devops-and-software-testing/
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)
Racspace: Building Your DevOps Engine (2015). http://tinyurl.com/htovgd9
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)
Cook, N., Milojicic, D., Talwar, V.: Cloud management. J. Internet Serv. Apps. 3(1), 67–75 (2012)
Ebert, C., Gallardo, G., Hernantes, J., Serrano, N.: DevOps. IEEE Softw. 33(3), 94–100 (2016)
Fitzgerald, B., Stol, K.J.: Continuous software engineering: a roadmap and agenda. J. Syst. Softw., 1–14 (2015)
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)
Zhu, L., Bass, L., Champlin-Scharff, G.: DevOps and its practices. IEEE Softw. 33(3), 32–34 (2016)
Scrum-Alliance: DevOps and Agile: Key Considerations for DevOps and Agile to Coexist for Expedited Delivery (2014). http://tinyurl.com/j9xqxlw
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)
A Short History of DevOps (2014). http://rewrite.ca.com/us/articles/devops/a-short-history-of-devops.html
Balalaie, A., Heydarnoori, A., Jamshidi, P.: Microservices architecture enables DevOps: migration to a cloud-native architecture. IEEE Softw. 33(3), 42–52 (2016)
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)
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)
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
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)
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)
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)
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)
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)
Callanan, M., Spillane, A.: DevOps: making it easy to do the right thing. IEEE Softw. 33(3), 53–59 (2016)
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)
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)
Weber, I., Nepal, S., Zhu, L.: Developing dependable and secure cloud applications. IEEE Int. Comp. 20(3), 74–79 (2016)
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
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)
IT-Revolution: DevOps Culture (2012). http://itrevolution.com/devops-culture-part-1/
Swift-Kanban: Kanban for DevOps/Continuous Delivery (2016). http://tinyurl.com/gpvra3r
Cho, J., Trent, A.: Validity in qualitative research revisited. Qualit. Res. 6(3), 319–340 (2006)
Acknowledgement
This work was supported by TEKES as part of the N4S project of DIMECC (Digital, Internet, Materials and Engineering Co-Creation).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing AG
About this paper
Cite this paper
Lwakatare, L.E., Kuvaja, P., Oivo, M. (2016). Relationship of DevOps to Agile, Lean and Continuous Deployment. In: Abrahamsson, P., Jedlitschka, A., Nguyen Duc, A., Felderer, M., Amasaki, S., Mikkonen, T. (eds) Product-Focused Software Process Improvement. PROFES 2016. Lecture Notes in Computer Science(), vol 10027. Springer, Cham. https://doi.org/10.1007/978-3-319-49094-6_27
Download citation
DOI: https://doi.org/10.1007/978-3-319-49094-6_27
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-49093-9
Online ISBN: 978-3-319-49094-6
eBook Packages: Computer ScienceComputer Science (R0)