At WunderTalent, we represent a lot of ecommerce professionals. Through them, we’ve learned that developers say ‘Code complete’ whenever they finish a development project. However, this saying doesn’t mean everything is actually completed. Once developers have written code for a site, that code then needs to be placed on the web servers, which is what we call ‘code deployment.’ This code can include bug fixes, new features, upgrades to the underlying platform, or a combination of all three.
Until this new code is deployed, any visitor to that site won’t be able to use or benefit from the upgrade.
The main risk with deployments is downtime. Where some sites can accept new code quickly and use it within seconds, others need a planned maintenance window, including the help of several members of staff for long periods of time. At WunderTalent, we’ve heard stories that some companies deploy only a couple of times each year, which are huge undertakings with a big impact across these businesses.
Other risks include new bugs being introduced. This depends on how robust the quality and quantity of testing was before deployment, but even with the most rigorous protocols, bugs can be discovered in new or existing features. Depending on the severity and their impact, a deployment might need to be reversed, which is called a rollback. Rollbacks remove all of the new code and reverts to the old version; however, being able to do so depends on how well the developers planned the deployment. If they’re well-planned, they can usually be rolled back easily, but if not, some deployments can’t be rolled back at all.
The stress involved in deployments is high. If they fail, the entire business can suffer and even fail. But there are several ways developers can make them simpler, safer, and less stressful. It might sound counter-intuitive, but the answer is to do them more often. The experience gained is paramount to ensuring more successful deployments, with the added benefit of reduced code per deployment. The less code there is to deploy, the less potential for problems. For example, if a company deploys once a month, with 20 changes per deployment, there are fewer changes to troubleshoot. Amazon are known to deploy every 11.6 seconds as an example, so if they think it’s a good idea, it probably is!
The Deployment Process
Each developer has their own way of doing things, however a standard process for code deployments to ecommerce platforms is as follows:
Deploy a single code change once it’s written and tested.
As each deployment is for a single change, it’s easy to detect if something breaks, underperforms or otherwise causes a problem with the rest of the app. Sometimes the deployment is just preparing the system for a later change, which isn’t always visible to the customer. An app user can submit an idea, and by the end of the day that idea might be live, which greatly improves customer service.
To learn about the way your team performs their deployments, start a conversation with them. Ask: ‘How long does it take to perform a deployment?’ and ‘How often do deployments occur?’ If the answer is they take longer than an hour to perform a deployment, or they occur monthly (or less frequently), then there’s a lot of room for improvement. The ‘why?’ is an important precursor to, ‘how can it be improved?’
If you’d like to find out how WunderTalent can help with your recruitment needs, please contact us here. We are experts in our field, representing the biggest and brightest talent within the ecommerce and SaaS sector. Our candidates are pre-vetted and highly rated, which greatly reduces the time it takes to get them up to speed. And once they’re placed in their perfect role, they’ll work with that company for a long time.