Developer platforms do need a product approach. But it should mean committing to grasping the context of development work and recognizing how that context (technical and organizational) will change and evolve over time. On a broader scale, this requires being sensitive to what developers do and their role in the organization: it is ultimately impossible to develop an effective developer platform, while maintaining the view that technical teams are nothing more than are the resource requirements for building and running the code.
But what does being sensitive to the work a developer does actually look like? What does it involve?
At one level, it requires you to drop any assumptions about what developers might need or how they might like to work. We need to start from scratch and understand collaboration, tools, processes, skills and culture.
At Thoughtworks, we advocate a technology we call Production path mapping. Although it’s a simple idea – the team will really come together and work out all the steps needed to make a change and then push it to production – we rarely see customers doing this, making it a pain point for developers And inefficiencies go undiscovered and addressed. For teams, it also helps ensure a shared understanding of how things are done. Ultimately, it forces everyone, on multiple levels, to work on finding out what developers actually do and what they need to speed time to value. This is a valuable foundation for any future platform development.
On another level, we also need to articulate and acknowledge the broader goals and drivers of the organization. In other words, where does the development team add value?how they add value hurry up?
This will vary greatly depending on the type of organization. It is for this reason that it can be risky to have preconceived notions of what a platform should be (i.e. what it should function).It would be great to list an example of an example developer platform – Spotify’s Backstage Yes, right, it’s often put on hold here – but here’s the thing There are no role models. A developer platform that is perfect in one case is an inflexible anti-pattern in another. Fundamentally, a good platform implements guardrails that allow developers to focus on what they do best: writing and releasing code.it should reduce team cognitive loadminimize the risk of errors and maximize the time developers can spend on value-added work.
The needs of the software developers and the business needs of the organization are best managed or mediated by the product owner. This is an often overlooked role. The Product Owner is neither a business analyst nor strictly a development role, and is an important figure in ensuring that developers are empowered and provide value to the wider organization.
Importantly, however, capturing functional requirements is not considered the full scope of platform-as-product work. Attention to detail is important, but we need to focus on more than just the nuts and bolts of the platform: we need to ensure that the value of those nuts and bolts is realized. This can only be achieved through a coherent and ongoing internal marketing and communication strategy.