Another root cause in our environment is alluded to in the article. With the rise of test frameworks, devs seem to test to prove the API is correct, not to find problems.
Another symptom of this is that when the QA/Staging function went away, load testing became perfunctory. Many of the performance problems we see should have been caught in QA. Devs are anxious to ship and get on to the next sprint, leaving app support and operations on the hook.