TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Yes, You Should Estimate Software Projects – The Pragmatic Engineer

27 pointsby absolute100about 4 years ago

4 comments

dalyabout 4 years ago
In 50 years of programming I found:<p>(a) time estimate are dangerous. In one case the leader of our team estimated 5 people for 5 months. The company wrote a fixed-cost contract. After 10 people for 18 months the company folded.<p>(b) time estimates are meaningless. All of the software I worked on was new. There was no &quot;prior art&quot; to ground the estimate. Projects were almost always &quot;late&quot;, mostly due to changing requirements.<p>(c) time estimates assume a known future. Who expected the pandemic? (Or the Spanish Inquisition?). How good is your estimate when the 6 people you could &quot;hire&quot; are all rejects from other projects because they can&#x27;t program?<p>(d) time estimates assume a known good tool set. CorelDraw won&#x27;t run on your old Mac but the company won&#x27;t pay for new hardware. Microsoft pushed out a &quot;destruction tuesday&quot; update and now your machine won&#x27;t boot. Somebody &quot;upgraded&quot; the library software and now your code won&#x27;t compile. And don&#x27;t get me started about chasing a compiler bug (I&#x27;ve fought 5), each costing an unplanned week. Or hardware bugs (3 times), that basically stopped the project until they were fixed.<p>(e) time estimates will cost you time and money. Suddenly everything become a crisis. Cancel that vacation. Work nights. Work weekends. Nobody gets a raise if this is late.<p>(f) time estimates WILL be used against you. Managers write down the &quot;estimate&quot;, stick it in a drawer, and when &quot;blame time&quot; comes you can be certain to be &quot;to blame&quot; for a bad estimate.<p>I know you think I&#x27;m wrong. You &quot;just know&quot; my &quot;lived experience&quot; is nonsense.<p>You can&#x27;t estimate software. Get over it.<p>Read &quot;The Mythical Man Month&quot;.
评论 #27020443 未加载
评论 #27097096 未加载
swaggyBoatswainabout 4 years ago
Estimating is really hard. It&#x27;s not something I&#x27;ve had to do until my current role leading frontend development efforts.<p>It takes me several days to come up with a plan of action for planning several months of work for the team. In this action plan, I map out every task that needs to be done, and figure out which tasks that can be done in parallel. Which ones have dependencies on each other. How to prioritize features that matter first. Which things need more discovery. Which features are high risk and how to mitigate. How to do a progressive demo to the stakeholders while still leaving time to tackle tech debt. How to divvy up tasks efficiently between teams so resources are utilized properly.<p>The article captures my thought process on time estimation. Being able to make an estimate, and deliver on it, can really drive your career. Businesses almost always have a hard deadline. You have to be able to put yourself in everyone&#x27;s shoes but with enough practice it&#x27;s not so bad. Being able to commit to this plan let&#x27;s you have conversations to deviate or adjust as needed. No estimations are ever 100% accurate, but getting something close makes planning each sprint significantly easier
absolute100about 4 years ago
Gergely Orosz captures extremely well my thinking regarding time estimation. Being able to provide time estimation is a skill you should practice and improve. It will help you improve your project management skills and your communication skills. It will help you set more explicit expectations early on. It will help you deal with risks and how to mitigate that. It will help you build trust within the organization. The tradeoffs are essential: &quot;Pushing back on estimates also misses the bigger point about engineers staying focused on delivering the largest business value... For every major project, we shipped something different on the launch date, than what we agreed to originally&quot;. Like everything that is important, people (Dilbert type of managers) will find ways to abuse it. When that happens, find a better place to work at. Don&#x27;t sacrifice your ability to learn, grow, and increase your impact.
jdlshoreabout 4 years ago
This piece seems to be missing a key idea of the #noestimates movement: that it’s possible to forecast delivery dates without estimating.<p>Whether that’s true or not is open for debate—personally, I think the #noestimates folks are just replacing estimating with story splitting, which is essentially the same work—but by missing this point, the article is a rather long fight with a straw man.<p>Admittedly, when I saw the straw man, I started skimming, so I may have missed something important in the article.