While your user community will understand that there are different processes involved in order to deliver high standards and ensure that a site is running as it should, that does not mean they should be a witness to it. Running updates when it impacts customers, or debugging in real-time when users can see work going on, can create a poor customer experience. Here are some rules all startups should apply when it comes to updates and site maintenance.
Chose your time carefully
The ideal time to do updates is in the early hours of the morning when the fewest number of people are using the site. Do not just jump to your early morning, however. It is important to have an understanding of which time zone most of your user groups are in and to use that as your guide. It is also key to understand that while 4am may be early morning for you, there will be users who start work at that hour, perhaps because they must deal with a time zone they are not in, who will be unhappy to find out that your site is down.
While it may not be possible to satisfy all users, do what you can to ensure as few people as possible are affected.
Never do updates on the weekend
Even if your product is strictly a related to a business environment, never assume that a Friday night after the close of business is a good time to update or debug. You don’t want to find that your changes have affected the work others may have been trying to do. It is still possible to use the wee-hours-of-the-morning, middle-of-the-night scenario and to process your changes overnight on a Sunday to hit the ground running Monday morning.
The only exceptions to this are a rollback to a previous version, which could be required for a variety of reasons, or a huge update such as changing an information system that may require more time. In the latter case, it is important to advise users what you will be doing and when they can expect to be affected.
Before you update, test and test again
It is critical before you launch an update that you test it in several environments including a test and staging environment. Test the update with real production data to see how it handles it, and test it with user interface to ensure there are no issues that will not be detected by automated testing.
It is also a good idea to use a global network of testers who will be trying the update before it is live. As the people closest to the product, the founder and the developer will have a certain understanding of the product and have a common mindset. Not all users, however, will have that same perspective. Using testers allows you to see your product through different users’ experiences, and using global testers gives you the opportunity to understand regional or cultural issues that could impact your product.
You should also plan for a stress test every few months and any time you are doing a major update to ensure you are not losing capacity or affecting the customer experience because of your updates.
Never do work during, or plan for an update, in the frozen zone
The frozen zone is any time during the year that your site will experience higher than usual traffic. Retail sites for instance can be extremely busy during the holiday season or around common consumer events such as Black Friday or Boxing Day. Use these frozen zones to plan and develop upgrades that will come after, but never implement anything during this time, unless it is a rollback because of a problem or site issue.
Always have a rollback plan
You already know that it is important to have a disaster recovery plan. It is equally important to have a process and plan in place to roll back to a previous version if your update does not work or does not function as expected. If you do run into an issue, of course, you should try to fix it first. If, however, you cannot fix the problem, within 15 minutes, you must roll back to the previous version to avoid disrupting the user experience. Once you have rolled back, you will have all the time you need to find the source of the problem and fix it, but the customer should not be waiting while you do.
Do not worry that having these guidelines will slow down your development process. Instead, these will actually help you move faster through development by giving you an understanding of when to update and when not to, by putting in place a strategy to be sure you are putting your best foot forward, as well as a plan for stepping back if needed.
How do you ensure your services stay up and running? Share your story below.