DevOps
DevOps, the combination of Development and Operations: How to create agile, reliable, & secure technology organisations. Developed by Frithjof Johannes Thiem.
More than ever how technology work is managed and performed predicts the success of the entire organization. DevOps describes an approach to create agile, reliable and secure technological organizations. The core of the concept is the cooperation of different functions in small teams which leads to organizational success. Safe systems of work are created that are able to quickly and independently develop, test and deploy code and value to customers safely, securely, and reliably. DevOps can have a major impact on the way technology organizations operate. [1] It can be understood as the application of principles taken from physical manufacturing to the IT value stream. DevOps relies for example on Lean manufacturing concepts, on the Theory of Constraints, and the Toyota Kata movement. However, it may also be viewed as the continuation of agile software development.
It is therefore directly relevant to project management, especially to agile project management. It allows for a project to achieve general established goals described by PMI standards, for example to meet business objectives or to satisfy stakeholder objectives. IT work is hereby important for nearly all business objectives and every organisation must face the way in which they structure technology work. DevOps can be considered a principles for effective and efficient project management in technology organisations. It can be viewed as a strategiy competency to allow organisations to: [2]
- Tie project results to business goals,
- Compete more effectively in their markets,
- Sustain the organization, and
- Respond to the impact of business environment changes on projects by appropriately adjusting project management plans
A main concept of DevOps is to create shared goals between development and operations. In addition, continiuos integration practices are used to make deployment part of daily work.This was first described at the 2009 Valocity conference by John Allspaw and Paul Hammond. [3]
To understand the DevOps methodology, first the three ways must be understood. This theoretical foundation for the idea behind DevOps will allow an understanding of how DevOps can help an organization. It should be mentioned that DevOps can be applicable for every organization, no matter what the core business is. Nowadays, every organization, company or NGO, needs a stable and reliable technology infrastructure to be successful. Therefore, DevOps has a relevance for nearly all industries.
After an organization has made the decision to start their DevOps journey, there are three main areas which need to be accelerated. These correlate to the three ways of DevOps (Flow, Feedback and Continual Learning). DevOps has been subject to a novel published in January 2013 and written by Gene Kim, Kevin Behr and George Spafford. “The Phoenix Project” describes the typical issues faced by an IT organisation and how DevOps helps to solve them. This homage to “The Goal”, the 1984 novel by Eliyahu M. Goldratt, was accompanied by “The DevOps Handbook” in 2016, which describes how organizations can replicate the success of DevOps.
Contents |
The three ways
To understand the big idea behind DevOps, several important movements in management and technology must be explored. Most importantly, value streams, the application of Lean principles to the technology value stream as well as the three ways must be understood: [1]
- The principles of Flow (accelerate the delivery of work from Development to Operations and to the customer)
- The principles of Feedback (enabling the creation of safer systems of work)
- The principles of Continual Learning and Experimentation (promote trust and a scientific approach to improvement)
To understand DevOps, Lean must be understood first. One fundamental concept is the Value Stream. Is is defined as "the sequence of activities an organisation undertakes to deliver upon a customer request" or "the sequence required to design, produce, and deliver a good or service to a customer, including the dual flows of information and material". [4] In lean manufacturing, the focus lays on creating a smooth and even flow of work, by using small batch sizes, reducing work in progress (WIP), preventing rework, and optimizing the system towards global goals. These principles are equally applicable to technology work as well as all knowledge work.[1]
How and where to start
The following chapters will describe the Application of DevOps
How to accelerate
Flow
Feedback
Continual Learning
Integrate Security and Compliance
Applicability for other sectors and limitations
This chapter will provide a critical reflection of DevOps
Annotated bibliography
The following list provides resources for further research on DevOps
- Kim, G.; Humble, J.; Debois, P.; Willis,J (2016): The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations
- - The DevOps Handbook describes how using the DevOps principles can integrate Product Management, Development, QA, IT Operations, and Information Security to help effective management of technology.
- Kim, G.; Behr, K.; Spafford, G, (2013): The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business
- - The Phoenix Project is a novel about an IT manager that uses the DevOps priciples to lead a technology organisation to new success.
- Kim, Gene (2019): The Unicorn Project: A Novel about Developers, Digital Disruption, and Thriving in the Age of Data
- - The Unicorn Project is the continuation of The Phoenix Project, It takes the perspective of the software development department and introduces the "Five Ideals".
- Goldratt, Eliyahu M. (1984): The Goal
- - The Goal is the inspiration for The Phoenix Project. It explains the theory of constraints in manufacturing. This theory is used in the DevOps principles extensively.
- Puppet Lab: State of DevOps Report
- - This yearly report (2011 - 2020) provides new insights into how organizations evolve the DevOps practices.
- Farley, D.; Humble, J. (2010): Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation
- - Continuous Delivery describes principles and technical practices that enable rapid, incremental delivery of high quality, valuable new functionality to users and therefore laying the basis for the DevOps principles.
- Allspaw, J.; Hammomnd, P (2009): 10+ Deploys Per Day: Dev and Ops Cooperation at Flickr [conference]; available at: https://tech-talks.code-maven.com/ten-plus-deploys-per-day.html
- - Video taken from the Velocity conference in 2009. Key concepts for DevOps are introduced (shared goals between development and operations, and continuous integration practices).
- Ries, Eric (2011): The Lean Startup
- - The Lean Startup describes how to create successful entrepreneurial business and explains how the principles could be used in other organizations. The principles resemble the DevOps principles.
References
- ↑ 1.0 1.1 1.2 Kim, G.; Humble, J.; Debois, P.; Willis,J (2016): The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations
- ↑ Project Management Institute, publisher (2017): A guide to the project management body of knowledge (PMBOK guide)
- ↑ Allspaw, J.; Hammomnd, P (2009): 10+ Deploys Per Day: Dev and Ops Cooperation at Flickr [conference]; available at: https://tech-talks.code-maven.com/ten-plus-deploys-per-day.html
- ↑ Martin, K; Osterling, M (2013): Value Stream Mapping, How to Visualize Work and Align Leadership for organisational Transformation