In the competitive landscape of software development, maintaining a rapid pace of product updates without compromising quality is a monumental challenge. Sergey Barysiuk, the CTO and co-founder of PandaDoc, delves into this challenge, sharing the company’s approach to continuous delivery that has enabled an impressive cadence of over 800 product updates. This article encapsulates Sergey’s insights, highlighting the importance of continuous delivery in the product lifecycle, particularly during the crucial stages of introduction and growth.
- $117m ARR
- 30,000 customers
- Team of 849 with 264 engineers and 114 sales reps with team quota
Finding Product-Market Fit Through Continuous Learning
For startups and established companies alike, the journey from concept to market leader is fraught with challenges. The initial stages of introduction and growth are critical, demanding a swift response to market feedback and rapid iteration. PandaDoc’s strategy revolves around a continuous learning cycle: hypothesize, launch, test, measure, and iterate. This cycle’s efficiency is contingent upon the speed of its slowest component, often found in the transition from implementation to review. Sergey points out that the bottleneck typically arises during integration and deployment, where numerous updates must be cohesively merged and tested before being released to customers.
The Role of Continuous Integration and Continuous Delivery (CI/CD)
To overcome these bottlenecks, PandaDoc employs Continuous Integration and Continuous Delivery (CI/CD) practices, streamlining the process from code update to deployment. This approach, powered by tools like GitLab, ensures that each update undergoes automated testing and integration, minimizing the risk of errors and facilitating a smoother, faster release cycle. Sergey emphasizes the importance of adopting CI/CD practices early in the development process, noting the complexities that arise when trying to implement these practices across multiple services at a later stage.
Beyond Engineering: The Product Perspective
While the engineering benefits of CI/CD are well-documented, Sergey argues that the product side of the story is equally crucial. The types of updates—ranging from bug fixes and performance improvements to UX enhancements and new features—require different approaches. For instance, while bug fixes should be deployed immediately, more complex features may require thorough testing and iteration based on user feedback. This necessitates a shift in mindset from focusing solely on the final product to embracing a process of continuous learning and iteration.
Feature Flags: Managing Releases at Scale
One of the key strategies in managing releases and gathering user feedback without overwhelming the entire customer base is the use of feature flags. These allow the team to roll out updates to a select group of users, enabling a more controlled and iterative approach to product development. By testing features with a smaller audience, the team can gather valuable insights and make necessary adjustments before a broader release, ensuring that when a feature is ready for “prime time,” it truly meets the users’ needs.
Strategizing Product Releases with Feature Flags and Customer Feedback
PandaDoc’s journey towards innovation is not just about deploying updates; it’s about engaging customers in the development process, ensuring that each update is precisely tuned to meet user needs. Sergey Barysiuk continues to unveil the intricate dance between deploying new features and gathering vital customer feedback, a process that balances innovation with practicality.
At the heart of PandaDoc’s strategy are feature flags, a powerful tool that offers the flexibility to test new updates with select user groups before a wider release. These toggles enable the team to manage the visibility of new features, changes, or UX updates to specific customers, thereby facilitating a gradual rollout. By encapsulating features within these flags, product managers can independently manage rollouts, make adjustments based on real-time feedback, and, if necessary, dial back changes with minimal disruption.
With around 300 feature flags at various stages of deployment, PandaDoc carefully navigates the complexities of introducing new functionalities. This granular control over feature visibility is critical for minimizing risk and ensuring that each update contributes positively to the user experience.
Engaging Customers in the Innovation Process
PandaDoc employs a multi-tiered approach to rolling out new features, starting with internal testing before moving to trusted customers, including a Customer Advisory Board and early adopters. This cautious, phased approach allows for the collection of detailed feedback, ensuring that new updates are not only technically sound but also add meaningful value to the user experience.
Recruiting early adopters is surprisingly straightforward, as many users are eager to try new features. PandaDoc taps into its community boards, customer support interactions, and a dedicated customer advisory board to identify and engage these users. This proactive engagement is crucial for gathering early feedback and refining features before a broader release.
Measuring Impact and Iterating Based on Data
The final piece of the puzzle lies in measuring the impact of these updates. PandaDoc relies on analytical tools like Amplitude and Tableau, along with qualitative feedback from users, to gauge the success of new features. This data-driven approach allows the team to iterate on updates effectively, ensuring that each change moves the product closer to the ideal user experience.
However, managing updates at scale introduces its own set of challenges. With 40 teams working on different aspects of the application and 300 feature flags in play, coordinating updates to ensure a cohesive user experience becomes a Herculean task. This complexity necessitates a level of oversight to prevent customer confusion and ensure that updates align with user expectations.
Closing the Loop with Product Marketing
To address this challenge, PandaDoc employs product marketing to weave disparate features into a coherent narrative. This involves packaging updates into tangible, connected stories that resonate with users, supported by blog posts, visuals, and coordinated efforts across sales, customer success, and support teams. This comprehensive approach not only enhances the visibility of new features but also ensures that all teams are equipped to communicate changes effectively to users.
In summary, Sergey Barysiuk‘s insights into PandaDoc’s approach to continuous delivery underscore a holistic strategy that blends engineering innovation with meticulous product management and marketing. By integrating continuous integration, feature flags, customer feedback, and data analytics, PandaDoc not only accelerates its innovation cycle but also ensures that each update is thoughtfully designed to meet and exceed user expectations. This balanced approach to product development and release strategy exemplifies how technology companies can thrive in the fast-paced digital landscape, continuously delivering value to their customers while fostering a culture of innovation and responsiveness.