How to prevent software projects from becoming open-ended
Custom software projects often spiral past budget and deadline. Here's how to define scope, control change, and set milestones that actually stick.
Your custom software project started with a clear goal. Six months later, the go-live date has moved twice, the budget is under pressure, and the development team is still waiting on 'just a few more requirements.' If that sounds familiar, you are not dealing with a bad vendor or a bad team — you are dealing with a structural problem that kills more software projects than technical failure ever does.
This article explains exactly why custom software and ERP projects become open-ended, and gives you a concrete, field-tested approach to prevent it — from the first scoping conversation to final acceptance.
Why do software projects keep expanding?
The pattern is almost always the same. A business owner or IT manager commissions a new system: a custom FileMaker ERP, a web application, an API integration between two platforms. The initial brief is reasonable. Then, as development progresses and people start seeing working screens for the first time, the requests multiply.
A sales manager sees the order entry screen and asks: "Can we also show the customer's credit limit here?" The warehouse team realises the stock module doesn't match how they actually count inventory. Finance wants a report that wasn't in the original brief. Each request feels small. Together, they add weeks or months and push the budget past what anyone originally approved.
This is called scope creep — and it is the single most common reason custom software projects run over time and over budget. It is not caused by greed or incompetence. It is caused by a gap between what was written down at the start and what people actually needed — a gap that only becomes visible once real software exists in front of real users.
What does a proper scope definition actually look like?
Vague briefs produce open-ended projects. A proper scope definition is not a wish list — it is a contract between the business and the development team about exactly what will be built, and equally important, what will not be built in this phase.
A solid scope document covers:
- The business problem being solved — not the features, but the underlying need. "We need to stop re-typing orders from FileMaker into Exact Online by hand, every single day" is a business problem. "We want a sync button" is a feature request.
- The user workflows in scope — which roles use the system, in what sequence, and what decisions they need the software to support.
- The data model — what records, fields, and relationships the system needs to manage.
- Explicit exclusions — a list of things that are not part of this phase. Writing these down prevents the "but I assumed that was included" conversation later.
- Success criteria — measurable outcomes that define when the project is done. Not "the system works well" but "an order placed in FileMaker appears in Exact Online within 60 seconds, with no manual steps required."
If you cannot write down a clear success criterion for a requirement, that requirement is not ready to be built.
How do you handle new requests without derailing the project?
Even with a perfect scope document, new ideas will emerge during development. That is not a failure — it is a sign that people are engaged with the project. The mistake is treating every new idea as an immediate change to the current build.
A change-control process does not have to be bureaucratic. At its simplest, it is a three-step habit:
- Log it. Every new request — regardless of how small it seems — goes into a backlog, not directly into the sprint or the developer's to-do list. Use a shared tool: a Notion board, a Jira ticket, a shared spreadsheet. The format matters less than the habit.
- Assess it. Before any new item is picked up, someone with authority (a product owner, project lead, or the business owner) reviews it: Does this belong in the current phase, or in a follow-up release? What does adding it cost in time and budget? Does it change anything already built?
- Decide formally. If the request is approved for the current phase, update the scope document and the timeline. If it is deferred, put it on a Phase 2 list. The key rule: nothing enters the current build without a conscious, documented decision.
This sounds simple. It is also the discipline that most projects abandon under delivery pressure — and that abandonment is exactly where open-ended projects are born.
What milestones actually keep a project on track?
A milestone is not a date on a Gantt chart. A milestone is a concrete, verifiable deliverable: something you can look at, test, and sign off on — or not.
Effective milestones for a custom software project look like this:
- Discovery sign-off: Scope document, data model, and user flows reviewed and approved by the business. No code written until this is signed.
- Prototype review: A clickable or working prototype of the core workflows, reviewed with actual end users — not just the project sponsor.
- Module acceptance: Each major module (e.g. order management, stock control, reporting) is tested and formally accepted before the next module begins.
- UAT (User Acceptance Testing): A structured period where real users run real scenarios against agreed acceptance criteria. Not a casual "have a look and let us know."
- Go-live gate: A formal checklist of conditions that must be true before the system goes live — data migration complete, training done, fallback plan in place.
The discipline of milestone-based delivery forces both sides — business and development — to be honest about progress. A project that is "90% done" for three months in a row is not 90% done. Milestones make that visible before it becomes a crisis.
How should the business and development team communicate?
Most project delays are not technical. They are communicative. The development team builds what they understood; the business expected something different; neither side noticed the gap until too late.
Practical communication habits that prevent this:
- Weekly written status updates — not long reports, but a three-line summary: what was completed, what is next, and what is blocked. Written, not just verbal, so there is a record.
- Demo sessions at each milestone — live walkthroughs of what has been built, with the actual end users present. Stakeholders who only see the system at go-live will always have surprises.
- A single point of contact on each side — one person on the business side who has authority to make scope decisions; one person on the development side who owns delivery. Multiple decision-makers with conflicting priorities are a guaranteed source of scope creep.
- Explicit sign-off at each milestone — a written confirmation (email is fine) that the deliverable meets the agreed criteria. This is not about blame; it is about shared clarity.
What are the early warning signs that a project is becoming open-ended?
Recognise these signals before they become a crisis:
- The requirements document is still being updated while development is already underway.
- New requests are being added directly to the developer's backlog without a formal assessment.
- The go-live date has moved more than once without a corresponding change to scope or budget.
- End users have never seen a working demo before the final UAT.
- "Almost done" has been the status for more than two weeks.
- Nobody can name the exact acceptance criteria for the next milestone.
If two or more of these are true on your current project, the project is already at risk. The fix is the same regardless of how far along you are: stop, document the current state of scope, run a formal change assessment on everything in flight, and reset the milestone plan.
Checklist: before your next software project kicks off
Use this before signing any development contract or starting any build:
- The business problem is written down in one sentence, agreed by all stakeholders
- A scope document exists with explicit inclusions and exclusions
- Success criteria are measurable, not subjective
- A change-control process is agreed and documented
- Milestones are defined as deliverables, not dates
- Each milestone has written acceptance criteria
- A single decision-maker is named on the business side
- A UAT plan exists before development begins
- A Phase 2 backlog exists to capture ideas that are out of scope for now
- Both sides have agreed on how and how often they will communicate
FAQ
Is some scope change inevitable on a custom software project? Yes — and that is not the problem. The problem is uncontrolled scope change. A healthy project has a change-control process that makes every addition a conscious, costed decision rather than an informal request that quietly inflates the project.
Should we use an agile or waterfall approach to prevent scope creep? Neither methodology prevents scope creep on its own. Agile sprints can absorb change gracefully if there is a disciplined product owner managing the backlog. Waterfall gives you a fixed scope if the upfront discovery is thorough. The real answer is: use whatever approach your team will actually follow, and build the change-control discipline into it regardless.
How do we handle a vendor who keeps accepting new requests without flagging the impact? A vendor who says yes to everything without raising scope implications is not protecting your project — they are building a change-order bill or accumulating technical debt. Expect your vendor to proactively flag when a new request affects the timeline, budget, or architecture. If they never push back, that is a red flag.
What is the most common mistake businesses make at the start of a software project? Starting development before the scope is fully agreed. The pressure to "just get started" feels productive, but building on an unclear foundation guarantees rework. A two-week discovery phase that produces a signed scope document is almost always cheaper than two months of rework caused by skipping it.
When is a project officially done? When the agreed acceptance criteria have been met and formally signed off — not when the development team says it is done, and not when the business says it "feels right." Written, measurable criteria are the only neutral finish line.
If your organisation is facing a software project that has already started to drift — or if you are planning a new build and want to structure it so it does not — Loggix works with businesses to define scope, design the right architecture, and deliver custom software (including FileMaker solutions, web applications, and API integrations) with the kind of milestone-based discipline described in this article. A focused consultancy session at the start of a project is often the single highest-return investment a business can make in its software outcomes.