Imagine: Your team has designed and developed the initial version of an amazing product with market fit, and you wish to offer it to paying customers as soon as possible. It’s time to prepare for launch!
Product launches exist on a razor’s edge between excitement and terror. They very much depend on first impressions that customers get when using your product:
- If successful, you win the return on investment and the credibility needed to continue to grow your business.
- If you hit difficulties, initial customers will get frustrated (and word-of-mouth travels quickly). You’ll get buried in support tickets, the engineering team will experience crunch time, and there’s a long road ahead to rebuild that initial trust.
Successful, large companies that launch products and major features often use a simple but very valuable process before doing so to avoid unwanted setbacks: the production readiness review.
The PRR is a process where the team discusses how the product is operated and determines if they are indeed ready to offer it to paying customers.
Why Perform a PRR?
When launching a product, you are transitioning a piece of software from development into production for the first time. There is more to this process than shipping the MVP and waiting for sales to come in… much more.
Every product has a set of operational responsibilities. Here are a few examples:
- Monitoring and Metrics: How do you observe your software, infrastructure, and the performance and reliability of the product for your customers?
- Emergency Response: How do you respond when things go wrong? How is oncall set up? How does the team learn from failure?
- Change Management: How do you ship code, issue configuration changes, and rollback if an issue is detected? How are changes communicated in the org and with customers?
It is only natural that in the course of developing products, we forget these responsibilities in favor of investing in the customer-facing features that drive revenue.
However, the truth is: reliability is the most important feature. Without a firm foundation, those customer-facing features will never see the light of day.
Hence, why the production readiness review is so important. Below is a lightweight process for conducting one as a team lead or SRE-type role. It is accessible for teams of any size.
1: Create a Questionnaire
Prepare a set of common, company-specific questions about how the team handles operational responsibilities for the product. Use the above list as a starting point.
Ideally these questions become standardized so that PRRs are performed consistently for every product.
2: Delegate Questions to the Team
Delegate individual questions to the right team members so they may be accurately answered.
The result will be a multi-page document describing how the product is operated by the team at large.
3: Present/Discuss Questionnaire
Have the team present and discuss the document amongst themselves, allowing for questions. It will be useful to include an outside perspective as part of this discussion. Take notes on any outstanding questions or gaps discovered.
4: Prepare/Present Feedback
Using the document and notes collected from the meeting, prepare a set of feedback on known risks and recommendations based on operational best practices. The recommendations should be clear and actionable enough to be included in the team’s backlog, and contain a description of the potential risks/impacts that each recommendation addresses.
Again, it will be useful to include an outside perspective especially if best practices have not been defined yet.
Present the feedback to the team in a meeting.
Note: It should come as no surprise: PRR is a blameless process. It’s important to highlight strengths just as much as gaps. Providing validation for what the team does well is important in managing morale, especially before a product launch.
5: Go/No-Go Based on Known Risks
Make a decision: Are the current risks acceptable for launching right now?
- If so: Launch!
- If not: Address the blocking risks before launching.
Such a decision includes many factors, such as:
- Does the benefit being a “first mover” outweigh the risks?
- What is the customer’s appetite for risk? Will they agree to a loose set of reliability guarantees?
- What is the potential legal exposure of launching now?
PRR is a simple process that ensures that the team is truly ready to support a product with paying customers. Over time, PRRs can evolve with a set of more targeted questions that reveal common standards that all future product launches can follow, creating a culture of production readiness in your engineering organization. As your organization grows, those standards can become requirements for internal platforming that provide them as a service to engineering teams.
Don’t run your first PRR without support! I perform them as part of the the Reliability Fundamentals engagement, which is available for a single flat fee.
(Image credit: Pixabay)