It all starts with a simple question: ‘How do we release this feature to a paying customer quicker?’ It’s a question that’s asked of all engineering teams on an almost daily basis.
And as all engineering teams will appreciate, this simple question can feel like a direct challenge. All too often, it’s interpreted as:
- ‘Are you there yet?’
- ‘Why is it taking you so long?’
- ‘It didn’t seem that hard when I asked for it!’
- ‘Are you overthinking this?’
However, the challenge is one that we at MediaKind have embraced. The role of engineering leaders like myself is to take this simple question, look at what we do, how we do it, and what capabilities we have given to our teams to answer it.
What do MediaKind’s engineering teams do?
We enable our worldwide customers to deliver media content to their customers. The technology used to achieve this has evolved significantly over the last decade, from bespoke hardware solutions designed in-house to software solutions and now to cloud-based services and technologies.
How do MediaKind’s engineering teams do it?
Adopting new technology always brings new challenges, but the advantages are clear, and we see real benefits in our shift towards the cloud.
As we embrace ‘cloud-native’ and the approaches it enables, problems that were once complex are now simplified. As an example, managing dependencies between packages has always been a challenge. Delivering our microservices as containers allows dependency management to be simplified and integration testing to focus on API compatibility, rather than checking that they still build.
The adoption of containers has also simplified our approach to continuous solution integration. We now deploy our components together, multiple times a day. This method significantly decreases the feedback time to development teams and ensures that they know the impact of their code changes in hours and minutes, not days and weeks.
What has MediaKind done to enable its teams to improve?
Teams need to understand what is going on and how their choices result in positive or negative changes. We provide our teams with simple metrics that enable them to:
- Observe: See the impact of changes they make.
- Orient: Understand why they see this impact in the context of ‘their team’ and the wider engineering department.
- Decide: Produce a plan to adapt and modify their approach to provide a positive impact.
- Act: Make the change and restart the whole process.
These metrics are common, structured data for the teams. We are not subjecting the teams to KPIs and asking them to match a prescribed model behavior. We provide them with data to quickly observe and orient, which enables the decision and action loops to occur with more certainty, less emotion, and greater frequency.
Thanks to the adoption of cloud-native technology – and increasingly the behaviors associated with cloud-native software development, along with a common set of metrics for all teams – we can evolve far more effectively.
This is how we release new features to paying customers quicker; it’s how our engineering teams respond every day at MediaKind.