Applying Product Thinking to Slack’s Internal Compute Platform

According to a recent Thoughtworks radar, “the industry is increasingly gaining experience with platform engineering product teams that create and support internal platforms.” They caveated this with a piece of advice: “When creating a platform, it’s critical to have clearly defined customers and products that will benefit from it rather than building in a vacuum.”…

Javier Turegano
13 min readadvanced
--
View Original

Overview

This article discusses the application of product thinking to Slack's internal compute platform, Bedrock, emphasizing the importance of understanding user needs and implementing features that enhance developer experience. It outlines various initiatives undertaken to align the platform with the principles of product management, including user interviews, surveys, and the establishment of a user advisory group.

What You'll Learn

1

How to implement user experience interviews to gather feedback on internal platforms

2

Why promoting new features within your own product enhances adoption

3

How to utilize NPS to measure user satisfaction effectively

4

How to create a user advisory group for better product alignment

Prerequisites & Requirements

  • Understanding of product management principles
  • Experience with user feedback mechanisms(optional)

Key Questions Answered

What is Bedrock and how does it function?
Bedrock is Slack's internal compute platform that allows developers to build code, package it into Docker containers, and allocate computing resources via a configuration file called bedrock.yaml. It simplifies the deployment process by leveraging Kubernetes features and reducing configuration complexity.
How does Slack gather user feedback for Bedrock?
Slack employs user experience interviews, surveys, and NPS (Net Promoter Score) to gather feedback from developers using Bedrock. This feedback helps prioritize features and improvements based on actual user needs and experiences.
What role does dogfooding play in product development at Slack?
Dogfooding involves using Bedrock internally to identify issues and gather feedback before releasing features to external users. This practice allows product teams to catch errors early and refine features based on firsthand experience.
What is the purpose of the user advisory group for Bedrock?
The user advisory group, known as the Bedrock Advisory Group, consists of representatives from various teams who provide feedback, share user stories, and discuss the roadmap for Bedrock. This ensures that the platform aligns with the needs of its users.

Technologies & Tools

Some links below are affiliate links. We may earn a commission if you make a purchase.

Key Actionable Insights

1
Conduct regular user experience interviews to understand how developers interact with your platform.
These interviews can reveal unexpected use cases and pain points, allowing you to prioritize features that improve the developer experience.
2
Implement a user advisory group to facilitate ongoing communication between developers and product teams.
This group can serve as a valuable resource for gathering feedback and ensuring that the platform evolves in line with user needs.
3
Utilize NPS to gauge user satisfaction and identify areas for improvement.
By focusing on actual users of the platform, you can obtain more relevant feedback that directly informs your development priorities.
4
Promote new features within your product to increase visibility and adoption.
Creating a visual interface or prompts for new functionalities can help users discover and utilize these features effectively.

Common Pitfalls

1
Failing to differentiate user personas can lead to misaligned features and poor user experience.
Understanding that different teams have varying levels of experience with the platform is crucial. Tailoring features to meet diverse needs can enhance overall satisfaction.

Related Concepts

Product Management Principles
User Feedback Mechanisms
Internal Platform Development
Developer Experience Improvement