What software care is
Many organisations run on software that was built for them some years ago. It works, people depend on it, and the person or company that built it has moved on. Nobody is applying security updates, nobody is watching for faults, and nobody can say with confidence what would happen if it stopped.
Software care puts that right. We take over the system, close the gaps that have built up, and then look after it every month. You get a named senior engineer who knows your system, a plain-English report on its health, and the confidence that someone is responsible for it.
What our support and maintenance includes every month
- Monitoring and alerting. We watch the system so that we hear about problems as they start.
- Fixing faults. We investigate and fix faults, ideally before anyone in your organisation notices them.
- Security patches and dependency updates. We keep the libraries and components your system relies on up to date.
- Keeping frameworks and platforms in support. We plan upgrades before versions go out of support, so you aren't left running software that no longer receives security fixes.
- A monthly health report. A short, plain-English summary of what happened, what we changed and anything you should know about.
- An agreed response time. How quickly we respond to a critical fault is set out in your contract.
- Time for small changes. Each month includes an allowance of hours for small improvements and changes.
Getting started
Software care begins with a software health audit of one system. The audit tells you where the system stands and gives you a fixed quote for onboarding and monthly care.
If you go ahead, onboarding gets the system into a state where it can be looked after properly:
- Code into source control. Your code goes into a repository that you own and control.
- Automated tests. We add tests that describe how the system behaves today, so that any change that breaks something is caught before it reaches you.
- A repeatable build and release. Releasing a change becomes a routine, documented process that anyone on the team can follow.
- Monitoring. We install monitoring and alerting so we know when something goes wrong.
- Documentation. We write down how the system works, how it's hosted and how to release it.
Preparation is the point
Most of the value in software care is created before anything goes wrong. A system with tests, monitoring and a reliable release process is far easier to keep safe, and far quicker to fix when something does fail.
Many systems we take on have no automated tests and little documentation. We work backwards from the running system to write behaviour specifications and automated tests for what it does today. That gives us, and you, a safety net for every change that follows.
We collect diagnostic logs only, with controls designed to keep personal data out of them.
Who is accountable
- A named senior engineer is accountable for your system, and is the person you talk to.
- A named backup engineer also knows your system, so holidays and illness don't leave you without cover.
- Your code and documents stay in your own repository. You're never locked in to us.
Technology we look after
We look after systems built with .NET (C#), including older .NET Framework applications, TypeScript and JavaScript, React and Next.js, hosted on Microsoft Azure and similar cloud platforms.
If the audit shows that a system is outside what we can safely support, we'll say so plainly and explain your options.
Legacy .NET and .NET Framework applications
Many of the systems we take on are .NET Framework applications built ten or more years ago. Some run on versions of .NET, Windows Server or SQL Server that no longer receive security fixes, or soon won't. We add tests first, then upgrade in steps, and where it makes sense we move the application to Azure at the same time.
What software care is not
Software care is not ad hoc support by the hour. It's an ongoing contract, because looking after software properly needs continuity: the same engineers, the same knowledge of your system, and the preparation that stops small problems becoming large ones.
Next steps
- Find out what the software health audit covers.
- Read about how we work.
- Talk to an engineer about your system.