So you’ve had your eureka moment, conceived a digital product, and commissioned your technology partner. They’ve taken your idea and delivered a working digital product. You’re done, right?
Unfortunately, it’s a common misconception that all of the hard work and effort needed to build your product will last indefinitely. In reality all of the effort and cost simply buys you a position on the starting grid. Any fan of motorsport will know that all the development that happens during the off-season to build a new car is built-upon with iterative improvements to how the car handles and performs, fixing problems that didn’t appear during testing and running preventative maintenance on parts and components to ensure they’re ready for the next race. All of that and we haven’t even touched on the fact that the teams will iterate on components of the car searching for the next 0.1 second advantage they can bring to the track.
The analogy of an F1 team is a great comparator towards helping explain the importance of an effective maintenance plan.
What is maintenance?
Maintenance by definition is: “The process of preserving a condition or situation or the state of being preserved.”
This, in the context of a digital product or service is the act of ensuring that the solution remains effective through the product life-cycle until it is ultimately superseded by a new solution. Just like in motorsport, there are a lot of dependant parts that all need to work together to allow the machine to work and with a typical software product containing hundreds of thousands of lines of code before libraries and frameworks maintenance really should be a key consideration at the outset of the project.
There are three elements you need to consider in an effective software maintenance plan:
- Preventative maintenance – This will cover things like security patches where the act of updating an element will prevent the likelihood of an issue developing.
- Corrective maintenance – Corrective maintenance reactive and used when a problem manifests itself. For example, if an issue prevents the software working as it should.
- New development – In the world of software, standing still is effectively moving backwards. The software industry changes at an astonishing rate, more than that – people’s expectations of how a digital product should look, feel and behave all mean that there is a constant need to evolve and add new features and functionality.
One of the main drivers in a maintenance plan is to prevent a system failing into a state of disrepair and becoming a security liability. In January 2019 alone there were 1.76 billion records leaked containing authentication information for 776 million users and it is predicted that ransomware will cost businesses and organisations $11.5 billion in 2019.
In the UK during 2018, the average cost of rectifying a breach for medium businesses was £8,180 and while 48% of attacks are of malicious origin, 52% are either down to human error or a system glitch. Both of these elements can be mitigated against through an effective maintenance policy.
What are the options?
Maintenance agreements usually take the form of a retainer and will address the three primary elements as outlined above, preventative, corrective and new development. In order to get the most out of the solution there should be regular reviews on the security patches that should be applied to your solution. Corrective maintenance relies on an issue being reported first of all in this element of a maintenance agreement is the primary driver for a service level agreement. This is when you will typically find bug reporting and escalation rules determining how quickly you will be able to have someone investigate a problem alongside a target resolution time. Where needed 24/7 support is also available under a service level agreement although typically this can be expensive.
Fundamentally, some digital products will need business critical 24/7 support, others may find that normal business hours suffice within an SLA for resolution times. Ultimately though at Scaffold Digital we work with our clients to identify the most appropriate support and maintenance mechanism to ensure the digital product is cared for during its working life.
If you would like to chat to us about supporting an existing system or if you’re thinking of commissioning a new system and want to ensure the right plan is put in place post launch, send us an e-mail to firstname.lastname@example.org and we will get back to you as soon as possible.