In my previous post on Operational Readiness I wrote about Agile missing maintenance and DevOps filling in that gap. There can be multiple ways and processes to make these intersecting school of thoughts work together for a multitude of outcomes.
My favorite bit from an operations mindset is Definition of Done. It beautifully encompasses DevOps within itself. It is perfect to deliver a feature that is operationally ready.
So what is Definition of Done and what is ORR?
Definition of Done: A checklist that must be ticked off for every feature/epic/story before it can be considered as complete/done.
Operational Readiness Requirement: A checklist that must be ticked for the project to be considered ready for operations.
This is a flavor of Dev(DoD)Ops(ORR).
When we bring these two together and start thinking right at the beginning about the end, we are delivering features that are focused on customer experience.
Definition of Done can be powerful when the checklist is thought out from all perspectives right from what the feature does to how the feature behaves in good, bad and stressful circumstances. To achieve this, involve not only the product owner, business analyst and scrum master or project manager and delivery teams but also security and operations right at the beginning of drafting the DoD. This sets up the framework for delivery. We ingrain delivering world class features as a norm within our teams.
Usual Project Flow working in Silos
The outcome can have certain operational requirements missing. Which can mean missing NFRs or fault tolerant or availability issues, which in turn means a possibility of poor customer experience.
Operations, maintenance, fault tolerance, availability, non-functional requirements are included and brainstormed right at the beginning.
The outcome can be an efficient feature which delivers not only expected functionality but the functionality delivered is efficient and elevates the customer experience.
When we wear an operations lens while creating the DoD we recall what issues impacted us in the past and what challenges they posed. We start thinking about failure scenarios, customer experience, blast radius, recovery from failure and our DoD evolves. Security, NFRs, Monitoring and Alerting do not remain nice to haves rather they become a part of the feature being delivered.
DevOps means a lot of things to a lot of people. Definition of Done helps you in the DevOps journey is my experience.