Blog

DevOps – More than a relabelling

calendar icon 18 January 2023
time icon 3 min

Authors

Male

David Boyle

Technical Architect, Insights & Analytics

In my previous blog post I sketched out the types of challenges our team faced when incorporating DevOps ideas into our software development.

A charitable interpretation of that post might be that I was whetting your collective appetites for the details to come. A less charitable interpretation might be that I didn’t get down to brass tacks! If you tend to the latter view, I’ll try to remedy that here with a post about the behaviours, expectations, and process challenges that we encountered.

I’m going to structure this post around the different roles within the team, as I think there’s considerable variation in how each role is affected by the switch to DevOps. In particular, I want to focus on the effects of the switch from a batch paradigm to a flow paradigm. To recap the previous post, the flow paradigm aims to deploy new features to production as soon as they are complete, with the batched paradigm aiming to periodically deploy collections of features.

Let’s start with the project manager. (There are lots of different titles for this role, including the faintly atavistic “tribal lead", if the Spotify model is your thing). Whatever the title, I mean the person tasked with managing the team’s workload and coordinating delivery of new features. The shift to flow can be a disorientating experience for anyone accustomed to expending considerable effort planning which features will be included in a given version of your application. A version is really just another name for a batch of features and batches are what we’re trying to avoid.

When flowing features out to production, versions become somewhat arbitrary in that they are simply what happen to be complete at the end of a sprint (I’ve not forgotten semantic versioning, but that’s for a future post). It can be very hard letting go of the comfort that comes from having a plan, extending months into the future, of features tied to versions tied to dates. This can lead to a phenomenon that I’ll call relabelling (I’m almost certain this isn’t a term that I coined but I’ve not found a source to cite). Relabelling is when, instead of a fundamental change to the way we work, we subconsciously cleave to our deeply ingrained ways by just changing the names of things. For instance, we might try to move away from versions to something more flow-oriented but find that we’ve just relabelled versions as phases or epics or milestones.

Rebelling is when, instead of a fundamental change to the way we work, we subconsciously cleave to our deeply ingrained way by just changing the names of things.
David Boyle Technical Architect

If you find yourself discussing at length whether feature X should go in phase Y or phase Z then you may have subconsciously relabelled, rather than changed, your processes.

Let’s move on to architects. Architects, like project managers, gain some semblance of security by performing up-front analysis. That is, they attempt to divine the evolution of an application and, given that evolution, specify a gross structure that will support the application’s functional and non-functional requirements. The change in behaviour required here is to dial down the amount of up-front analysis and instead focus on defining “just enough architecture”, as Kent Beck puts it, to get the project started. Like everyone else on the team, the architect needs to then react as user stories are drawn into sprints and modify the architecture to satisfy the requirements as they actually are, and not as they were perceived to be at the outset of the project.

Finally, let’s talk about Quality Analysts. If a bug fix that takes an hour to implement precipitates a day’s worth of manual testing then our flow is going to be…well… viscous! The QAs at Hymans are some of the most knowledgeable I’ve ever worked with. They are often qualified, or part-qualified, actuaries and have a far, far stronger grasp of what the actuarial models are doing than I do. They also tend to be adept at creating models in R or VBA. This means they can quickly get up to speed with writing automated tests – which is fortuitous, as nothing improves flow more than a comprehensive suite of automated tests.

What about devs, you may be asking? That will be the focus of the next instalment.

Download our LGPS Preparing for Pooling report

Download our publication to learn more

Opens in new window Download report

Sign up for our newsletter

We pride ourselves on being thought leaders and are constantly discussing the many issues facing and shaping our industry. Sign up to find our current thinking on topical issues.

Opens in new window Subscribe
  • Latest industry news

  • First access to upcoming events

  • Content tailored to your interests

  • Access to exclusive content

Opens in new window Subscribe