Skip to content
Companies module

Software maintenance: somebody who answers when something fails

For applications already in production, built by us or inherited from somebody else. Dependency updates, security fixes, monitoring and a person on the other end of the phone.

The situation

The application works. Nobody touches it any more.

The pattern is familiar. A system was built a few years ago, it works, people use it daily. The firm that made it no longer works with you, the developer who knew it has left, and the documentation, if it ever existed, is out of date.

Meanwhile the dependencies accumulate published vulnerabilities, the certificates approach expiry, the systems it connects to change their interfaces, and the language version it runs on approaches the end of support.

None of this is visible until the day something gives way. And on that day, the question "who do we call" has no answer, which turns a problem of a few hours into one of a few days.

Taking over

What we do before committing to anything

We do not take a system we do not understand into a subscription. The assessment is quoted separately and you get the result whether or not we continue together.

What the assessment of an inherited system covers
AreaWhat we checkWhy it matters
DependenciesVersions, published vulnerabilities, abandoned librariesThe most frequent source of risk, and the cheapest to treat if done in time
Platform versionHow much support the language or framework still hasA system on an out of support version receives no security fixes at all
InfrastructureWhere it runs, how it is deployed, who has accessIf deployment exists only in somebody's head, the system is effectively unrecoverable
BackupDoes it exist, is it automatic, has it ever been restored?On takeovers we frequently find backups that have run for years and were never tested
Secrets and keysWhere passwords and keys live, who knows them, when they expireExpired certificates are among the most banal and most irritating outages
Automated testsDo they exist, do they run, do they cover what matters?Without them, any change becomes a risk and the team starts avoiding the system
Logs and monitoringIs anything recorded, does anybody look at it?Without monitoring, you find out from users. With it, you find out first
Personal dataWhat is collected, how long it is kept, who has accessAn old system often accumulates data it should no longer hold
When we recommend a rewrite

Sometimes the assessment shows that maintenance costs more than rebuilding: a platform out of support with no upgrade path, abandoned dependencies with no replacement, code with no structure that any change destabilises. We tell you that directly, with the figures for both options. A maintenance subscription for a system that should be rewritten is an elegant way of deferring the problem at your expense.

What the subscription covers

The work that happens month after month

Dependencies kept current

Small and frequent updates, not large and rare jumps. A library left untouched for two years can no longer be updated incrementally: you reach a huge jump meaning weeks of work and a risk of regression across the whole system.

We continuously monitor published vulnerabilities for every component. Critical ones are applied immediately, the rest enter the monthly cycle, tested beforehand.

Monitoring and response

Availability, errors, response time, disk space, stuck queues, scheduled tasks that have stopped running. With thresholds agreed together, so alerts mean something and are not ignored after two weeks.

Response deadlines are written into the contract, differentiated by severity. A system that is down does not have the same deadline as a display error, and pretending otherwise would be dishonest.

Backup verified by restoration

Automatic copies, held on infrastructure separate from the system, and actually restored in an isolated environment at regular intervals.

An untested backup is an assumption. On takeovers we frequently find copies that have run for years and were never restored, and some of which could not have been.

Living documentation

How it is deployed, how a release is made, how to roll back, what to do for each type of incident. Updated alongside the system rather than written once and left to age.

It is also your insurance against us: if tomorrow you work with somebody else, the handover takes days rather than months.

Boundaries

What is included and what is quoted separately

Included in the subscription: dependency and platform updates, security fixes, monitoring and alerting, incident response, backup and its testing, small behavioural corrections, adaptations required by changes in the external systems it connects to, monthly reporting.

Quoted separately: new features, major process changes, infrastructure migrations, component rewrites. All estimated beforehand, in writing, at a firm price. You do not get a surprise invoice for work you have not approved.

For WordPress sites we have a separate service, with a different kind of work and a different price. See WordPress maintenance.

What you get every month

  • Vulnerability status for every dependency, with everything urgent already applied
  • The updates made and those deliberately deferred, with the reason for each deferral
  • The month's availability, with every interruption, its duration and its real cause
  • Errors from the logs, grouped and explained, not exported raw
  • Backup confirmation, including the result of the tested restoration
  • The interventions made, with response time against the contracted one
  • Approaching risks: versions leaving support, certificates expiring
  • Recommendations for next month, ordered by real risk

Frequently asked questions

Do you take on applications built by somebody else?

Yes, it is in fact the most frequent case. We start with a separately quoted assessment in which we read the code, the infrastructure and the dependencies, then give you an honest report on what state it is in and what it would cost to bring it up to date. If the assessment shows a rewrite is cheaper than maintenance, we tell you that.

What if there is no documentation?

That is the usual situation with inherited applications. We build it as we go, starting with what is critical: how it is deployed, how a release is made, what happens during an incident. We do not document everything at once, because that would be money spent on parts of the system nobody touches.

How quickly do you respond to a problem?

It depends on severity, and the thresholds are agreed together and written into the contract. A system that is down does not have the same deadline as a display error. What we do not do is promise identical deadlines for everything, because that would mean either inflating the urgent ones or being unable to meet them.

Why do dependency updates matter if everything works?

Because vulnerabilities are published daily for libraries everybody uses, and automated scanners look for exactly the affected versions. On top of that, a dependency left untouched for two years can no longer be updated incrementally: you reach a huge jump, meaning weeks of work and considerable risk. Little and often is far cheaper than a lot and rarely.

How does this differ from WordPress maintenance?

It is a different service. Here we are talking about custom applications, with code written specifically for you, their own dependencies and dedicated infrastructure. For WordPress sites we have a separate subscription, with a different kind of work and a different price.

Do you have a system nobody looks after?

We run an assessment and tell you honestly what state it is in, what risks you carry now and what it would cost to bring it up to date. Including if the answer is that it is not worth maintaining.

EN

Request a free audit

Tell us your website address. We review it across all six disciplines and send you the findings, whether or not we end up working together.

Your details come straight to us. We do not use them for anything else and we do not pass them on.