BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News How Building a Platform as a Product Empowered Software Engineers

How Building a Platform as a Product Empowered Software Engineers

Platform engineering is about accelerating and empowering developers to deliver more product value faster over time. According to Jessica Andersson, most companies don’t invest in platform engineering until they reach a certain size. At QCon London she presented how their startup adopted platform engineering, what strategy they took, and what they have done to gain platform adoption from developers.

Andersson mentioned that they launched their platform engineering team when the company was two years old and already had software running in production. As soon as you have software in production, you have an implicit platform, regardless if you know it or not, she said. This implicit platform is built in bits and pieces to solve whatever need the teams have at the moment and once it works well enough, whoever built it goes back to building the product, she added.

Starting out with platform engineering they first identified their implicit platform and then started to turn it into an intentional platform:

Basically we took existing things and streamlined, upgraded, and secured them. It’s important here to acknowledge that the implicit platform was built with the best knowledge available at the time and to remember that this was not the main focus for those building it.

It’s important to avoid replacing all tools just because they would not have been your first choice; replace the ones that are insecure or hinder your platform, Andersson said.

The main goal of the platform engineering team is to increase the ability to deliver product value, Andersson said. You can do this through removing bottlenecks and reducing pain points and time sinks:

Some indicators we look for in order to identify where we need to spend more effort are:

  • Teams are blocked from performing tasks
  • The tasks teams perform take long time
  • The tasks teams perform are unreliable and prone to failures

There are always trade offs you need to make; being a small team we definitely can’t take on everything, Andersson said, but we aim to solve the most common and urgent needs.

Treating your platform as a product means building it like you would any other software product. The platform has users, problems that it solves, and a lifespan throughout which you need to take care of both the software and your users, as Andersson explained:

I often see platform teams forgetting about the users when it comes to migrations or switching to new tools, and they deprecate the old thing without providing a seamless transition to the new thing.

Andersson mentioned that you need to keep a focus on what your product is. Working with a product manager in the team is important to maintain that focus:

I try to focus a lot on solving the right problems as well. As a platform engineering team in a cloud native environment there are infinitely interesting problems you can work on; the question is whether you should. So finding out what are the right problems for your organisation and your users is important in order to spend time on those problems.

Platform engineering aims to improve the developer’s experience, Andersson said. Internal developer platforms can help you build a good foundation for good developer experience, helping your teams focus on building excellent products, she concluded.

InfoQ interviewed Jessica Andersson about platform adoption and building trust.

InfoQ: What have you done to gain platform adoption from developers?

Jessica Andersson: Some activities we’ve seen that build trust and thus encourage adoption from our teams are:

  • Remove pain points - we show our teams that we care about them and can improve their experience
  • Be approachable and helpful - people more likely to reach out to us again, spreading the word to their teammates
  • Be proactive - while being approachable we might hear about pain points the teams don’t realise we can solve for them, if we fix it we will gain more trust
  • Understand the teams’ perspective - if we understand where they come from, what they know and not, then we can communicate in the same language and better understand their pain points

InfoQ: What role does trust play in supporting a platform?

Andersson: Trust is important as everything builds on it. Adoptions, information, communication: it all comes back to trust.

I believe that as a platform team it’s very important to build a high level of trust with the product teams as it will determine how successful your platform will be.

About the Author

Rate this Article

Adoption
Style

BT