10x Developer Success
Building a Platform with a Focus on Developer Success
Building a platform that focuses on developer success is a multi-faceted endeavor that begins with a clear vision, robust strategy and a team dynamic that fosters innovation and collaboration. Reflecting on my past experience of building Hyperflex data protection software at Cisco (following its acquisition of Springpath), I want to share key learnings in hopes of providing insights for others embarking on such journeys.
When we were a startup, our focus was on crafting point solutions. We were tech enthusiasts, passionate about our venture. Navigating the transition from a startup to Cisco, the goal had to shift – from crafting point solutions to scaling our product to accommodate a much larger customer base. We faced a myriad of challenges, such as poor documentation, high support churn, significant onboarding overhead and duplicated efforts due to silos. These challenges framed our primary goals: constructing world-class documentation, implementing self-serve support and onboarding, and breaking down silos to avoid repeat efforts.
The company's business strategy was to transform itself into an open, trusted, and easy-to-build platform. They strived to solve the most pressing customer problems and deliver exceptional experiences for both their team and their partners. To achieve this, they focused on the following key areas:
Openness: They made their platform open and accessible to anyone who wanted to use it. This allowed them to build a large and diverse community of users and partners.
Trust: They built a reputation for being a trustworthy and reliable partner. This made it easier for them to attract new customers and partners.
Ease of use: They made their platform easy to use, even for people with no technical experience. This made it more accessible to a wider range of potential users.
Customer first: They focused on solving the most pressing customer problems. This helped them to build a loyal customer base and generate positive word-of-mouth marketing.
Exceptional experiences: They delivered exceptional experiences for both their team and their partners. This helped to create a positive and productive work environment and build strong relationships with their partners.
By focusing on these key areas, the company was able to achieve its business strategy and become a successful and respected player in its industry.
Our technical approach centered around the following:
Establishing standards and processes for documentation.
Leading efforts to bridge key knowledge gaps, facilitated by different development teams, taking cues from support analytics.
Building software development strategies, such as recognizing documentation as a key deliverable and integrating tech writers into the scrum process to ensure cohesive knowledge transfer.
Initiating an end-to-end quality initiative, targeting a reduction in our bug backlog, which involved seeking help from end users to prioritize bug fixes and required conducting regular portfolio reviews with our project managers.
Implementing knowledge management software for documentation searches and community forums, utilizing in-app notifications, and utilizing onboarding automation software like Userlane.
Providing tutorials, sample code, SDKs, and sandbox experiences as part of the acceleration phase of product adoption.
These strategies and opportunities helped us to improve our technical approach and achieve our desired results.
Platform teams function best when run like product teams - delivering capabilities based on customer feedback and business needs. In essence, the 'customers' are the application development teams, and just like product teams, platform teams establish valuable feedback loops with their users before commencing platform building. These teams need to handle user research, requirements, scoping, prioritization, versioning infrastructure components, maintenance, awareness-building, adoption encouragement, and news communication. Features often include capabilities for various application architectures, such as containerization or serverless. The building process should be iterative and ongoing, utilizing effective product management strategies to ensure the creation of something valuable, regardless of whether it's internal or external.
We kept a keen eye on our software development practices, planning across yearly, quarterly, and sprint deliverables based on scope, capacity, and time-to-market requirements. Collaborating closely with program managers to track agile metrics was vital. Throughout this process, customer and partner engagement was prioritized. Feedback was sought early in the requirement gathering stage with intermediate demos which allowed us to iterate for future releases.
Embarking on a regular cadence of weekly office hours became crucial to unblock complex, time-sensitive workflows. We established a collaborative partnership with product management, aimed to find the right balance and prioritization between new features and backlog reduction. Transparency in communication was key, especially when addressing surprises, setbacks, and scope adjustments.
Making our work visible to stakeholders and leadership through reports and dashboards proved highly beneficial. Regular communication facilitated evangelization of our platform, recruitment of champions, early adopters and supporters, while uncovering and addressing adoption challenges throughout the process.
In retrospect, building a platform with a focus on developer success was a multi-layered process that required comprehensive strategy, a supportive operating environment, a talented team, and a methodology driven by data. The journey with Hyperflex data protection software was challenging, but we maintained a proactive approach, keeping our eyes open for learnings and opportunities for growth.
Achieving developer success is a cycle of learning, implementing, iterating, and improving. Even if it means revisiting strategies that don't work out as expected, or realigning the team towards new goals. While our journey with Hyperflex was unique to our specific situation and context, the principles we applied and the lessons we learned are universally applicable. So whether you’re building a platform for ten users or ten thousand, remember to value documentation, streamline onboarding, invest in user-friendly software, engage deeply with your end-users, and prioritize team alignment – these will ultimately guide your path to developer success.
At every stage, we were cognizant of the fact that our product would eventually be in the hands of developers aiming to solve complex problems. It’s this mantle of responsibility that pushed us to stay operationally excellent, continuously learn, and stay dedicated to our craft. We sought to create a platform that was a joy to work on and a utility to work with.
In a world that’s digitally transforming with every passing moment, the need for developer-focused platforms is ever-increasing. Whether it’s enabling businesses to deploy applications faster or making it smoother for software developers to release their apps into the world, the essence of developer success is making their life easier. Overall, it was a memorable journey full of growth, pivots, challenges, and victories. The success of a platform truly happens when the success of developers is realized – that’s the biggest learning we embraced in our journey.