DevOps Ontology - An ontology to support the understanding of DevOps in the academy and the software industry

César Pardo, Carlos Orozco, Jonathan Guerrero

Abstract


Currently, the degree of knowledge about what DevOps really means and what it entails is still limited. This can result in an informal and even incorrect implementation in many cases. Although several proposals related to DevOps adoption can be found, confusion is not uncommon and terminology conflict between the proposals is still evident. This article proposes DevOps Ontology, a semi-formal ontology that proposes a generic, consistent, and clear language to enable the dissemination of information related to implementing DevOps in software development. The ontology presented in this article facilitates the understanding of DevOps by identifying the relationships between software process elements and the agile principles/values that may be related to them. The DevOps Ontology has been defined considering the following aspects: the REFSENO formalism that uses the representation in UML was used and the language OWL language using Prótegé and HermiT Reasoner to evaluate the consistency of its structure. Likewise, it was satisfactorily evaluated in three application cases: a theoretical validation; instantiation of the continuous integration and deployment practices proposed by the company GitLab. Furthermore, a mobile app was created to retrieve information from the DevOps Ontology using the SPARQL protocol and RDF language. The app also evaluated the Ontology’s proficiency in responding to knowledge-based questions using SPARQL. The results showed that DevOps Ontology is consistent, complete, and concise, i.e.: to say: the consistency could be observed in the ability to be able to infer knowledge from the ontology, ensuring that the ontology is complete by checking for any incompleteness and verifying that all necessary definitions and inferences are well-established. Additionally, the ontology was assessed for conciseness to ensure that it doesn't contain redundant or unnecessary definitions. Furthermore, it has the potential for improvement by incorporating new concepts and relationships as needed. The newly suggested ontology creates a set of terms that provide a systematic and structured approach to organizing the existing knowledge in the field. This helps to minimize the confusion, inconsistency, and heterogeneity of the terminologies and concepts in the area of interest.

Keywords


Development and Operations (DevOps); Resource Description Framework (RDF); Protégé; SPARQL; OWL

Full Text:

PDF

References


H. Conradi and A. Fuggetta, “Improving software process improvement,” IEEE Softw, vol. 19, no. 4, pp. 92–99, Jul. 2002.

C. E. Mokhlis, A. Elmortada, M. Sbihi, and K. Mokhlis, “The impact of ISO 9001 quality management on organizational learning and innovation: Proposal for a conceptual framework,” Periodicals of Engineering and Natural Sciences, vol. 7, no. 2, pp. 944–951, 2019.

Y. Andalib and C. E. Mokhlis, “The contribution of the quality certification process to the improvement of human resources management practices,” Periodicals of Engineering and Natural Sciences, vol. 8, no. 3, pp. 1880–1887, 2020.

CMMI Institute, “CMMI V2.0 model,” Second edition, 2020. https://cmmiinstitute.com/cmmi (accessed Mar. 21, 2023).

Davor Gornik, “IBM Rational Unified Process: Best Practices for Software Development Teams. TP026B, Rev 11/01,” Somers, New York, 2020.

G. Lory, D. Campbell, A. Robin, G. Simmons, and P. Rytkonen, “Microsoft Solutions Framework v3 Overview,” 2003.

ISO, “ISO 9001:2015 Quality Management Systems,” Geneva, Switzerland, 2020.

ISO, “ISO/IEC TR 29110-1:2016 Systems and software engineering — Lifecycle profiles for Very Small Entities (VSEs),” Geneva, Switzerland, 2021.

K. Schwaber and J. Sutherland, “The scrum guide the definitive guide to scrum: The rules of the game,” USA, 2020.

M. Poppendieck and T. Poppendieck, Lean Software Development: An Agile Toolkit. USA: Addison-Wesley Longman Publishing Co., Inc., 2003.

K. Beck, Test Driven Development: By Example, 1st ed. Boston: Addison-Wesley Professional, 2002.

K. Beck and C. Andres, Extreme Programming Explained: Embrace Change, 2nd ed. Boston: Addison-Wesley Professional, 2004.

H. Kniberg, Scrum and XP from the Trenches, 2nd ed. USA: InfoQ, 2015.

C. Ladas, Scrumban-essays on kanban systems for lean software development, 1st ed. Seattle: Modus Cooperandi Press, 2009.

J. Sutherland, C. R. Jakobsen, and K. Johnson, “Scrum and CMMI level 5: The magic potion for code warriors,” in Proceedings of the 41st Annual Hawaii International Conference on System Sciences (HICSS 2008), 2008, pp. 466–466.

E. Diel, S. Marczak, and D. S. Cruzes, “Communication Challenges and Strategies in Distributed DevOps,” in Proceedings of the 11th International Conference on Global Software Engineering (ICGSE), 2016, pp. 24–28.

M. Rajkumar, A. K. Pole, V. S. Adige, and P. Mahanta, “DevOps culture and its impact on cloud delivery and software development,” in Proceedings of the International Conference on Advances in Computing, Communication, & Automation (ICACCA) (Spring), 2016, pp. 1–6.

M. de Bayser, L. G. Azevedo, and R. Cerqueira, “ResearchOps: The case for DevOps in scientific applications,” in Proceedings of the International Symposium on Integrated Network Management (IM), 2015, pp. 1398–1404.

A. Hochstein, R. Zarnekow, and W. Brenner, “ITIL as common practice reference model for IT service management: formal assessment and implications for practice,” in Proceedings of the International Conference on e-Technology, e-Commerce and e-Service, 2005, pp. 704-710.

G. Ridley, J. Young, and P. Carroll, “COBIT and its utilization: a framework from the literature,” in Proceedings of the 37th Annual Hawaii International Conference on System Sciences, 2014, pp. 1–8.

ISO/IEC, “ISO/IEC 20000:2018 Information Technology,” London, United Kingdom, 2021.

M. Virmani, “Understanding Devops & Bridging The Gap From Continuous Integration To Continuous Delivery,” in Proceedings of the Fifth International Conference on the Innovative Computing Technology (INTECH 2015). IEEE, 2015, pp. 78–82.

S. S. Samarawickrama and I. Perera, “Continuous scrum: A framework to enhance scrum with DevOps,” in Proceedings of the 7th International Conference on Advances in ICT for Emerging Regions (ICTer), Sep. 2017, pp. 19–25.

Cristian Barz, C. K. Jalba, Z. Erdei, and S. M. L. Hahn, “Approaches for the planning and implementation of Industry 4.0,” Periodicals of Engineering and Natural Sciences, vol. 7, no. 1, pp. 375–380, 2019.

G. de França, B., Jeronimo, H., & Travassos, “Characterizing DevOps by Hearing Multiple Voices,” in Proceedings of the 30th Brazilian Symposium on Software Engineering - SBES ’16, 2016, pp. 53–62.

I. Bucena and M. Kirikova, “Simplifying the DevOps Adoption Process,” in Proceedings of the 16th International Conference on Perspectives in Business Informatics Research, 2017, pp. 1–15.

T. Riungu, L; Mäkinen, S; Lwakatare, L; Tiihonen, J & Männistö, “DevOps Adoption Benefits and Challenges in Practice: A Case Study,” in Proceedings of the Product-Focused Software Process Improvement, 2016, pp. 590–597.

B. S. Farroha and D. L. Farroha, “A Framework for Managing Mission Needs, Compliance, and Trust in the DevOps Environment,” in Proceedings of the Military Communications Conference, 2014, pp. 288–293.

H. Chen, R. Kazman, S. Haziyev, V. Kropov, and D. Chtchourov, “Architectural Support for DevOps in a Neo-Metropolis BDaaS Platform,” in Proceedings of the 34th Symposium on Reliable Distributed Systems Workshop (SRDSW), 2015, pp. 25–30.

J. Wettinger, V. Andrikopoulos, and F. Leymann, “Automated Capturing and Systematic Usage of DevOps Knowledge for Cloud Applications,” in Proceedings of the International Conference on Cloud Engineering, 2015, pp. 60–65.

S. Nagpal and A. Shadab, “Literature Review: Promises and Challenges of DevOps,” Waterloo, Canada, 2017.

R. N. Jaffar, A. A. A. M. Hussain, and W. Chiad, “A new model for study of quality attributes to components based development approach,” Periodicals of Engineering and Natural Sciences, vol. 7, no. 3, pp. 1177–1185, 2019, doi: http://dx.doi.org/10.21533/pen.v7i3.686.

J. Michelsen, Dysfunction Junction: A Pragmatic Guide to Getting Started with DevOps. Boston: CA Technologies, 2014.

J. Moore, G. Kortuem, A. Smith, N. Chowdhury, J. Cavero, and D. Gooch, “DevOps for the Urban IoT,” in Proceedings of the Second International Conference on IoT in Urban Space, 2016, pp. 78–81.

M. Soni, “End to End Automation on Cloud with Build Pipeline: The Case for DevOps in Insurance Industry, Continuous Integration, Continuous Testing, and Continuous Delivery,” in Proceedings of the International Conference on Cloud Computing in Emerging Markets (CCEM), 2015, pp. 85–89.

P. Lees, K; Gardner, J & Eaton, “VMware, DevOps and Agile Development,” 2017.

J. Guerrero, K. Zuñiga, C. Certuche, and C. Pardo, “A systematic mapping study about DevOps,” Journal de Ciencia e Ingeniería, vol. 12, no. 1, pp. 48–62, 2020.

F. Ahmadighohandizi and K. Systä, “ICDO: Integrated Cloud-based Development Tool for DevOps,” in Proceedings of the 14th Symposium on Programming Languages and Software Tools (SPLST), 2015, pp. 76–90.

L. E. Lwakatare, P. Kuvaja, and M. Oivo, “An Exploratory Study of DevOps: Extending the Dimensions of DevOps with Practices,” in Proceedings of the Eleventh International Conference on Software Engineering Advances (ICSEA), 2016, pp. 1–9.

Floris Erich, C. Amrit, and M. Daneva, “Report: DevOps Literature Review,” Enschede, Netherlands, 2014.

A. Ghantous, G.B & Gill, “DevOps: Concepts, Practices, Tools, Benefits and Challenges,” in Proceedings of the Pacific Asia Conference on Information Systems (PACIS), 2017, pp. 1–12.

V. Babenko, L. Lomovskykh, A. Oriekhova, L. Korchynska, M. Krutko, and Y. Koniaieva, “Features of methods and models in risk management of IT projects,” Periodicals of Engineering and Natural Sciences, vol. 7, no. 2, pp. 629–636, 2019.

C. Pardo, O. García, M. Piattini, F. Pino, and M. T. Baldassarre, “A reference ontology for harmonizing process-reference models,” Revista Facultad de Ingeniería Universidad de Antioquia, vol. 1, no. 73, pp. 29–42, 2014.

Devopsdays, “Devopsdays - Organizing Guide,” 2009. https://bit.ly/3i7DKUb (accessed Jul. 27, 2021).

A. Caprarelli, E. Di Nitto, and D. A. Tamburri, “Fallacies and Pitfalls on the Road to DevOps: A Longitudinal Industrial Study,” in Proceedings of the DEVOPS 2019: Software Engineering Aspects of Continuous Development and New Paradigms of Software Production and Deployment, 2020, pp. 200–210.

R. Jabbari, N. bin Ali, K. Petersen, and B. Tanveer, “What is DevOps? A Systematic Mapping Study on Definitions and Practices,” in Proceedings of the Scientific Workshop Proceedings of XP2016, 2016, pp. 1–11.

J. Guerrero, C. Certuche, K. Zúñiga, and C. Pardo, “Trends in devops: A systematic mapping of the literature,” RISTI - Revista Iberica de Sistemas e Tecnologias de Informacao, vol. 2020, no. E32, 2020.

K. Zúñiga and C. Certuche, “Proceso para soportar DevOps en la integración, entrega y despliegue continuo en Pymes de software,” University of Cauca, 2021.

F. Jones, S., Noppen, J & Lettice, “Management challenges for DevOps adoption within UK SMEs,” in Proceedings of the 2nd International Workshop on Quality-Aware DevOps - QUDOS 2016, 2016, pp. 7–11.

A. A. Khan and M. Shameem, “Multicriteria decision-making taxonomy for DevOps challenging factors using analytical hierarchy process,” Journal of Software: Evolution and Process, vol. 32, no. 10, pp. 1–26, Oct. 2020.

M. A. Akbar et al., “Prioritization Based Taxonomy of DevOps Challenges Using Fuzzy AHP Analysis,” IEEE Access, vol. 8, no. 1, pp. 202487–202507, 2020.

S. Rafi, W. Yu, M. A. Akbar, A. Alsanad, and A. Gumaei, “Prioritization Based Taxonomy of DevOps Security Challenges Using PROMETHEE,” IEEE Access, vol. 8, no. 1, pp. 105426–105446, 2020.

M. A. Rothenberger, J. Humble, J. B. Thatcher, D. Smith, and N. Forsgren, “A Taxonomy of Software Delivery Performance Profiles: Investigating the Effects of DevOps Practices,” in Proceedings of the Americas Conference on Information Systems, Aug. 2020, pp. 1–6.

R. W. Macarthy and J. M. Bass, “An Empirical Taxonomy of DevOps in Practice,” in Proceedings of the 46th Euromicro Conference on Software Engineering and Advanced Applications (SEAA), 2020, pp. 221–228.

C. Orozco, C. Pardo, and S. Vásquez, “SCMOnto: Una ontología para soportar la gestión de la configuración de software,” Iberian Journal of Information Systems and Technologies, vol. 38, no. 12, pp. 75–90, 2020.

D. Parsons, “Agile software development methodology, an ontological analysis,” in Proceedings of the 9th International Conference on Applications and Principles of Information Science, 2010, pp. 1–4.

M. A. McCarthy, L. M. Herger, S. M. Khan, and B. M. Belgodere, “Composable DevOps: Automated Ontology Based DevOps Maturity Analysis,” in Proceedings of the International Conference on Services Computing, Jun. 2015, pp. 600–607.

I. S. Committee, “IEEE Standard for DevOps: Building Reliable and Secure Systems Including Application Build, Package, and Deployment: IEEE Standard 2675-2021,” 2021.

D. Fensel, “Ontology-based knowledge management,” Computer (Long Beach Calif), vol. 35, no. 11, pp. 56–59, Nov. 2002.

M. Fernandez-lopez, Gomez-Perez.A, and Juristo. N, “METHONTOLOGY: from Ontological Art towards Ontological Engineering,” Proceedings of the AAAI97 Spring Symposium, Stanford, USA, pp. 33–40, 1997.

T. R. Gruber, “A translation approach to portable ontology specifications,” Knowledge Acquisition, vol. 5, no. 2. pp. 199–220, 1993.

T. Hikita and M. J. Matsumoto, “Business process modelling based on the ontology and first-order logic,” in Proceedings of the 3rd International Conference on Enterprise Information Systems, 2001, pp. 717–723.

C. Tautz and C. G. Wangenheim, “REFSENO: a representation formalism for software engineering ontologies,” Fraunhofer, 1998.

U. Reimer, “Schema-based and network-based rendering formats,” in Proceedings of the Einführung in die Wissensrepräsentation, 1991, pp. 28–78.

L. F. Sikos, Description Logics in Multimedia Reasoning. Cham: Springer International Publishing, 2017.

H. S. Pinto, A. Gómez-Pérez, and J. P. Martins, “Some Issues on Ontology Integration,” in 16th International Joint Conference on Artificial Intelligence (IJCAI’99), 1999, vol. 18, pp. 7–12.

J. Euzenat and P. Shvaiko, Ontology Matching. Berlin, Heidelberg: Springer Berlin Heidelberg, 2007.

F. Ruiz and J. R. Hilera, “Using Ontologies in Software Engineering and Technology,” in Ontologies for Software Engineering and Software Technology, Springer, Berlin, Heidelberg, 2006, pp. 49–102.

F. García et al., “Towards a consistent terminology for software measurement,” Inf Softw Technol, vol. 48, no. 8, pp. 631–644, Aug. 2006.

L. E. Lwakatare, P. Kuvaja, and M. Oivo, “Dimensions of DevOps,” in Proceedings of the Agile Processes in Software Engineering and Extreme Programming - XP, 2015, pp. 212–217.

S. Lohmann, S. Negru, and D. Bold, “The ProtégéVOWL Plugin: Ontology Visualization for Everyone,” 2014, pp. 395–400.

W3C, “OWL 2 Web Ontology Language Document Overview,” Second edition, 2020. https://bit.ly/3l0GCnB (accessed Mar. 21, 2023).

R. Almeida, I. Percheiro, C. Pardo, and M. M. da Silva, “An Ontology-Based Model for ITIL Process Assessment Using TIPA for ITIL,” in Software Process Improvement and Capability Determination, 2018, pp. 104–118.

GitLab, “Introduction to CI/CD with GitLab,” 2020. https://bit.ly/2BiX7Dq (accessed Mar. 21, 2023).

M. A. McCarthy, L. M. Herger, S. M. Khan, and B. M. Belgodere, “Composable DevOps: automated ontology based DevOps maturity analysis,” in Proceedings of the International Conference on Services Computing, 2015, pp. 600–607.

A. A. Khan and M. Shameem, “Multicriteria decision‐making taxonomy for DevOps challenging factors using analytical hierarchy process,” Evolution and Process, vol. 32, no. 10, p. e2263, 2020.

M. Akbar et al., “Prioritization Based Taxonomy of DevOps Challenges Using Fuzzy AHP Analysis,” IEEE Access, vol. 8, pp. 426–446, 2020.

S. Rafi, W. Yu, M. Akbar, A. Alsanad, and A. Gumaei, “Prioritization Based Taxonomy of DevOps Security Challenges Using PROMETHEE,” IEEE Access, vol. 8, pp. 426–446, 2020.

N. Forsgren, M. A. Rothenberger, J. Humble, J. B. Thatcher, and D. Smith, “A Taxonomy of Software Delivery Performance Profiles: Investigating the Effects of DevOps Practices,” 2020.

R. W. Macarthy and J. M. Bass, “An empirical taxonomy of DevOps in practice,” in Proceedings of the 46th Euromicro Conf. on Software Eng. and Advanced Applications, 2020, pp. 221–228.




DOI: http://dx.doi.org/10.21533/pen.v11i2.3474

Refbacks

  • There are currently no refbacks.


Copyright (c) 2023 César Pardo, Carlos Orozco, Jonathan Guerrero

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.

ISSN: 2303-4521

Digital Object Identifier DOI: 10.21533/pen

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License