You are here

3 keys to a highly effective product release

public://pictures/ravi_penikala.jpeg
Ravi Penikala, Senior Director, Engineering, OpsRamp

With the adoption of DevOps and continuous delivery, modern-day product release cycles can be unforgiving. What's worse, an error-prone release has the potential to put the customer experience, reputation of your company, security, and data privacy at risk. How do engineering teams ensure effective, agile product releases when they're under the gun?

A successful product release involves several interdependencies, multiple teams, and complex technological challenges. Release managers must grapple with various issues while meeting rigid timelines. These pressures tend to absorb the focus of development teams and force them to push sub-standard software to customers.

Having led many software development teams that built complex platforms and applications, I've witnessed the same mistakes over and over again. Release velocity should not come at the expense of quality.

Here are tips to avoid making those mistakes.

[ Get up to speed on quality-driven development with TechBeacon's new guide. Plus: Download the World Quality Report 2019-20 for lessons from leading organizations. ]

Where companies go wrong

It's common for engineering teams to sacrifice quality in the name of speed. When they do this, they make these critical errors in the release planning and deployment process.

Not validating assumptions

Validating assumptions with your customers quickly and with minimal resources is one of the toughest challenges in product releases. Teams are often caught in their own bubble and don't back up assumptions with hard data and measurable metrics.

Not surprisingly, they end up delivering a product that's completely dissonant with what customers need. Remember: Build the product your customers want, not what you would like it to be.

Not defining clear acceptance criteria with customers

Defining clear acceptance criteria is critical for a project. Often, teams ignore this process and consider it mere documentation.

The rush to be the first to solve a problem and beat the market with the solution pushes teams to make assumptions without seeking customer validation. Failure to define and agree on clear acceptance criteria can result in an incomplete implementation, which may cause surprises at later stages, where errors are difficult to correct.

Failing to reproduce production issues

Mike Tyson once said: "Everyone has a plan until they get punched in the face." He could have made another fortune in quality assurance.

Sure, it can be a challenge to recreate production issues outside the four walls of the testing environment, but it's critical that you do so. When you introduce a new feature, the customer might misunderstand the intended functionality and use it in a completely different way.

And as much as you might like to believe that infrastructure can be effortless, serverless, ephemeral, and on-demand, I guarantee that you can still be surprised when code finally goes live. Don't be one of those teams that’s on the wrong end of one of those surprises.

Given the challenge to release continuously, it's not uncommon to hear stories of organizations that continue to fall short of their software release goals and commitments.

Key recommendations for a proper release

Though orchestrating a hassle-free release might sound like an impossible task, it is certainly achievable with proper planning and by clearly defining success criteria. Here are a few suggestions to remember as you push products to development.

1. Define success with clarity

For any successful product release, define your success criteria with measurable metrics. Build a gold standard for what a successful product release must look like, and don’t be vague about your goals. Talk to your customers/project owners and seek alignment. Defining clear success criteria will keep teams together and help them evaluate progress.

2. Identify key technology foundations and proofs of concept

Good acceptance criteria should be executable. Before making assumptions and defining what's possible, identify the key technological foundations and roadblocks with respective teams.

Have your team validate the fundamental bottlenecks through a proof-of-concept before nailing the final vision for the product. This minimizes risk and ensures a higher probability of success for the release.

3. Don't rely on polish 

A bad release is trouble regardless of how your product managers and marketers gloss over it. Marketing and product management aren't responsible for creating a great product. They create a vision and help bring it to the market, but the onus is on the core team to work out the bugs, identify the key functionality, and deliver on the plan.

[ Learn how to apply DevOps principles to succeed with your SAP modernization in TechBeacon's new guide. Plus: Get the SAP HANA migration white paper. ]

Speed isn't the goal; quality is

With impossible timelines and rapid release cycles, it is not surprising that product releases are error-prone. As a team, you need to make peace with the constant cycle of releases. Minimize the risks by establishing proper release management practices and making sure that you clearly validate assumptions with your customers.

Remember that a product release is never done in a vacuum; it requires the combined efforts of multiple teams. By having clear communication channels and setting the right expectations for your teams, you'll make product releases seamless—and you'll have a reason to celebrate.

[ Get up to speed with TechBeacon's Guide to Software Test Automation. Plus: Get the Buyer’s Guide for Selecting Software Test Automation Tools ]