When you run a webshop or website, you have to upgrade your system to a new version from time to time—either because this newer version comes with improved functionalities, or there are security holes that need to be closed. If you have a mobile app, you also often need to make small changes whenever Google or Apple rolls out new versions of their operating systems so that your app can continue to work with the new versions. How NOT to perform system updates In the perfect world, all you have to do is press UPDATE, lean back, and wait five minutes for your CMS to update automatically. In the real world, it never works that way because there is no webshop or website that is not customized in one way or another. These customizations can’t simply be updated automatically in 99 out of 100 cases. Aside from this, there may be modules installed within the system that are incompatible with the newer version so they stop working once you make the update. How we do system updates We always wait for the new system version to be stable first before we install updates. There is always a bunch of errors and issues that need to be fixed when a system is being updated from version 1 to 2, which is why version numbers are often long, e.g., ‘188.8.131.52’—meaning that more updates have been made to the version 2.2 of the system. For mobile apps, when there are updates to Google’s or Apple’s operating system, we make and test the updates based on the latest beta version of the operating system. Our update process is the same for existing and new customers and consists mainly of the following steps: We make an exact copy of the live system and install it in a test environment. We review all third-party modules/plugins that are currently installed and evaluate if they are compatible with the new version. If they turn out to be incompatible then you can either wait for the updated version of the module/plugin that you are using, or find a similar module/plugin that is compatible with the new version. We check if the source code of self-developed (i.e., custom-made or not commercially available) modules/plugins is available. It’s sometimes not the case so you've got to have a "plan B". When we have control over the modules, we will perform a “test update”. After the test update, the system will be reviewed by a programmer who will then fix any obvious errors. Many clients choose to update the design and functionality along with system update. If this is the case, we typically do the design part after the test update when we have an overview of how much work is needed for the actual update. Once the update and development has been completed, the system is reviewed from A to Z in our testing department and any errors are corrected. Finally, a stress test is performed to ensure that everything is running smoothly for when actual users access the system. If we find any more errors at this stage, they are fixed right away. The client has access to the updated system and can request for us to make small changes or additions. Once everything is approved, we will then install the update on the live server. Related Pages Getting started Project manager Development process Day-to-day support Special software development Project management Outsourcing Is your project stalled? Getting started We usually start by reviewing your existing system. This consists of taking a look at how the system was ‘put together’, so if we see something that we think was not done properly, we can inform you about it before our collaboration starts. In addition to this review, we also conduct an interview with you to find out more details about your expectations and to better facilitate our partnership. The end goal of every collaboration we make with our clients is providing you the results you want, in the way you want it. Read more about how to start a project with us or fill up the contact form below and we’ll get in touch within 24 hours. If you can’t wait, feel free to call +63-2-550-1902 to have a non-binding conversation with Peter right away.