★★★★★Bespoke software for B2B·One-off build fee, low monthly retainer·You own the software

Buying, cost and process

The software development process, explained without the jargon

The software development life cycle is the sequence a piece of software goes through from idea to daily use: discovery, design, build, testing, release and ongoing support. Understanding it tells you what you're paying for at each stage and where a project usually goes wrong.

Haystak · 11 August 2026 · Updated 11 August 2026 · 8 min read

A software development life cycle diagram showing discovery, design, build, test and support stages

The software development life cycle (SDLC) is the set of stages a piece of software passes through: working out what's needed, designing how it will work, building it, testing it, releasing it, and then keeping it running and improving it. Every credible supplier follows some version of this, whether they name the stages or not.

For a business owner signing off a project, the value of knowing the cycle isn't academic. It tells you what should exist before code gets written, what a demo halfway through actually proves, and why a system that seems finished still needs a support budget afterwards.

The stages of the software development life cycle

Different companies use different names, but the substance is consistent. Here's the version we use, and what should exist at the end of each stage.

StageWhat happensWhat you should have at the end
DiscoveryUnderstanding the problem, the users, the current process, constraints and budgetA written brief or requirements document, agreed scope
DesignScreens, data structure, and how the system fits with what you already runWireframes or prototypes you've reviewed and signed off
BuildDevelopers write the software against the agreed designWorking software, delivered in stages you can see
TestingChecking it does what was specified, and trying to break itA test log and a list of fixed defects
ReleaseMoving the system into live use, migrating data, training staffLive software, staff who know how to use it
MaintenanceFixing issues, applying security updates, small improvementsA support agreement and a backlog of future changes

The stages aren't always strictly sequential. Depending on the methodology you use, build and testing might run in short repeated cycles rather than as one long block. But the substance of each stage doesn't change.

Why the discovery stage matters more than the build

Most software problems trace back to a discovery stage that was rushed or skipped. If nobody wrote down what the system actually needs to do, testing has nothing to test against, and 'finished' becomes a matter of opinion.

A proper discovery produces a document - sometimes called a software requirements specification - that lists what the system must do, who uses it, and what 'done' looks like for each feature. It doesn't need to be hundreds of pages. It needs to be specific enough that two different developers would build the same thing from it.

How long does each stage take?

This varies hugely with the size of the system, but as a rough shape for a mid-sized business system (say, three to six months end to end):

  • Discovery - typically 5–15% of the total timeline. Skimping here costs more later than it saves now.
  • Design - 10–20%. Longer if the system replaces something staff already rely on daily.
  • Build - usually the largest single share, 40–60%.
  • Testing - 10–20%, though it should be happening continuously through the build, not just at the end.
  • Release and handover - 5–10%, plus training time that's easy to underestimate.

Maintenance isn't a percentage of the build - it's ongoing. See our guide to software maintenance for what that should include and how it's usually priced.

Waterfall, agile, and why the difference matters to you

The life cycle stages above are the same regardless of methodology - the difference is whether you go through them once, in order, or repeatedly in short cycles. Waterfall does the whole cycle once; agile repeats a compressed version of it every couple of weeks, showing you working software as it goes.

We cover the trade-offs properly in agile vs waterfall, but the short version for a business software project: agile suits most bespoke work because it surfaces misunderstandings early, while waterfall suits fixed, well-understood scopes where change is unwelcome, such as regulatory systems.

What should you actually see at each stage?

As the person signing off the budget, you shouldn't need to read code or test scripts. You should expect to see specific artefacts at each handover point.

  1. 01After discovery - a written brief you've read and agreed, not a verbal summary in an email.
  2. 02After design - clickable wireframes or screen mock-ups you can walk through with your own staff before build starts.
  3. 03During build - working software at regular intervals (weekly or fortnightly), not a single reveal at the end.
  4. 04After testing - a plain list of what was tested and what was found, not just 'all tests passed'.
  5. 05After release - a short handover document: how to raise a support ticket, who owns what, and what the maintenance arrangement covers.

Where projects usually go off track

The most common failure isn't bad code. It's scope drifting during the build stage because discovery left gaps, and nobody controlling the change with a proper process. A software development contract worth signing will set out how changes to scope get agreed and costed, so this doesn't happen by accident.

The NIST and ISO bodies both publish standards touching software life cycle processes for organisations that need a formal quality framework (ISO/IEC/IEEE 12207 is the relevant one), but for most businesses the discipline matters more than the paperwork: agree what's being built, show progress often, and control changes in writing.

If you want to see how we run each of these stages in practice, our how we work page sets out the full process end to end. If you're ready to talk about a specific project, get in touch and we'll tell you honestly which stage you need to start at.

✦ Where this fits

More on this from us: how we run a project.

Questions we get asked

Common questions

What are the main stages of the software development life cycle?

Discovery, design, build, testing, release, and maintenance. Some methodologies repeat the middle stages in short cycles rather than doing each once, but the substance is the same.

How long does a typical software development life cycle take?

For a mid-sized business system, three to six months from discovery to release is typical, with maintenance continuing indefinitely afterwards. Larger or more integrated systems take longer.

Do I need to understand the SDLC to commission software?

Not in technical detail, but knowing the stages helps you ask the right questions at each handover - what should exist, and whether it's been shown to you rather than just described.

Is the software development life cycle the same for agile and waterfall projects?

The stages are the same in substance. Waterfall moves through them once in sequence; agile repeats a compressed version of them every one to four weeks.

Not sure which stage your project is at? We'll tell you what we'd build.

Tell us where things stand and we'll tell you plainly what's missing before you spend any more on it.

No pitch deck · We map your process · You own the software