Software development is broken; it doesn't matter if you're talking about proprietary or FOSS. The blame lies in capitalism, which extols faster to market as a higher virtue than quality or safety.
The faster to market boils down to faster to implement, which tends to leave analysis and design by the wayside. Test first as an analysis paradigm is a failure, as your assumptions don't get vetted.