Software does not wear out, but everything around it moves. Phones get a new operating system each year, browsers change, libraries release security fixes, and the services your product depends on alter their rules. Software left alone slowly stops working.
The four kinds of work
- Operations: hosting, monitoring, backups and renewals.
- Fixes: bugs found in real use.
- Updates: security patches and new versions of the libraries and platforms it depends on.
- Changes: improvements and new features.
The first three are the cost of standing still. Only the fourth moves the product forward. It helps to budget for them separately, so that fixes are not paid for out of the money meant for new features.
What to agree before launch
- How problems are reported, and to whom.
- What counts as urgent.
- How quickly an urgent problem gets a response, and during which hours.
- How often updates are applied.
- What the monthly fee includes, and what is charged as new work.
- A warranty period for defects found shortly after launch.
These are easy to settle in advance and uncomfortable to negotiate while the system is down.
What to hold yourself
- The source code repository.
- The hosting or cloud account.
- The domain name.
- The app store developer accounts.
- Accounts with outside services: payments, email, maps, analytics.
- Documentation: how to deploy, and where everything lives.
- Passwords and keys, in a password manager the company controls.
If any of these sit in a supplier's name, or an employee's personal account, changing supplier later becomes a negotiation.
Monitoring and backups
You should hear about a problem before your customers tell you. That takes an uptime check, error tracking, and alerts that reach a person.
Backups should run automatically and be stored somewhere other than the system they protect. Restore one as a test. Until a backup has been restored once, nobody knows whether it works.
Budgeting for it
Ask for the running costs as a line in the original quote: hosting, licences, and a monthly allowance of hours for fixes and updates. A supplier who has built similar systems can estimate it.
The amount depends on how much the product touches. A mobile app on two stores with a payment provider needs more attention than an internal web tool.
Our service
Custom Software Development
