Or more likely you're terribly good at seeing things.Yes, I'm very good at seeing what's in front of me, instead of depending on my preconceptions.
And given that the users and the coders are not in communication with each other at all, things get lost in between.
Which is why the outsourcing issue is self-correcting after a few iterations.
But given the cost differential the bean counters have taken this into account and deemed this acceptable.
Until the program doesn't work and goes over budget, whereupon the beancounters hand it off to Americans and hope they can save the day.
When a project goes over budget you do not fire the programmers and start fresh with a new team. That is to throw away the money that was spent already.
It's like when a movie is going way over budget. The producers of "Heaven's Gate", for instance outlined three options...
1. "Queen Kelly" - When Erich von Stroheim was going way over budget to make a 10 hour movie, pull the plug. Fire him and cut your losses.
2. "Cleopatra" - Let it run over budget and hope to recoup it at the box office. That decision nearly finished 20th Century Fox.
3. "Apocalyse Now" - It could more recently be renamed the "Titanic" option. Let it run over budget but make the director financially responsible. From now on every dime he spends could be his.
In the software world the "Titanic" option is very often chosen. The "Queen Kelly" option is incredibly rare. So assuming that outsourcing is somehow "self correcting" is wishful thinking.