The difference between support, maintenance and development

Three words used as one, with three budgets behind them. What each covers, how each is priced, and why mixing them up causes billing disputes.

3 minread 695words last updated

The short answer

Support, maintenance and development are three different kinds of work with three different budgets, and businesses and suppliers use the words interchangeably until an invoice arrives. Support reacts: something is broken or unclear and someone fixes or answers. Maintenance prevents: updates, monitoring, backups tested, security reviewed, on a schedule, whether or not anything is wrong. Development builds: a page, a feature, an integration that did not exist. A healthy monthly partnership contains all three in known proportions, defined in writing with examples, and the report shows which was which.

Side by side

SupportMaintenanceDevelopment
TriggerA problem or question from you or from monitoringThe calendarA decision to add or change something
GoalRestore what should work; answer what is unclearKeep it working and safe over timeMake something new
ExamplesForm not delivering; error on a page; how do I edit this?Dependency updates; backup restore test; security header review; access reviewNew landing page; booking integration; redesign of a section
Priced asIncluded in the monthly fee, within the severity tableIncluded in the monthly fee, on a stated cadenceQuoted per piece, or drawn from a monthly change budget
Measured byResponse and resolution timesReport of checks done, with datesDelivered against the plan
If neglectedProblems linger; trust erodesIncidents accumulate and arrive all at onceThe site stands still while the business moves

Where the disputes come from

  1. A request called support that is development. “Can you just add a field to the form?” is a small change, not a fix. It fits the change budget; it is not free support.
  2. A defect called development. “The form broke after your update” is maintenance or warranty, not a billable feature.
  3. Maintenance nobody defined. “We thought updates were included” versus “we thought you only wanted hosting.” Write the cadence down.
  4. An emergency called ordinary. A checkout down on Saturday is critical support, and the severity table decides what happens and when, rather than it becoming a ticket for Monday by default. The severity table decides.

What a healthy mix looks like

Monthly: maintenance on its cadence, support as needed within the table, a change budget spent on small improvements from the plan. Quarterly: a review that turns the plan into the next quarter’s development, with larger pieces quoted separately. The monthly report separates the three, so you can see that maintenance happened in a quiet month, support handled two incidents, and the change budget produced three improvements.

What this means for you

Three words, three budgets. Support and maintenance belong in a fixed fee with a severity table and a cadence; development belongs in a change budget and quotes. Get the definitions in writing with examples, insist that maintenance is actually scheduled and reported, and read the labels in the monthly report. Most disputes about digital work are not about money; they are about which of these three words applied.

Written by the CivSec S.M.A.R.T team

We build and run websites, software and AI systems for businesses. We write about what we see in that work, in plain language, and we update articles when things change.

Last checked . Spotted something outdated? Tell us.

Frequently asked questions

Is a small new feature support or development?

Development, however small. Support fixes what should already work; a new feature did not exist. Small development fits within a monthly change budget without a separate quote, which is why the budget exists. The label matters for expectations, not for whether it gets done.

Is fixing a bug that we found six months after launch support or warranty?

If it is a defect in what was delivered, it is warranty where the agreement provides a warranty period, and support after that. If it is caused by a change elsewhere, such as a platform update or a browser change, it is maintenance. Agreements should define the warranty period and what counts as a defect.

Why not just pay hourly for everything?

Because maintenance then does not happen. Preventive work is the first thing cut when every hour is billed, and its absence shows up later as expensive incidents. A fixed fee for maintenance and support, with development on top, keeps the preventive work funded.