API as a product - Team
Outcome decides the shape of the team, setup the team with the structure that can support delivery of the outcome. If the expected outcome changes, evolve your team structure as well.
Outcome
Be clear about the outcome you would like the team to deliver. There are 5 key elements (ABCDE) of the outcome:
- Analytics: use data to guide the product decisions
- Build & Run: build and evolve the product
- Customer: identify, understand and engage with customers
- Developer community: engage with the community of developers and treat developer experience as the first-class citizen
- Experience: drive the adoption of the product
Quite often we see organizations focus only on “Build and Run” part, ignore customer, dexperience and analytics. This is mainly because of the strategy is created from the insider, with assumptions, instead of driven by customers.
Question 1:
What’s the expected outcome of your team?
Type of API products
One way to categorize the product is according to it’s customers:
- Internal: is available to part of organizations;
- Partner: is available to selected partners;
- Public: is avaiable for anyone to use;
According to the type of your product, the detail to engage customer could be different, yet the product thinking remains the same.
Yet be aware that many of the existing APIs available on the market are not built in the product way, as they’re managed as middleware/integration. So this will bring additional risk if you include them as part of your customer experience.
Question 2:
What kind of API product are you building?
Key capabilities of an API product
The key components of an API product includes:
- API
- Dveloper portal
- Onboard new users via self-service
- Registry of APIs
- Tutorials
- Access control for security
- Sandbox environments to access in real-time
- Developer community through channels
- Monitor and communicate significant updates/incides to users
- Analytics of API usage insight
Question 3:
What kind of capabilities are you building into your API product?
Typical roles
These are the typical roles to support the above outcomes:
- Product Manager: is reponsible for understanding customers’ requirement and own product roadmap
- Architect/Technical Lead: is responsible for the architect and strategy alignment
- Developers: build, scale and support APIs
- Experience Designer: focus on the user experience of developers
- Platform engineer: focuses on the performance, monitoring, scalability and availability of APIs
- Partner engineer: serves as the voice of API consumers, supports and promotes API to external platform partners and the broader developer ecosystem
- API Champion - works with internal executives to communicate the value of API product to the rest of the organization
You don’t have to have all the roles ready in day 1, people in the team can wear multiple hats when get started. As product scales, you can then evolve the team along the way.