Product release is a key outcome in the Deploy phase of my product development lifecycle.
I’d like to share a personal experience about a not-so-great product release in my early years, and then give you a checklist that has helped me have many successful product releases ever since.
It happened during my time as an engineering manager at a social gaming startup. Days before the launch, I worked with the CEO and VP of Marketing to make sure we would have a successful launch. We prepared the press release and marketing collaterals. My QA tested the game, and developers verified the event tracking. But the one thing I didn’t do was to stress-test the system and put system monitoring in place.
On the day of the launch, the game was well-received by our customers. Revenue started coming in and everyone was high-fiving each other over the good news.
But then, things turned bad. Players started complaining that the game wasn't loading. I noticed the database connections were timing out for a lot of players. It turned out the NoSQL database we migrated to was having scalability issues.
And here is the worst part - there was no one on my team - myself included, who knew how to fix the issue! So I spent the next several days learning everything I could about scaling MongoDB. In the end, we fixed the problem, but the incident caused the company revenue loss, and it wasn’t a pretty scene.
What I learned from the incident is that I need to understand the system limitations before a release. As a product manager, system reliability is not your responsibility, but you should prioritize any DevOps related tasks when you are close to launching. In Dan Olsen's book, The Lean Product Playbook, he mentioned that feature set and UX design increase customer satisfaction. But downtime and slow speed decrease customer satisfaction too. With that in mind, I have always included system reliability in my launch checklist.
As my career progressed, I have compiled a checklist to guide me through major product releases, which includes the following:
Make sure you dedicate time for your engineers to place necessary monitoring and alerts in the systems. In the event of a system failure or network outages, you and your engineering team will get alerts so proper action can be taken. It is important to test these before your release. Think of it like a smoke alarm - you want to test them regularly well in advance so they’re working when you need them.
Stress-testing, also known as load or performance testing, is when engineers deliberately put stress on the systems to understand their limitations. Performing this task on your web servers, databases, and middleware provides benchmark data. If you are anticipating a lot of traffic from your launch, stress-testing gives you peace of mind to know your system can handle it. Remember that it doesn’t matter how much your customers love your product, they won't be happy if they can't use it when they need it.
Release Note or Press Release (if it's a new product)
The purpose of a release note is to tell your customers what you are releasing, when it is available to them, and how it will benefit them. I often include screenshots or a video snippet in my release note so customers can see the visual. A picture or video is (as ever) worth a thousand words.
You’ll want to work with your marketing team to understand the go-to-market strategy, the type of marketing campaigns, and the channels. At a global company, this is where you will plan the country or local market availability. I’ll talk more about the marketing plan in the Distribution Phase.
Instrumentation is installing event tracking into your applications. Once your product is in the market, you will want to know how it’s performing. And the only way to have an accurate read is to have proper instrumentation in place. I have seen many product releases where this critical step is missing or not well planned out. The result is that the team doesn't know if customers are using their product, or if the marketing plan is effective.
This is a document I share with the internal stakeholders that have a list of commonly asked questions and answers. These people want an update on what the changes are, why they are in place, and how will it impact company goals and revenue.
Great product managers often have checklists like this to guide them through a complex process. This is why a release checklist is a vital output for product managers to have a successful launch.