So basically refactor old features and code to remove tech debt before starting work on new features, so it’s easier to implement them.
Developers always knew that. PMs always hated that.
Maybe I’m not looking deep enough into the question, but wouldn’t this be because we do the easy parts first?
Did you read the article?
More features = more tech debt = slower development.
Refactor code to get rid of tech debt to speed up the development again.
Which is basically doing the easy stuff first. There’s no tech debt and you can get a MVP up and running quite quickly with the intent of refactoring later, which almost never happens and then when you are filling in the details, you have the tech debt from the MVP slowing you down.
It’s easy to connect two features together.
It’s a lot harder to get a new feature to interact properly with 30 existing features. If you have to change one thing about an existing feature to get it to work, you now have to look at how the other 29 deal with that change too. And any changes to accommodate that change also could require their own changes in those 29… And it cascades.
That would be my guess also.
More code = more things that must be maintained = more things that can break. It’s natural that development slows down over time. Doesn’t necessarily mean there’s technical debt.
Complexity is inherent an unavoidable.
Because each feature is a cost.



