Today while wandering around in my weekly hunt for good links, my eye has been attracted by a post named Coding is three dimensional. It’s quite an interesting way to consider it. But the reason why it struck me is that it was missing the fourth dimension. That makes all the difference when you get years of coding. You know that time is a parameter.
Code don’t exist out of time. It has a past, perspective of a future, that both shape its current morphology. There are a lot of efforts to produce code analysis. But the real analyst is an historian and needs a systemic approach that includes time as a factor. We are still far from being able to automate that. In some ways, it’s a good news, we won’t be replaced by small scripts very soon.
The time factor is actually the essential element in the technical debt formula. Purist coders can’t cope with technical debt but if you have two onces of business man inside, it makes total sense. The tradeoff in technical quality versus fast deliverability only makes sense because the timing is critical. A mess is not a technical debt.
If coding was disconnected from the market, and if it was not a business or more like an art, maybe time would not be that critical. But even open source software is dependent on the market at one point or another. I fail to see how it could be different.
Honestly, I would prefer clean coding and no market tradeoff, but that’s just a dream.