By focusing on the users, platform development teams can ensure that they build a platform that tackles the true needs of developers, Ana Petkovska said at QCon London. In her talk, Delight Your Developers with User-Centric Platforms & Practices, she shared what their Developer Experience (DevEx) group looks like and what products and services they provide.
Platform development teams should be user-centric across all stages of platform development to understand the true needs of the developers before building the platform, Petkovska said. They should keep close contact with their developers to foster platform adoption and usage, as well as to offer support when issues arise.
The goal is to design a platform that is easy to use and on-board. To establish this, Petkovska suggested prioritising future platform development based on user feedback.
As shown in the Accelerate State of DevOps 2023 report, besides improving the user experience, the strong user focus also brings benefits for the platform development teams: it boosts the performance of the teams and leads to higher job satisfaction, Petkovska mentioned.
Petkovska mentioned that they initially started with one team focused on improving the developer experience and productivity through improving the CI/CD tools, as well as the deployment and release processes for the product development teams. Later, they formed their DevEx group by adding another team that was focused on infrastructure development and release. Finally, they formed a team that owns the data infrastructure, and shares tools and best practices with the development teams for using it, as Petkovska explained:
All teams provide internal development platforms, tools, and services to ease the product creation of the development teams, while also improving their productivity and experience.
By providing self-service platforms for different needs (for access rights management, repository management, build tools configuration, etc.), we are enabling the developers to autonomously obtain what they need and when they need it, Petkovska said. This also improves the productivity of the organisation as a whole because the developers can focus more easily on delivering value. In general, platform development teams focused on DevEx have a multiplicative productivity effect:
With the time that they spend, they improve the productivity of all the product developers that they serve.
InfoQ interviewed Ana Petkovska about developing and providing user-centric platforms.
InfoQ: What’s your strategy for treating your platform as a product?
Ana Petkovska: When we think about our platform as a software product that we "sell" internally to our engineering organisation, we can correlate easily to a normal software company and apply similar practices.
- We recognise the product developers as users of our platform. This allows us to tailor our platform around the real needs of our developers.
- We treat our platform as a product, and we share the product manager (PM) role among the managers of the technical platform group and the technical leads of the team.
- We maintain and publish a roadmap with the next projects for each team. Thus, anyone in the Engineering organisation can understand what we have achieved in the past and what we are planning to do next.
- We have technical previews for our platforms with pilot teams as early adopters, before we open the usage to all product teams.
- We prioritise the development of the platform depending on the feedback that we get from the users. For example, during the on-boarding and adoption, some teams might highlight missing features that impede the developers from adopting the platform or decrease their user experience.
- We have well-defined communication channels with our users in order to promote the usage of the platform, ease adoption, and provide support.
InfoQ: How do you communicate with the users of your platform?
Petkovska: We have several ways of engaging with the developers, depending on the type and purpose of the engagement.
- We have weekly meetings called DevEx Connect, where we inform the teams about important changes that our teams are bringing. They are particularly useful when we need adoption of the platforms that our team has built: to inform the developers of the progress and significant changes, to answer questions, and to get feedback.
- For any issue during the daily work, we have a dedicated Jira board where the developers can open support tickets for the tools and services that the platform teams own.
- For everything that our platform development teams own, we write documentation, and provide guides and examples on how the platforms can be used.
- For bigger changes, like offering and migrating to a new CI/CD tool, we also organise workshops and trainings for the product development teams.
- We have dedicated communication channels for the adoption of big changes. These are particularly useful because it creates a community and the product developers can help their peers by sharing their experience from using our platforms.
- For simple queries, they can also contact us via a public communication channel.
InfoQ: What’s your advice to platform teams for enhancing the developer experience in their company?
Petkovska: Focus on user-centric platforms and practices to improve the developer productivity and experience of your product and platform teams.
- Start by ensuring that you have well-established platform teams that are set to bring the DevEx improvements.
- Be intentional when building self-service platforms and treat them as a product. Ensure that you understand the users’ needs when building them.
- Put a strong focus on communication with your users, as well as educating them on how to adopt the platform.