How do you estimate timelines
Posted by bigppredditguy@reddit | learnprogramming | View on Reddit | 7 comments
Newbie here. I’ve got a decent amount of programming experience from school, extracurriculars, and career tech, but no real work experience yet.
One thing I can’t seem to figure out is how people estimate how long something will take. I constantly hear things like “we should have this done by X date,” and I don’t understand how that’s possible, especially on new projects where you’re still figuring things out as you go.
When I sit down to build something, I have no sense of how long it will take, or even whether I fully understand the problem well enough to finish it.
How does one develop this skill, is there a structured approach you guys use or is it just something you get better at with experience?
Ormek_II@reddit
One way is to actually plan. You break down what you think you will be doing and estimate the steps.
After the first iteration your doubts will increase so you double check everything and add all things your forgot in the first go. You also add risk buffers, because you realise all things that might go wrong.
With every iteration the effort increases and the time it takes you to do an estimate increases as well.
With enough experience you learn that the initial iteration was the best. So you should have taken that number and multiplied it by 1.5 or 2 or even 3.
But — from my experience — people take years to develop that trust.
Aglet_Green@reddit
My friend (and yours) Scotty says to always calculate a rough estimate in your head, then multiply that number by 4.
grantrules@reddit
Yeah, experience. And then multiplying estimates by 2.
Successful_Drawer467@reddit
Experience definitely helps but I still suck at it after few years lol. My professor always told us to break everything in smallest possible tasks and estimate each one separately - way easier than trying to guess whole project timeline
SchemeWestern3388@reddit
Time estimation for software development is famously difficult. See “The Mythical Man Month” from 1975 and others.
I avoid giving solid timelines like the plague. I’ve had things i thought would take a week take a few hours, and I’ve spent a week chasing down one showstopper of a bug for something that seemed easy.
Then there are the occasional things that, you know the entire stack, you’ve done very similar before and know the pitfalls. Those I estimate, and multiply by two, lol.
PoMoAnachro@reddit
It is impossible if you're still figuring things out as you go or unsure if you fully understand the problem well enough to finish. Impossible.
But eventually you'll gain experience enough that every problem will look at least a little bit like some other similar problem you've solved in the past and you can make a guess. It'll seldom be a good guess, but hopefully it'll be within a couple multiples of reality.
WorstPapaGamer@reddit
I have a realistic timeline in my head. Like 2 days. I’ll add 1-2 days more when I talk to my boss. For a client I’ll bump it to a week.
Obviously for more emergency issues the timeline is way shortened. But I always give myself 1-2 days if I can.