stupid tender processes
Part of the problem is that at no point is the contractor allowed to put forward any suggestions. The entire consultation process is based on the civil service going "I want this, this this and this and I don't want it to do this". The contractor is not allowed to say "but that won't work, you'd be better off doing this". As a result the entire architecture and design is done by a bunch of idiots who haven't got a clue and then the contractor is left with the job of creating the impossible within constraints that have been put in place by people who do not understand the technology.
It's even worse when you start looking at systems that are to be used by local authorities. Ever wondered why the NHS project is so bad? Because every NHS trust has to hand in their own spec and the system then has to work according to all the specs given. In effect you get hundreds of little systems trying to run on one back end and then they wonder why it falls over...
Look at the rest of the world, why do their systems work? Because the contractor is allowed to tell the govt "no, that won't work"