Holiday Code Freeze 101

The holiday season is one of the most profitable periods for overall commerce – retailers selling online and offline. Black Friday, Cyber Monday, holiday countdown promotions and shipping deals all play a part in why this is the busiest time of the year for merchants. Since more and more people shop online for all occasions – particularly for the holiday season – it’s paramount that your eCommerce site works flawlessly. If a user is unable to complete a checkout or if your website is too slow, you may lose the potential customer that you had. More importantly, that customer is less likely to recommend your site to someone else. According to statistics by trusted analytics platform Kissmetrics:

40% of people will abandon a website that takes more than 3 seconds to load

holiday code freeze stats

44% of online shoppers will tell their friends about a bad experience online

What is a code freeze?

code freeze

Every year Demac Media institutes a Holiday Code Freeze during the weeks leading up to the busy shopping season, starting in November. A Code Freeze in software is a term given to signify a time period where no major changes promoted to a production environment.

During our Code Freeze we try to avoid making any and all changes to stores. This is done in an effort to mitigate the risk of changes we make breaking the website. Since Magento does not have a testing framework in place, it is very easy to miss mistakes that will break something. It is even easier to miss a mistake that causes slow load times.

Related: [Mini Tutorial] Increase Conversion with these Magento Checkout Layout Changes

What to Avoid

Below is a list of several types of changes that should be avoided at all cost as there is a significant amount of potential for things to go wrong. Taking into consideration the fact that Magento does not have a testing framework, it may be impossible to test every possible scenario to ensure any changes made do not break any part of the code.

1. Shipping Changes

Changes to code or settings relating to shipping should be avoided. Since this directly affects the checkout process, if any mistakes are made and not caught before going to production it can bring sales to a halt. Any shipping changes should be planned and made ahead of the holiday season to ensure a thorough amount of time for testing.

2. Installing Extensions

It is generally a good idea to avoid installing new extensions, especially ones that are untested. Most publicly available extensions out there have terrible code. That should be reason enough to not install anything new during the highest selling time of the year. Having said that, even if an extension is well written, it can affect and break other working parts of the website.

If your company does have a list of extensions that have been tested and used in the past, proceed installing them with caution. There may be rewrites or observers that conflict with the extension which can introduce problems that have not come up before.

3. New Currency Configuration or New Country Support

Adding support for new currencies or countries is a complicated process that requires several steps. Some of those steps require code changes to be made to the checkout. Although the holiday season may seem like the best time to add support for a new currency or country, the risks outweigh the benefits. Like shipping changes, new currency configuration or country support should be completed well ahead of the biggest shopping season of the year.

Related: How to Create a Magento Data Feed and Where to Use it

Tread Carefully

The following changes should also be avoided if possible, but there is less risk associated with the following than with what I listed previously.

1. CSS Changes

If something is broken or you wish to add something holiday related (such as a banner) then it can be done, but it has to be done with great care. If you break your style sheets or markup, your website could be rendered unusable for users.

2. Speed Optimizations

The holidays can bring a lot of traffic to your store. There are times when issues only become apparent under heavy load. If there is a portion of your site that is going unbearably slow due to un-optimized code then it may cause users to leave out of frustration. Any speed optimizations made should be thoroughly tested and vetted by a senior developer to mitigate the risk of errors as much as possible.

3. Specific Bug Fixes

It should go without saying that at all times users should be able to complete transactions. If any problems arise that prevent the user from being able to do so, they should be fixed as soon as possible. Ensure your site is tested prior to your code freeze and nothing new is introduced to the website and this should not be a problem.

Minimize Risk!

demac media code freeze

This guide is intended to show some of the guiding principles behind Demac’s Code Freeze. Although I list what should be avoided, in reality, nothing is ever out of the question. The do’s and don’ts in this article could be applied for most sites, but the bottom line is that all changes made to your site during the biggest selling period of the year should be exercised with judgement and done with great care. There is a lot riding on this increased sales period, especially if you’re a smaller merchants selling online you don’t want to start any new development projects or make site changes. The holidays are a time to increase site traffic, not make site changes that could potentially be confusing to customers or worse, render your store useless.

Related: Code Quality in the Magento Ecosystem