In 2024, an average of 27% of all major Dutch government IT projects ran over budget. Only 8 of 31 completed projects were delivered on time. The causes are nearly identical for smaller app projects.

Cause 1
Most app projects start with an idea that sounds clear. "We want an app where our customers can place orders." Fine. But somewhere between that conversation and the first line of code, new wishes appear: a back-office management panel, push notifications, an integration with the planning or accounting system, and maybe a web version too.
Each individual request seems reasonable. Together they double the size of the project, and with it the cost and timeline. This is one of the most common reasons projects run over.
It almost always starts with unclear agreements at the beginning: what is included, and what is not? A good agency defines this per phase, with its own budget and deliverable. That way you know what you get for each phase, and can decide per phase whether to continue.
Clear agreements only solve half the problem. The other half is progress monitoring. If you talk too rarely, you only find out late that scope and expectations have drifted apart.
What helps: demonstrating the working product every two weeks, instead of sending a status report. You see straight away whether it looks the way the client expected, and you can course-correct before discovering after six months of building that half of it needs to change.
Cause 2
A quote says nothing about who actually does the work. Some agencies present a team of experienced developers and then deploy interns as full contributors, with insufficient supervision.
Watch for a project that consistently runs over without an obvious reason. The scope is clear, there are no tricky external integrations, and yet it keeps "needing a bit more time". We see that as a warning sign. Experienced developers estimate better and ask for clarification upfront rather than having to rebuild afterwards.
A second signal: if you ask whether automated tests are written and the answer is vague. Such tests automatically check whether existing functions still work after something has been changed. Agencies that do not invest in this deliver faster, but the deferred maintenance that creates will cost you later in bugs, delays and expensive rework.
The same applies to code structure. Without automated style checks, the code quickly grows into what developers call "spaghetti code". It works, but nobody dares touch it for fear of unexpected consequences. If you later bring in another agency to take over, that can cost considerably more than a new project.


Cause 3
Building custom software costs more upfront than using off-the-shelf subscription software. Over a longer period, the sums often work out differently.
With subscription software, costs increase over the years. They are often tied to usage: number of users, amount of data, the number of actions the software performs. What is a manageable amount in year one can become a significant expense by year four.
Custom software does not have that dependency. You pay once for the build, then only for hosting and maintenance. The software scales without the bill growing with it. We build exclusively custom software, without licence dependencies.
If an agency builds the app for you, that app is not automatically yours. It depends on what the contract says. Many agencies do not put anything in writing about this, or phrase it vaguely.
Imagine: your supplier goes bankrupt, is acquired by a party with different rates, or simply stops providing the service. The code is then not your property, but the supplier's. In an acquisition, that ownership transfers to the new party. In a bankruptcy, it falls into the estate. Either way, you have no guarantee that you can continue developing the app.
We regularly receive calls from business owners whose supplier went bankrupt: the app is still in the App Store, but on the agency's account. The source files are nowhere to be found. They are left empty-handed, for software they paid tens of thousands of euros for.
We contractually establish in every agreement that the source code becomes the client's full property upon delivery.
Cause 4
One cause of delay that is often underestimated is the client who does not make decisions.
App development constantly requires choices. Which feature takes priority? How does this screen work exactly? What is the text on this button? If those choices are not made quickly, the build team waits. And that waiting costs money, even when no hours are being worked.
An agency that says nothing about this is not doing you a favour. A good agency makes expectations clear upfront: for each build period there is a list of decisions that need to be made before work begins. If they do not arrive in time, the work shifts.

What is delivered per phase?
A quote without a phase definition is a non-binding price estimate. Ask what you get and what it costs per phase.
Who writes the code?
Permanent employees, freelancers or interns? And who reviews the work?
Are automated tests written?
Tests are the foundation for reliable further development. A vague answer is a bad sign.
Who owns the source files?
Does the contract state that the code is fully yours after delivery? If not: ask why not.
What are the costs when you grow?
Also ask what it costs when the number of users or amount of data increases.
Previous work
FAQ

How we approach it
We work in phases with a fixed deliverable per phase, write automated tests, and contractually establish in every agreement that the source files become the client's full property upon delivery.
Want to know what that means for your project? We are happy to discuss that in an introductory call. Do not expect a sales pitch: we talk about what your project needs.
Schedule a no-obligation call →Let's grab a coffee. Tell us about your idea and we'll give you our honest take on what's possible.
Schedule a call →Usually a reply within seconds