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.

How Expensive is a Piece of String?

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.

  • TDD. It gives you the ability to change the product later with confidence that you’re not breaking anything, thus saving time and frustration in maintenance.
  • Pair Programming. It gives you a second pair of eyes to understand your code as it’s being formed in your head, so that it is more likely to be correct and to account for more edge…

Keith Anders

Software engineer with experience in C# .NET, C++ Qt, Python, JavaScript, and a strong interest in processes and goals that get things done fast and right.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store