6 code freeze best practices for the holiday season.
Last year, e-commerce sales broke records on Black Friday, and 2021 is expected to be another unprecedented year of growth in online holiday sales. This means retailers are re-thinking their code freeze best practices.
In the retail industry, code freezes have typically been implemented just before high traffic periods such as holiday shopping season.
Historically, most retailers start their code freeze about a month before Thanksgiving. The goal is to have the website stable and functioning before Black Friday and Cyber Monday, and then remain on lockdown for the remainder of the holiday shopping season.
However, in an era of agile development, traditional code freezes just aren’t necessary any more. That’s great news for retailers who may not want to halt development for a full business quarter.
The reality is that most teams will still want to have some version of a code freeze, so we wanted to share some best practices. In order to make code freezes work better, we need to understand why they exist in the first place.
Why do code freezes exist?
Even though code freezes are becoming increasingly obsolete, they remain popular with e-retailers year after year for one main reason:
Code freezes reduce the chances of releasing a buggy or broken feature during a high-traffic season.
If there are bugs in the live environment, teams have to decide between rolling back the feature or leaving it live.
Buggy features can impact conversions and loyalty, a risky proposition during the few months of the year when some retailers make up to 60% of their annual revenue.
Retailers choose code freezes to mitigate risks. It’s that simple.
However, it’s important to note that freezes come with a high cost, as well.
What are the disadvantages of code freezes?
Despite their ubiquity, code freezes present some challenges for innovative e-commerce leaders dedicated to continuous, iterative improvement.
- Code freezes undermine the Agile philosophy. Agile is all about the flow of continuous integration and continuous development (CI/CD), and code freezes interrupt that process
- Code freezes impose artificial deadlines. Code freezes don’t speed up development. Instead they force teams to build their release schedule around a looming and arbitrary deadline, regardless of what kind of time the new features require. In general, expedited deadlines make code riskier, since developers begin to cut corners in order to deliver on time.
- Code freezes mean too much downtime. For many e-retailers, the holiday shopping season now begins in October, meaning a code freeze could be in place for three months or more. It’s challenging to manage developers with so much downtime, even if you have other things for them to work on.
- Code freezes can add complexity to the roadmap. Post-holiday season product releases are riskier when you have built up a large backlog of features. After all, your developers have to be working on something while your site is locked down. When teams are releasing, for example, 50 commits that have built up during the code freeze instead of 10, there’s a higher likelihood that different commits will interact poorly. It will also be harder to identify the specific part of the code that’s causing the problem.
- Code freezes disrupt developer workflows. While teams can use data to determine which features matter most, they also need real users and real-time analytics to determine what customers actually need. Moreover, teams working on new features in a production environment can’t test all commits. Some can be evaluated only after being released.
Code freezes have advantages and disadvantages, but most retailers will still use them in some form. Here’s how to make the most of them.
6 code freeze best practices
- Don’t limit yourself by insisting on a full code freeze. Although teams may avoid changing backend elements, it’s relatively safe to make HTML or CSS changes, which have little impact on payment workflows, APIs, and third-party plugins.
- Evaluate existing systems and determine which changes should be prioritized.
- Assess and improve mission-critical components, including shipping features, payment options, security testing, and fraud detection.
- Address defective features, poor functionality, and technical errors.
- Optimize the back-end.
- Keep a close eye on Promoters and Detractors. A conversion promoter or detractor is worth more during high-volume times when its impact is amplified to a bigger potential pool of buyers.
- Keep developers working. Developers can continue to write code during a code freeze, but the new code isn’t integrated into or tested within the main branch.
- Take advantage of the downtime to uncover customer friction and optimize key experiences. Don’t mistake a code freeze as a license to stop all customer discovery during the fourth quarter. Leverage tools like these during the holiday season to ensure you’re ready to hit the ground running on January 1:
- Session replay: Seeing real sessions drives empathy and understanding for customers, but if you can get the metadata behind it, you’ll make better decisions.
- Experience Alerts: Proactively monitor your customer experience by alerting on aggregate behavior, frustration, and technical issues.
- Page and Mobile App Analytics: Associate page-level engagement with desired business outcomes and actual user sessions on both web and mobile apps.
- Performance Monitoring: Tackle the client-side performance issues that matter to your customers and your bottom line. Identify issues, quantify the business impact, and view the true user experience.
- Data Capture and Visualization: Automatically capture every swipe, click, scroll, API response, page view, and more.
- Consider Continuous Product Design (CPD). CPD is a data-driven, iterative methodology that identifies technical errors negatively impacting revenue or the customer experience, as well as crucial UX design flaws that tend to go unnoticed by traditional monitoring platforms.
Retailers must constantly be iterating and adapting, even during the busiest shopping periods.
By putting the customer experience first, and by continuing to monitor and track how customers interact with e-commerce sites and mobile apps, retailers can stay ahead of the curve by anticipating problems long before they occur.