In this guide 6 sections
Custom software moves through five stages. Discovery agrees the brief, design fixes workflows and architecture, build ships reviewable increments, testing and migration prepare the cutover, and training plus a change process follow go-live. Each stage ends at a named approval. Nothing waits for one big reveal.
Discover needs and agree what done looks like
Discovery turns a vague business problem, such as a chaotic dispatch process, into a written brief that both sides can hold each other to. It maps the workflow as it happens rather than as the process document claims, names every user role that will touch the system, and sets acceptance criteria. Acceptance criteria are checkable conditions. They decide whether a feature is finished.
Take a logistics company that wants a fleet-dispatch and delivery-tracking tool, where discovery means sitting beside the dispatcher who currently runs everything from phone calls and a whiteboard. You learn what the dispatcher needs on screen the moment a driver is assigned, and you write down what a successful dispatch looks like instead of assuming it. The org chart version rarely matches.
Discovery should end with a written document that both sides sign off, however informal, because a scope dispute in week six costs far more than one caught here. Everything later is measured against it.
Design workflows, interfaces and architecture
Design turns the discovery document into wireframes or a clickable prototype for the screens, a data model for how information connects, and an architecture that allows for integrations. Changes are cheap on a wireframe.
Good design settles awkward questions early, such as what happens when two dispatchers assign the same driver or when the mobile app loses signal mid-sync. Who sees which records belongs there too. The dispatch screens may also read a telematics feed from the trucks and raise a geofence alert when a driver leaves the route. Anything unclear on a wireframe gets a question to the sponsor, because the answer shapes the data model and the permissions behind every screen. Silence here is expensive. These are not edge cases to defer. They cost minutes on a wireframe, but retrofitting them into working code can take weeks of rework and retesting across every screen.
Build and review software in increments
A well-run build delivers working increments every one to two weeks, and a client stakeholder uses them rather than just reading a status report. It never vanishes for months. If the driver-assignment screen is reviewable in week four, a misunderstanding about its behaviour is caught in week four, not week fourteen after everything built on top of it.
Review only works when the same person attends every sprint, because a different reviewer each time reopens earlier decisions instead of building on them. That slows delivery without improving quality.
Test, migrate and deploy safely
Testing checks that each feature works as specified and that the whole system holds together under realistic use, such as a full day of real dispatch volume. Migration moves past deliveries, driver records and customer addresses into the new system, and it deserves the same rigour as the code. Matching record counts can hide corrupted fields. They surface when someone relies on them.
Never cut over in one moment. Run the new system beside the old process for a short overlap, so a problem is caught while the old paper or phone routine still works as a fallback. The extra week is worth it.
Train users and manage ongoing change
Software that works technically but that nobody was trained to use fails in the same way as software with a bug, because the business never gets the benefit. Training should be role-specific. A dispatcher needs different things from a driver or an operations manager, and the session should happen close enough to go-live that nobody forgets it.
Changes keep coming after go-live. A workflow that looked right on paper may need a tweak once dispatchers use it daily, so agree a process for requesting, estimating and approving each change before launch. Open invitations are not a process.
Delivery lifecycle with approval gates
A five-stage lifecycle diagram covers discovery, design, build, test and migrate, and train and go-live, with the approval at each gate marked against it. Five approvals appear in total. You see where your input is needed.
Open a blank worksheet to printQuestions owners ask
When will we see working software?
Within the first few weeks of the build, not at the end, because a properly run process delivers reviewable increments every one to two weeks. Real functionality is visible throughout.
Who approves each stage?
The business sponsor or process owner named in discovery should approve every stage, from acceptance criteria and the design walkthrough to sprint reviews and the go-live decision. Rotating approvers causes rework.
What happens if requirements change mid-build?
The change gets a written estimate of its cost and its effect on the delivery date before anyone approves it, and the plan is updated. Surprises come from skipping that step.
