Why Should Anyone Care about Clean Code Development?
It's the productivity, stupid!
That's the short answer to the question, why anybody should care about clean code. But it's not short term productivity, it's not delivering tomorrow instead of the day after. It's longterm high productivity clean code is concerned with.
The term "productivity" indeed appears in Robert C. Martins book Clean Code from 2008 - but it's pretty much limited to a foreword by James Coplien and the following paragraphs:
The highlights are mine from when I first read the book back then. It so much impressed me that I co-founded the German Clean Code Developer initiative https://clean-code-developer.de/ with Stefan Lieser.
But I was a developer. I was used to looking at code and programming and projects from a developer's point of view. I thought it pretty obvious why every developer should care about clean code.
Alas, that's not the point.
Many developers really care about clean code - to no avail. They don't feel able to actually live up to their own quality aspirations in day to day business. Because they are missing support from... customers and management.
As established as the term "clean code" has become since 2008 in the minds of developers, I fear it was a bad choice in terms of promoting the good cause. "Clean code" sounds technical, it was supposed to appeal to technicians. And thus it failed to appeal to the powers who grant the funds to actually live by its principles.
Despite the above pages in the book, clean code had and has a hard time to grab the attention of management or any non-technical stakeholder of software development.
That's very sad.
Because clean code development is an economically very important activity. And isn't that what managers and customers are trained to care about?
Actually, managers and customers should first and foremost be interested in that clean code development is practiced in their software projects. It's the foundation of longterm success. Like the success of any hospital fundamentally depends on observing the rules of hygiene, the success of software development depends on observing the rules and principles of clean code development.
Clean code development is trying to avoid wasting money. It's trying to keep projects alive and healthy as long as possible. It's working hard to make customers happy by delivering on time and on budget.
I have come to understand, that this is not obvious from all the principles and practices making up the body of knowledge around clean code. Nevertheless it's true.
To increase longterm productivity of software teams is the reason behind all clean code efforts. To explain how that can be done, and to spread this message is the aim of this community.