The Emergence of the Enabling Team
At Klaveness Digital we have a team of specialists who enable our developers to work smarter, safer, and more efficiently when building our applications. We call it the Enabling Team, but what is it? And how does it work?
This article is a part of a series where we will be diving a bit deeper into each of the focus areas of the Enabling Team through a series of blog posts related to security, DevOps, and testing and release. In these posts we will look at how we work to bridge the gap to the development teams, how we keep an eye on the future, and how we cooperate with external service providers.
Before we became Klaveness Digital, we were a laboratory born from a wish to change the nature of shipping. As an experiment, the Norwegian shipping company Torvald Klaveness hired a team of tech-heads to come up with new ways to think digitally about the challenges facing the industry. A number of projects were initiated and the two cornerstones of our business, CargoValue and KPlatform, were born.
With the first customers came the first contracts and legal obligations, and these new demands required expertise in three core areas: DevOps — the art of deploying and operating an application in the cloud, testing and release — the art of making sure the code works as it should, and security — making sure the code is protected from intruders.
Initially, our guerilla-style teams would find ways to handle all these aspects of the deployment process, but we soon found ourselves at a crossroads. Traditionally there are two ways to structure this; either you solve it by hiring experts into cross-functional and autonomous feature teams, or you centralize DevOps, security, and testing into separate teams responsible for another set of steps in the deployment process.
Inspired by Manuel Pais and Matthew Skeltons book Team Topologies, we decided to go for a third option. Instead of putting one expert from each area into each team, or building separate silos for groups of experts within one area, we created one team with experts from different areas that would be responsible for empowering the developers in our development teams with the tools, culture and capabilities to safely and efficiently build our applications.
One of the main advantages of having an Enabling Team is that it allows us to keep our development teams slim and focused on getting the business logic of the application right. Each development team owns and operates a set of components in our products and have full cradle to grave responsibility for these components. The members of the Enabling Team have three core responsibilities:
1. Developer Training Through the Advocate Programs
In order to bridge the gap between the development teams and the Enabling Team, we have introduced a set of educational programs spearheaded by the members of the Enabling Team. These programs are designed to create vibrant communities for each of the focus areas and to empower developers to become an advocate for testing, security, or DevOps in their respective teams. We call them Advocate Programs.
2. Development of Tools and Libraries
The Enabling Team provides a set of tools, methods and libraries within each area that aim to reduce the cognitive load on the developers. Giving the experts in the enabling team the freedom and responsibility to do this helps make sure we are continuously improving our workflows making it easier and safer to push code to production and to onboard new developers.
3. Advise on Architectural and Technological Decisions
Another important task for the Enabling Team is to think deeply about holistic solutions to the challenges we are facing, and also to keep an eye on what the future holds. By spending time on research and experimentation, the team is in a good position to make decisions about how to solve the challenges of tomorrow.
Going forward we want to expand the Enabling Team with experts in other areas such as for example frontend development while continuing to build the communities surrounding the existing focus areas. We have also introduced new ways to measure progress and align goals through common OKRs, and our philosophy is to hold on to the principles we have agreed on until we see a need for change and then we adapt.
About the Author
Tarjei Romtveit is the CTO of Klaveness Digital and has been involved in the company since its inception as an incubation lab for Torvald Klaveness in 2015. Tarjei has a great passion for data-driven SaaS and developing organizations.
We Are Hiring
Do you have a passion for DevOps, Security or Testing? We are currently scaling our Enabling Team and would love to hear from you. Visit our career page to see our open positions and to learn more about life at Klaveness Digital.