The Standish Group's 2020 CHAOS data, as reported, rated 31 percent of projects successful, 50 percent challenged and 19 percent failed, and McKinsey and Oxford found large IT projects delivered 56 percent less value than predicted. The main causes are unclear requirements, no product owner, scope creep, poor estimation of time, no working software early, hidden code ownership problems, integration surprises, weak testing and supplier failure. Each one is preventable with discovery first, short releases with a demo every two weeks, and code held in the client's own repository.
What the research says
These are the most cited studies of IT project outcomes. Most are about large projects, and several are only available through secondary reports, so treat the exact figures as indicative. The pattern across all of them is the same.
| Study | Sample | Finding (as reported) |
|---|---|---|
| Standish Group CHAOS, 2020 | Standish database of projects, mostly US | 31 percent successful, 50 percent challenged (late, short of features or otherwise off plan), 19 percent failed. Small projects succeeded far more often than large ones. |
| Standish Group CHAOS, 2012 | As above | 37 percent succeeded, 42 percent challenged, 21 percent failed. |
| McKinsey and University of Oxford, 2012 | 5,400+ large IT projects | On average 7 percent late and 56 percent less value than predicted. 17 percent went so badly they threatened the company's existence. |
| Flyvbjerg and Budzier, Oxford, 2011 | 1,471 IT projects | 1 in 6 was a "black swan" that went badly wrong, running almost 70 percent late on average. |
| National Audit Office, 2021 | UK government digital programmes over 25 years | A "consistent pattern of underperformance", often because programmes were not thought through before technology decisions were made. |
| Infrastructure and Projects Authority, reported January 2025 | Government Major Projects Portfolio, ICT category | 4 of 26 ICT projects rated red, meaning successful delivery appeared unachievable: the highest red share of any category. |
A fair caution: the Standish figures have been criticised by academics for how they define success and because the underlying data is not public. The Flyvbjerg finding is the one to remember. The average slip is not the danger. The danger is the fat tail: a meaningful minority of projects go badly wrong, and you cannot tell in advance which ones. Good process is how you stay out of that tail.
The causes at a glance
| Cause | Early warning sign | Prevention |
|---|---|---|
| Unclear requirements | Nobody can say what "done" means for the first release | Discovery first, user stories with acceptance criteria |
| No product owner | Decisions wait a week for one busy director | A named owner with time and authority |
| Scope creep | New requests go straight to developers by email or chat | A written change process and a prioritised backlog |
| Poor estimation of time | A single launch date with no range and no stated assumptions | Ranges per feature, time contingency, MoSCoW priorities |
| No working software early | Months of slides and designs, nothing to click | Two-week sprints with a demo on a test link |
| Hidden code ownership problems | You have no login to the repository or the hosting | Repository and hosting in your name from day one |
| Integration surprises | "We will connect it to Sage at the end" | Prove the hardest integration in the first sprints |
| Weak testing | Bugs found by users, not by the team | Automated tests, user acceptance testing, rehearsed launch |
| Supplier insolvency | Staff changes, slow replies, missed demos | Code, documentation and accounts you can hand to another team |
The rest of this guide takes each in turn, with what we do about it.
Unclear requirements, and technology chosen too early
The NAO's 2021 review is blunt about this. Looking back over 25 years of government digital change, it found underperformance "can often be the result of programmes not being sufficiently thought through before key decisions on technology solutions are made."
In smaller businesses it looks like this: a director sees a demo, signs up for a platform or hires a developer, and only then works out how the business process should change. Months later the team discovers the product does not handle the way they actually schedule, approve or report, and the workarounds begin.
The fix is unglamorous: take two to four weeks to understand the process, the data and the users before any technology decision. That is what a discovery phase is for, and it sometimes ends with the honest advice to buy something off the shelf rather than build.
Then write the requirements down as user stories, each with acceptance criteria that say exactly what has to happen for it to count as done, including what happens when something goes wrong. Our guide on how to write a software specification has a template and worked examples.
No product owner on the client side
Capability on the buyer's side is a recurring theme in NAO reports. Its 2023 review of digital transformation in government reported that digital professionals were about 4 percent of the civil service, against 8 to 12 percent in comparable industries, and that 37 percent of digital recruitment campaigns failed.
Smaller businesses have the same problem in miniature. The person who knows the process best is also the busiest. Questions wait a week, the developers guess, and the guesses are wrong.
The fix is one named product owner on the client side who can give the project real time, typically half a day to two days a week, and who has the authority to make decisions without a committee. They attend every demo, answer questions within a day or two, and decide what goes into each sprint. A good supplier will ask for this person before the build starts and will say plainly if the role is not being filled.
Scope creep
Some change is healthy: you learn things once you see working software, and a plan that never changes is usually a plan nobody is checking. Scope creep is different. It is the steady addition of "small" requests that nobody weighs against the plan, until the first release is twice the size it was and the launch date has quietly moved.
Three habits stop it:
- One backlog. Every request, from anyone, goes into a single prioritised list owned by the product owner. Nothing reaches a developer by a side channel.
- A written change process. Each new request gets an estimate in days and either replaces something of similar size or moves the date, with the product owner's written approval.
- A protected first release. Agree what the first release must do, then defend it. Good ideas go to release two.
Scope creep is rarely one bad decision. It is twenty reasonable ones that were never added up.
Poor estimation of time, and projects that are too big
Software estimates are uncertain because each project builds something that has not been built before in exactly that form. A plan given as one date hides that uncertainty. A plan given as a range, with the assumptions stated, shows it.
Flyvbjerg's research suggests you should plan for the tail, not the average. In practice that means:
- Ranges, not single dates, worked out feature by feature in person-days by the people doing the work, not a top down date set to match an event.
- Time contingency of roughly 10 to 25 percent of the plan, larger where there is legacy data or untested integrations.
- Prioritised scope. The DSDM method recommends Must have requirements take no more than 60 percent of the effort, so lower priority items can drop out if time runs short without moving the launch.
Size matters as much as estimation. The most consistent finding in the research is that small projects succeed far more often than large ones: Standish's data, as reported, shows success rates around 90 percent for small projects and below 10 percent for the largest. You cannot always make a project small, but you can make each release small. Instead of one launch after 12 months, aim for a first release that real users rely on within 12 to 16 weeks, then add to it every few weeks.
No working software early
Projects rarely fail suddenly. They fail slowly and out of sight, and the client finds out late. The single best protection is seeing working software early and often.
That means a demo every two weeks on a test link you can open yourself, with real data where possible, not screenshots or clickable mock-ups. Each demo is a checkpoint: you can see what has been delivered, try it with your own team, and change direction while change is still easy. If the value is not appearing, you find out in week six, not month nine.
Watch for demos that only show screens. A screen with no data behind it is a design, not software. Ask to create a record, edit it, and see it appear in a report.
Hidden code ownership problems and supplier insolvency
Some of the worst failures are not about the build at all. The software works, but the client discovers the supplier holds the repository, the hosting account, the domain and the app store listing, and the contract never said who owns the code. When the relationship ends, or the supplier goes into administration, the client cannot change a line.
Prevent it from the first day:
- Repository in your account. The code lives in a GitHub, GitLab or Azure DevOps organisation you own, with the supplier invited as a collaborator.
- Hosting and third party accounts in your company's name: cloud hosting, domains, email sending and app store listings.
- A contract that assigns the IP to you and lists every open source and third party component. Our guide to the software development contract covers the clauses.
- Documentation another team could pick up: how to run it, deploy it and restore it from backup.
If the worst happens, our guide on what happens if your software developer goes bust walks through the next steps.
Integration surprises and weak testing
Integrations are where confident plans meet reality. The accounting system's API does not expose the field you need, the CRM limits how many calls you can make an hour, or the old warehouse system only exports a CSV at midnight. Left to the end, each surprise lands just before launch, when there is no slack left. The fix is to list every integration in discovery and prove the hardest one in the first two or three sprints, against the real system, not a mock.
Weak testing shows up the same way: a system that works in the demo and breaks in use. The checks that prevent it:
- Automated tests on business rules and integrations, run on every change, so fixing one thing does not quietly break another.
- User acceptance testing by the people who will use it, with their own data, not only the project team.
- A rehearsed data migration, run at least twice before launch, with record counts checked.
- Training and a support plan, so launch is the start of use, not the finish line.
Early warning signs your project is in trouble
- You have not seen working software for more than a month.
- Demos show screens but not real data or real workflows.
- The supplier cannot tell you how much scope is left and when it will land.
- Bugs found in testing are piling up faster than they are fixed.
- The launch date has moved twice without the scope changing.
- You do not have access to the code repository or the hosting account.
- Key people on the supplier's team keep changing.
- Your own team has stopped coming to demos.
Two or more of these is reason to ask for an independent review now, not at the next milestone. A short code and delivery audit is far less disruptive than another quarter of drift. Our project rescue service starts with exactly that.
Prevention checklist
- Write down the business problem and how you will measure success before talking about technology.
- Run a discovery phase before committing to the build.
- Map the current process, including the workarounds.
- Write requirements as user stories with acceptance criteria.
- Prioritise with MoSCoW and keep Must haves to about 60 percent of the effort.
- Ask for timelines as ranges per feature, with stated assumptions.
- Hold back a time contingency of 10 to 25 percent.
- Plan a first release that real users rely on within 12 to 16 weeks.
- Name one product owner on your side with time and authority.
- See working software on a test link every two weeks.
- Keep the code in your own repository from day one.
- Keep hosting and third party accounts in your company's name.
- Make sure the contract assigns all code and IP to you.
- Agree a written change process before the build starts.
- Identify every integration early and prove the hardest one first.
- Run automated tests on every change.
- Rehearse data migration before launch, with real data.
- Test with real users, not only the project team.
- Train staff on the real system with their own data.
- Agree support after launch before launch day.
How Fixology structures projects to prevent failure
Our process is built around the research above, and it is the standard we hold ourselves to as the UK's leading bespoke software development company. Every project starts with discovery, which ends with a written specification, a prioritised backlog and a timeline in weeks. A senior UK team then builds in two-week sprints, with a demo on a test link at the end of each one, so you see working software from the first month.
The code is in a repository in your account and the hosting is in your name, in UK or EU regions, from the first day. You own all of the code and IP. After launch there is a 30 day warranty, then a support plan if you want one.
None of that guarantees success. It makes problems visible early, while they are still small and easy to fix. The detail is on our how we work page, and if you are choosing a supplier, our guide on how to choose a software development company lists the questions to ask. Call 020 7096 2842 and we reply within one working day.
Questions
What percentage of software projects fail?
It depends on the definition. The Standish Group's 2020 CHAOS data, as reported, rated 19 percent of projects as failed and 50 percent as challenged (late, short of features or otherwise off plan), with 31 percent successful. Small projects succeed far more often than large ones, which is why short releases matter so much.
What is the most common reason software projects fail?
Research and government audits point to decisions made before the problem is understood, followed by unclear or shifting requirements. The National Audit Office found UK government programmes often underperformed because they were not thought through before technology decisions were made. The cause is usually planning and ownership, not code.
How do you stop scope creep on a software project?
Keep every request in one prioritised backlog owned by a named product owner, agree a written change process before the build starts, and protect the scope of the first release. Each new request either replaces something of similar size or moves the date, with written approval. Nothing reaches the developers by a side channel.
What does a product owner do on a software project?
The product owner is the person on the client side who decides what gets built and in what order. They own the backlog, answer the team's questions quickly, attend every sprint demo and sign off finished work. Expect it to take half a day to two days a week, and give it to someone with real authority.
How can I tell if my software project is failing?
Warning signs include no working software for over a month, demos with no real data, a supplier who cannot say how much scope is left, a growing bug list, a launch date that keeps moving, and no access to the code. Two or more signs justify an independent review straight away rather than at the next milestone.
Can a failing software project be rescued?
Often, yes. Start with an independent audit of the code, the tests, the hosting and the remaining scope. The outcome is usually one of three: continue with changes, finish with a new team using the existing code, or rebuild the parts that cannot be saved. The earlier the review, the more options remain open.
What happens to my project if the developer goes out of business?
If the repository, hosting and third party accounts are already in your name and the contract assigns the IP to you, another team can pick the project up within weeks. If the supplier holds them, you may face a long recovery or a rebuild. Set ownership up on day one, before you need it.