4 ms·
> about making sure that it's kept in sync with changes to the rest At one of my workplaces we had an application that was without a formal supporter and every
by ergothus 7y ago
> about making sure that it's kept in sync with changes to the rest
At one of my workplaces we had an application that was without a formal supporter and everyone hated to touch it. After I was assigned to dive in to fix a bug, I did a study of how it got that way. I was very surprised by the results I found. Basically, two things went wrong:
* Firstly, due to some mismanagement, the local team moved away, leaving it unsupported.
* Secondly, outside code underwent some paradigm shifts, meaning that anyone who knew outside code found this code to be foreign. Often, people assigned to fix bugs/add features in this code would try to apply the outside paradigms without understanding or adapting the local conventions, creating ugly code interfaces.
Here was the part that amazed me: The time between this code being not-perfect-but-perfectly-normal and becoming ugh-I-hope-I-don't-have-to-touch-that was _6 months_(!)
We've always known that technical debt becomes a problem, but I had no idea it would compound so quickly. Granted, this was at a "post-startup" company going through rapid change as the scope of work kept increasing, but that's still a startlingly fast decay rate for code that was decently written and tested.
Definitely proved to me the value of an active maintainer.
- rosser 7y agoYeah, that kind of "process" probably invites code rot. It's subtle, insidious, and yes, sometimes, shockingly quick to set in.
- rodgerd 7y agoAs a witter person that I put it, "code ages like milk, not like wine".
- tylerrobinson 7y agoIt's remarkable how closely this fits with a system at my company. Without close attention, things can spiral out of control faster than you can imagine.