4 ms·
The distinction is not only helpful, but fundamental. You can have clean, beautiful code that implements poorly-named, ambiguous, or half-baked concepts -- tha
by jonahx 11y ago
The distinction is not only helpful, but fundamental. You can have clean, beautiful code that implements poorly-named, ambiguous, or half-baked concepts -- that's conceptual debt. You can also have a well thought out product, broken down into simple concepts, that is implemented by inexperienced programmers as a mess of speghetti code -- that's technical debt.
Granted, the two often go hand in hand, but not always, and even when you have both, it's helpful to separate the two, as they require different remedies.
- gotchange 11y agoIsn't the concept of "Conceptual Debt" antithetical to the idea of MVPs,lean startups and the "ship fast, ship often" mantra dominating the tech culture nowadays?
- alistairSH 11y agoNo. Start-ups (and anybody else for that matter) just make certain compromises in order to ship fast(er). They still create conceptual debt, just as they do technical debt. The key is to go back and address both before they become uncorrectable (or, at least document/understand those compromises, so future developers don't waste time figuring it out).
- jskulski 11y agoExactly. The important part of these phrases aren't Technical or Conceptual, it's the 'Debt' part.
- rejschaap 11y agoLet's just call it bad product or bad UI. That way we don't need lengthy articles to explain new terms.