Why Does Development Slow? (tidyfirst.substack.com)
from codeinabox@programming.dev to programming@programming.dev on 20 Nov 10:40
https://programming.dev/post/41048946

#programming

threaded - newest

NABDad@lemmy.world on 20 Nov 10:54 next collapse

Maybe I’m not looking deep enough into the question, but wouldn’t this be because we do the easy parts first?

MyNameIsRichard@lemmy.ml on 20 Nov 11:04 next collapse

That would be my guess also.

falseWhite@lemmy.world on 20 Nov 11:24 next collapse

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.

MyNameIsRichard@lemmy.ml on 20 Nov 13:36 collapse

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.

Bronzebeard@lemmy.zip on 20 Nov 14:41 collapse

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.

falseWhite@lemmy.world on 20 Nov 11:21 next collapse

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.

calliope@retrolemmy.com on 20 Nov 12:27 collapse

Refactoring is great, but there’s more.

The larger a project is or the busier developers are, the harder it is to become acclimated to parts of the code, too.

There are a few more examples from the article:

Bugs pile up. The build slows. Backwards compatibility imposes its own tax on progress. Original team members move on, while new members take time to acclimate.

He doesn’t mention this, but it also takes time to re-acclimate yourself to things you wrote six months ago. Good code and tests help but developers are human beings.

MonkderVierte@lemmy.zip on 20 Nov 11:41 next collapse

Because each feature is a cost.

Ludicrous0251@piefed.zip on 20 Nov 12:51 next collapse

Technical debt aside of course the development process looks like that - what’s the alternative? Infinite feature growth? No one benefits from that.

As an example, I’ve got signal on my phone- it started with texting features, added images, calls, video calling, but at some point there’s a limit on the number of useful ways to communicate.

I don’t need it to be another social network.

I don’t need it to tell me my horoscope, order a pizza, or organize my photos.

I don’t need it to track my health, play games, read my work emails, or drive my car.

It doesn’t need to integrate with VR, or AI, or whatever 2-letter buzz acronym comes up next week.

It’s a secure messaging platform, I need it to send messages. Sure, there’s always a cat and mouse game of encryption to keep ahead of, but infinite feature growth? It’s not practical or necessary. Things can exist to do one thing reliably and well.

Vincent@feddit.nl on 20 Nov 13:09 collapse

I’m very happy they’ve got polls now though, that’ll streamline a lot of communication. Live location sharing would be good too.

magic_lobster_party@fedia.io on 20 Nov 16:34 next collapse

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.

bestboyfriendintheworld@sh.itjust.works on 21 Nov 14:09 collapse

Complexity is inherent an unavoidable.