Introducing a theme of engineering posts
“In driver’s training we were taught to identify our visual blind spots and eliminate them with the help of mirrors and sensors. In life, since our minds don’t come equipped with those tools, we need to learn to recognise our cognitive blind spots and revise our thinking accordingly.”
In order to get really good at something, it’s important to keep asking the question, “How can I do better?” In his book, “Think Again,” the organisational psychologist Adam Grant invites us to let go of views that are no longer serving us well and prize mental flexibility, humility, and curiosity over foolish consistency.
At Cogent, this comes up a lot. Not only at an individual level, also in the context of teams of people. We have conversations with our clients that often settle on “How do I manage/improve performance and reliability?” They usually come with a liberal sprinkling of buzzwords that have come to mean specific things to the person posing the question. Agile, Scrum, Devops, Team-of-teams, data-driven, high-performing-teams … feature often. Sometimes these conversations start in distant questions like, “why does everyone hate pull-requests all of a sudden,” and, “so everyone seems to be talking about feature flags but how do they get from zero to using them effectively,” … oh also, “since when did ‘testing in production’ become ok?!”
“When there are long delays in feedback loops, some sort of foresight is essential. To act only when a problem becomes obvious is to miss an important opportunity to solve the problem.”
We’re going to write about this theme. In the spirit of using a ubiquitous language, we will draw upon the excellent work of the DevOps Research and Assessment (DORA) team. In keeping with our tradition, we will present our thoughts in simple, jargon-free terms. Our goal is to help our community with answering questions relating to quality, reliability and performance, as they pertain to their products and their teams. A secondary goal is to help by grounding some of the hype and trend in some principled thinking.
Our posts will draw on material from recent engagements to address specific topics that appear in the devops-research capability catalog, including:
- Continuous delivery (and continuous integration)
- Trunk-based development
- A principled approach to using feature flags
- Testing in production
- Monitoring and observability
- Empowering teams to choose (or build) tools
DevOps Research and Assessment (DORA) benchmarking
“Our research employs rigorous statistical methods to present data-driven insights about the most effective and efficient ways to develop and deliver technology. Cluster analysis allows teams to benchmark against the industry, identifying themselves as low, medium, high, or elite performers at a glance.”
The four key (DORA) metrics
- Deployment Frequency – how often is code deployed
- Lead Time for Change – the time for a commit to get deployed
- Mean Time to Restore – average time to restore from failure
- Change Failure Rate – percentage of deployments that result in failures
“Our research continues to show that the industry-standard Four Key Metrics of software development and delivery drive organisational performance in technology transformations.”
If this resonates with you, take the DORA DevOps Quick Check and explore the results. If this fires you up and you want a hand with what to do next, be in touch.
Sound interesting? We’d love to chat.