> Sticking to specifications which are wrong is the biggest nightmare error of them all
Emphasis added, because that is key.
I once spent the better part of a year "debugging the specifications" for a major product development effort (not helped by the fact that we had three different customers for the product, all telcos). It wasn't so much that the specs were wrong, per se, as that vague wording of some requirement in one section could contradict the vague wording of a requirement in some other section.
By the time it was all sorted out, the code almost wrote itself. (Well, not really, but it did mean we could actually deliver the product.)