The city of Oslo aims to continuously improve technology and organizational performance. To achieve these goals we focus on increased team autonomy and a kick-ass developer experience.
The platform and the developer experience outlined below is impossible to implement without the right level of team autonomy and delegated authority. Achieving empowered teams is a topic for another time, although we frequently share our experiences with this as well.
The short version sounds like this:
"A service platform (being self-serviced by teams) is a tool for efficient development — the smart way of doing agile development with delegated authority."
A slightly longer version:
"A service platform is all you need to be effective developing whatever solution you like, with support for all aspects of the development process — including integrating with others, sharing your stuff, innovating, designing, building, shipping and iterating!"
The service platform consists of several components, as shown in the above illustration. The platform is the number one go-to guy (or girl) for development teams. It makes available the services, tools and documentation necessary to do effective systems development.
Explaining all the components of the platform in detail is out of scope for this blogpost, but look forward to future updates on the specific components.
Here’s a brief explanation of the main parts.
To increase service delivery performance, teams need access to the best tools available. This is why we choose to make the best cloud services available and let the teams choose their preferred technical solutions. But at scale, with many parallel teams, we need some kind of alignment. Do not underestimate the difficulty searching for existing code and services, ensuring privacy, limiting technical debt, managing a common identity, secure sharing of data etc. This is what building a service platform is all about. It’s a fine balance between standardization and freedom.
We strive to make all parts of the platform self-service for teams. For example you don’t have to involve other parts of your organization when you are delivering code to production, utilizing an external API, searching for existing solutions or simply creating a new data store. This is made possible with autonomous multi disciplinary teams.
Above we talked briefly about the developer experience and the need for speed in systems development. Not to be forgotten is the privacy and security of the services and data implemented by teams. It is extremely important that we are doing privacy and security by design, and are doing this by making it a central part of the developers mindset. The teams should be given the tooling, access to competence, time and responsibility to make everything secure and available.
By making services default available, embracing openness and transparency, we will make Oslo go fast forward without jeopardizing security or privacy. We will do this by making a self-service service platform available to all teams interested in delivering modern services to the public of Oslo. With the platform as an enabler for open innovation, we invite others, both public and private sector, to reuse data and services.
And this is just the beginning.
This article was first posted on the city of Oslo developer blog. The author has permission to post it here on medium and on knowitlabs.no. Knowit is a proud partner to the city of Oslo, helping them building a digital platform for innovation and reuse of data and services.