Imagine a kitchen -- not your kitchen, but a large commercial one. A kitchen where the business of cooking is conducted.
Now imagine that you are a chef, and you've been hired to cook here. You set about your work and much is done, but the kitchen is never cleaned. This is not due to malice or incompetence, but because there is simply never a moment to rest between orders. As one dish is completed, another one comes in. This is, after all, your job: You are here to cook, and the product of your craft keeps customers happy. So long as you are producing meals you are doing your job, and the people you work for are running a successful business. Eventually your kitchen gets too dirty, and it starts to negatively affect the quality of the product in a way that is regulated by law. Your kitchen must either be cleaned to meet certain basic standards or it will be shut down.
This is where you point out that that last part doesn't exist for tech companies.
It's a good idea for us to deal with the byproducts of our work -- to take out the trash, to wipe down the counters. It's something that everyone worth their salt knows they have to do, sure. But -- and this is the key -- it is not something our bosses know they have to account for unless they themselves have seen it build up in the codebase or been told that it exists. There isn't a law anywhere that says "Keep your codebase clean or the Department of Code Reviews inspector will shut your shit down."Explaining Technical Debt to your Non-Technical Boss
Labels: programming, technology
Posted by Nick Holmes a Court @ 12:26 AM