I’m not happy with how my earlier version of this post turned out, and I’ve revised some of my opinions since then. So here is my attempt to set things straight.
If you propose a “better way” of writing software, whether it’s engineering practices, a new tool, a programming language, a process or framework, or anything else, it really just needs to do one thing in order to earn the title of being a “better way”: it needs to reduce the overall cost of producing the software. The overall cost, of course, includes design, management, planning, development, testing, debugging, QA…
Consider all the truisms, values, principles, practices, and advice out there about how to write good quality software. Once you’ve thought of them, consider the business reasons for them. When I do this, I start to notice a pattern.