How do we do better?

Navin Keswani

Navin Keswani

Retreaded mathematician. Voracious learner.

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.”

Adam Grant, Think Again

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.”

Donella H. Meadows, Thinking in Systems

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 lowmediumhigh, or elite performers at a glance.”

Accelerate State of Devops 2019

The four key (DORA) metrics

  1. Deployment Frequency – how often is code deployed
  2. Lead Time for Change – the time for a commit to get deployed
  3. Mean Time to Restore – average time to restore from failure
  4. 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.”

Accelerate State of Devops 2019

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.

Liked this post? Share it on…

Share on facebook
Share on twitter
Share on linkedin

Related posts

Anwesha Chatterjee

Remote Pairing – Do’s and Don’ts

Whilst pairing has been a fairly consistent part of my years as a software developer, Cogent was where I first started remote pairing. I’ve found the remote aspect of the experience amplifies certain challenges so in this post, I share some of the lessons I’ve learnt.

Read More
Sam Chalela

Deploying micro frontends with module federation and Next.js

Micro frontends are an architectural pattern that has become a hot topic in recent years for many good reasons. It has helped organisations break complex UI applications into smaller, more manageable pieces, as well as enabling teams to work end-to-end across a well-defined product or business domain whilst maintaining a consistent user experience across the entire app.

Read More
Erin Zimmer

CSS Layout: Normal Flow

It’s worth understanding normal CSS flow, what it’s good for, and why it makes it so hard to centre things vertically. In order to do that though, there are three main concepts that we need to understand – block elements, inline elements, and line boxes.

Read More