Are You Asking for DevOps or Something Else?
The term “DevOps” may present difficulty for the uninitiated; it is semantically overloaded, meaning more than just developer and operation teams working together to deliver software. Which of the seemingly endless interpretations is correct? For the next few minutes, forget DevSecOps, BizDevOps, ChatOps, and any other portmanteaus that exist. We need to start by clarifying what DevOps is not before talking about what it is.
Many people seem to equate DevOps with the introduction of continuous integration and continuous delivery (CI/CD) into the System Development Life Cycle (SDLC). This envisioned “DevOps pipeline” includes the CI/CD parts needed to produce software quickly (e.g., build, test, scan, deliver), benefits from at least some automation, and hopefully allows developer and operation teams to work well together. Fast, automated, and happy software delivery? Check those boxes, we are now doing DevOps! Not so fast…
Having CI/CD tools and automation are essential; both are important parts of a larger picture, but alone they are not DevOps. This truth is complicated by job listings, training courses, and certifications that muddy the waters, like Amazon’s AWS Certified DevOps Engineer – Professional certification that “validates technical expertise in provisioning, operating, and managing distributed application systems on the AWS platform” and indicates candidates should be able to:
- Implement and manage continuous delivery systems and methodologies on AWS
- Understand, implement, and automate security controls, governance processes, and compliance validation
- Define and deploy monitoring, metrics, and logging systems on AWS
- Implement systems that are highly available, scalable, and self-healing on the AWS platform
- Design, manage, and maintain tools to automate operational processes
This sounds great, and these are sorely needed skills, but this certification just demonstrates technical capabilities which might be used to support an automated CI/CD pipeline – or only a part of DevOps. To be accurate, the certification should be for a Continuous Delivery Engineer or Site Reliability Engineer.
What’s missing from this view that prevents true understanding of DevOps transformation? Quite a bit! Over the next few months, we will take a deeper look at each of the following areas and ask some questions to get you thinking more about what these areas mean to DevOps:
- Continuous Flow. Delivering value to customers is really the end goal, but there are always activities that will not add value. Identifying and removing waste is essential to increasing the flow of work. Improving flow should not stop within the system boundaries of developer and operation team interaction; instead it should reach throughout the entire SDLC, from idea generation and requirements, to end users and support personnel. How can this value flow be improved?
- Application Selection. Not every application is a good candidate to take along on a DevOps adventure. Focus on the ones which will benefit from that automated CI/CD pipeline based on how often they change, organizational readiness, and the deliverable business value. Mainframe, mobile, microservices, and serverless are not the same. Which applications will work?
- Continuous Integration and Delivery. Well known aspects of DevOps include: creating a CI/CD pipeline, using automation, and ensuring software is always ready. There is no standard method for implementing CI/CD – it could be different every time – but there are practices and methodologies that can be followed that help assure success, such as Agile software development. What changes can improve the success of automated CI/CD implementations?
- Metrics. Everyone loves metrics, right? DevOps likes to change up the norm and makes time the primary measure instead of cost and quality because time affects both. George Stalk, Jr. gives us the ¼-2-20 rule: for every 25% reduction of time delivering value to a customer, productivity is doubled, which may yield up to a 20% cost reduction. This is not a new concept—Stalk wrote about it in 1998! When are metrics actually useful?
- Information. Sharing information is critical to any DevOps voyage. In a traditional group structure, information is created by someone and passed around via email or phone call, ending up in some central location waiting for management approval before any action can occur. Turn that concept on its head and consider information created, owned, and used by a self-managing group in real time to make immediate decisions. Organizational structure change enters the picture; it is not for everyone, but adapt and adopt works here! Where can changes be made to allow information to be more effective?
- Culture and Leadership. The cultural aspects of DevOps are often overlooked or ignored even though they are core to everything else. Placing higher value on fast, innovative growth instead of challenges related to organizational culture incurs cultural debt. This is the longest and most difficult encounter faced on this DevOps quest. To successfully achieve DevOps transformation, proper leadership is necessary to help an organization establish and embrace a generative culture rather than a bureaucratic or pathological one. Who are these transformational leaders?
Are you genuinely ready to start the never-ending and continuously changing DevOps journey? Or do you just want to establish a continuous delivery pipeline to jump on the “we do DevOps” bandwagon so you can check those boxes? Remember, automation and CI/CD is not DevOps, and DevOps is not just about automation and CI/CD. When you talk about DevOps in your organization make sure you share the distinction!
CVP can help you investigate DevOps or CI/CD technical challenges just like many others but, more importantly, we can help you begin the organizational transformation necessary to truly benefit from this idea known as DevOps.
Stay tuned for future articles as we embark on this DevOps adventure together! For further reading on this topic, check out the 2017 State of DevOps Report and digest all the information and metrics they provide to learn more about transformational leadership, organizational performance, technical practices, and methodologies related to DevOps.