Platform engineering has become a crucial practice for accelerating the delivery capabilities of organizations. Yet, a common hurdle emerges in larger enterprises: the struggle to get teams to embrace and effectively utilize the tools provided by platform engineering teams. These internal tools often face resistance or are eventually abandoned, leading to frustration and wasted resources.
This POV blog looks at a critical aspect often overlooked by platform teams: realizing they do have customers – the internal delivery teams. The key to success lies in adopting a product mindset and understanding that even within an organization, there is competition.
Challenges in Platform Adoption
Platform engineering is the practice of accelerating software delivery teams in an organization by providing tools and services which facilitate security, compliance, resiliency, observability, cost and other concerns that are shared by most or all teams. A common issue I have seen throughout my career is that in larger organizations, platform teams often struggle to get other internal teams to use the tools they create. I have often seen the scenario where a talented, well-intentioned platform team spends a lot of time and resources building a suite of tools which the development teams refuse to adopt, or else begrudgingly adopt and then subsequently abandon. It is a frustrating and expensive problem which is, unfortunately, very common in the industry.
One of the biggest pitfalls platform teams fall into, since they are an internal team and not working on an external product, is imagining that they have no customers and no competition. Often senior leaders will mandate the use of the platform, and the team proceeds with a false sense of security that whatever they build will be used. This is a dangerous myth, and a mindset that is likely doomed to fail. I have seen it happen more times than I wish to remember, including one very painful and educational instance earlier in my career with teams that I was leading. Watching development teams abandon the platform we had worked on so passionately and enthusiastically was a very unpleasant experience. It is a waste of time and money, and it is awful for the morale and retention of both the platform team and the engineering teams using (or not using) the platform.
The Solution: Build Products that Delight Customers
An effective remedy for this pattern is for the platform team to realize that they absolutely have customers. Their customers are the delivery teams inside the organization. The platform team needs to think, organize, and behave like a full product development team with an intense customer focus. They need to build products which delight their customers. If using the platform makes developers’ lives easier, safer, more efficient, and more in-line with the goals of their leaders, they will enthusiastically adopt the platform, instead of fighting it, complaining about it, and skirting it.
The Myth of No Competition
My experience with software developers is that they tend to be highly skilled and creative and dislike anything which makes their jobs harder or limits their ability to be effective. In addition, they tend to be extremely good at subverting or undermining anything which they see as an obstacle. At a previous company I worked at, senior leaders formed a platform engineering team and mandated all delivery teams adopt the platform. At one point I took over leadership of the platform team, which had been receiving a large number of complaints from delivery teams in the organization. I embarked on a listening tour to gather feedback from the users of the platform. What I found was a bit shocking.
Platform User Feedback
The delivery teams fell into two broad categories: Teams who were using the platform and were loudly and angrily complaining about it, and teams who had quietly made other arrangements. These teams had built (or even bought) their own tools, and were not using the platform. These teams were reluctant to speak with me because they didn’t want to be forced to go back to the platform that hadn’t been meeting their needs! When I brought this information back to the platform team, they were appalled. They hadn’t thought it was possible, either technically or politically, that teams could jump ship and get around the controls they had built into the platform. But I have consistently seen smart developers find ingenious ways to circumvent impediments and simplify their jobs. So if the platform is needlessly complicating their lives and not providing value, it is extremely likely that at some point they are going to find (or build) a way around it.
Platform teams will always have intense competition, and that competition comes from the fact that so many developers are smart, creative, tenacious, and refuse to accept impediments. In effect, platform teams are competing with their own customers’ capacity to solve their own problems.
Product Mindset and Customer Focus
Because platforms face stiff competition, successful platform teams need to have an intense customer focus, the same way that product teams in competitive environments do. Platform teams need to see the delivery teams as picky customers who have lots of other options and who need to be delighted by a product in order to adopt it. This means that a platform team should be structured like a modern product team. Having a strong product owner helps enormously and the team needs to spend energy interacting with and understanding their customers. How many platform teams do focus groups, interviews, surveys, rapid prototyping, beta testing, A/B tests, and other forms of user testing? Successful ones do! This user testing can be easy for platform teams to perform because delivery teams are often eager to show platform teams their pain points and the things that slow them down and make their jobs harder.
If the platform is a real product, and it should be, then it also helps enormously to have observability and tracking built into it. This helps the platform team understand how users are actually using their platform so they can iterate and make improvements based on real usage data. Building this into a platform from the start is easier than trying to retrofit it later.
The Proof is in the Planning
Just like with any product, it is important to build the right features at the right time. A common downfall for platform teams is building what they think their users, the delivery teams, want without doing enough research first. This often results in building tools that solve problems no one needed solved, and neglecting to solve the real problems delivery teams are facing. Proper user research, effective product roadmaps, skillful feature planning, and prioritization are extremely helpful to ensure that the delivery team isn’t wasting time working on things that their users don’t need or want. It is never realistic to solve every problem, so it is crucial to identify the worst pain points and areas where quick wins are possible, for example with an impact difficulty matrix or similar process. Focusing on the worst problems delivery teams have and building compelling solutions drives adoption of the platform and fosters evangelism between teams.
Conclusion
Adoption is one of the biggest problems platform teams encounter. Top-down mandates and “if you build it they will come” thinking commonly fail and organizations are left with large expensive platform projects which ultimately fail. To resolve this, successful platform teams need to accept that they face stiff competition from the delivery teams’ ability to solve their own problems. They need to:
- Treat their platforms like a product competing in the marketplace
- Organize their teams and processes like any other modern product team
- Be customer focused
- Prioritize user testing and outreach
- Follow industry best practices for software products
We have seen this approach work wonders and allow the platform to do what it is intended to do, reduce toil, improve developer experience, improve security and compliance, reduce cost, and reduce delivery cycle times.
At Liatrio, we believe that every platform should be a product that developers want to use, not just have to use. We help in building platforms that are intuitive, solve genuine pain points, and align with the overall goals of the enterprise. Our strategies are tailored to foster a culture of collaboration and innovation, ensuring that the platform evolves continuously to meet the changing needs of its users.
If your organization is facing challenges in platform adoption or looking to enhance the developer experience, Liatrio is here to guide you through a transformation journey that aligns with your unique business objectives and paves the way for long-term success in your software delivery endeavors. Let us help you turn your platform into a product that your teams will not just use, but also champion.
About The Author
Geoff started writing software professionally in 2001 and has seen a little bit of everything during that time. His passion is for enabling software teams to move as quickly, safely, and sustainably as possible. Ideas like agile software development, CI/CD, DevOps, and platform engineering have been his primary focus throughout his career. Anything that gets software teams working smarter, more efficiently and effectively, and more sustainably excites him.