3 ms·
This remains great reading for software estimation: https://www.researchgate.net/publication/247925262_Large_Limits_to_Software_Estimation https://www.researchg
by gilbetron 2y ago
This remains great reading for software estimation: https://www.researchgate.net/publication/247925262_Large_Limits_to_Software_Estimation https://www.researchgate.net/publication/247925262_Large_Lim...
I'm barely even interested in talking about the subject anymore - estimating software is only useful as an alternative viewpoint to help understand what you are building. Nobody accurately estimates complex software in any meaningful way. Even min/max/most-likely estimation isn't that useful, but ok to think about.
Hidden complexity and simplicity lurks everywhere. "3 month projects" turn into 3 day projects because of an unknown tool. Or a simple problem (think fermat) turns out to be insanely complicated.
The core issue is that when you create a function, or module, or whatever, you never need to do it again. So you are always creating new things. If you are writing the same code again and again, you are bad. Now, the past 10 years or so, that was less true as we wrangled with yaml configs and gluing together pipelines and modules and services. But I think AI is really good at that stuff, so I think we'll be back to always working on original things.
And that doesn't even take into consideration legacy codebases - good luck estimating changes to those ;)