3 ms·
It's astonishing how many developers resign to the idea that "estimating software projects is impossible". It's impossible when there are either, - Technical u
by amirathi 7y ago
It's astonishing how many developers resign to the idea that "estimating software projects is impossible". It's impossible when there are either,
- Technical uncertainties (e.g. self driving cars)
- Human uncertainties (multiple different teams building single large software system)
- Scope uncertainties (we don't know what we are actually building until we get into the weeds)
Outside of these we should be able to make reasonably accurate (+/- 30%) estimates. I wrote a blog [1] about it if someone is interested but here are the main takeaways,
- Don't just estimate writing code but also include time required for testing, documentation, communication, setting up infra/deployment
- If certain part is hazy ("is there a reliable python library for speech to text") then research it enough to know the path ahead
- Breakdown the system into smaller units until you feel confident to estimate each piece
[1] https://blog.amirathi.com/2018/02/05/science-of-software-estimation/ https://blog.amirathi.com/2018/02/05/science-of-software-est...
- marcosdumay 7y agoScope uncertainty is always larger than the certain part. It's often nearly all of the scope. Technical uncertainty is also more common than not, unless you are using a dying platform, it will change between the estimation and implementation. Human uncertainties are an avoidable one, if you work alone. If you are in a team, they are also certain. Or, to put it shortly, yes it's perfectly possible if you are doing a university project alone in an old platform without an active community.