Most active commenters
  • zeroCalories(6)
  • em-bee(3)

←back to thread

388 points replyifuagree | 25 comments | | HN request time: 0.666s | source | bottom
1. zeroCalories ◴[] No.37965404[source]
Management has to push for lower estimates because developers have an incentive to overestimate to make life easier. The only situation where this isn't a problem is with eager junior devs, and devs that have direct skin in the game, such as at startups or a department about to be cut for being unprofitable.
replies(7): >>37965441 #>>37965475 #>>37965710 #>>37965713 #>>37965717 #>>37966081 #>>37969203 #
2. phanimahesh ◴[] No.37965441[source]
Also any estimate providedwill be pushed downwards, not to mention unforeseen curveballs, so there is an incentive to estimate higher to preserve your own sanity. Some don't learn to estimate higher until they get burnt.

Another common pitfall is to estimate each task in isolation, and the people receiving the estimates considering them timelines. Effort estimates and delivery timelines are wildly different beasts and great care has to be taken to avoid miscommunications.

3. ejb999 ◴[] No.37965475[source]
>>Management has to push for lower estimates because developers have an incentive to overestimate to make life easier.

Bingo, having just left a mega-corp this is the status-quo of a lot of projects I had visibility into - take a trivial task, estimate it at 8-13 story points (i.e. the whole 2 week sprint), have nobody question the estimates, complete the story in 1-2 days and then chill for the other 8-9 days left in the sprint. It was pretty much an open secret.

...and nobody gets faulted by management, because they completed the story in the time they committed to.

On the other hand, if you had estimated the task at 3 days, and it ends up taking 5, you would get dinged for it. Estimate the same task at 13 story points, even if it was really only a 3, you were rewarded for meeting estimates - its a very perverse incentive structure.

replies(4): >>37965773 #>>37965956 #>>37966047 #>>37966837 #
4. Buttons840 ◴[] No.37965710[source]
> Management has to push for lower estimates because developers have an incentive to overestimate to make life easier.

Developers have to push for higher estimates because management has an incentive to underestimate to make life easier.

See what I did there? There's a fallacy in both statements: one side's actions are portrayed as greedy pursuit of "incentives" while the other side's actions are portrayed as a natural and logical counter to those incentives.

replies(1): >>37966096 #
5. throwawaysleep ◴[] No.37965713[source]
You punish us for being ambitious and failing and give us nothing for being ambitious and succeeding.

As a developer, I endorse doing as little as possible as a result.

replies(1): >>37966160 #
6. ◴[] No.37965717[source]
7. ◴[] No.37965773[source]
8. rightbyte ◴[] No.37965956[source]
Ye. If the estimates are accurate they will be overrun about 50% of the time. Punishing "late" tickets is what leads to the outcome of having to pad the estimates as much as possible.
9. DiskoHexyl ◴[] No.37966047[source]
Predictability is arguably more important than speed, especially when you have a lot of moving parts. When you have a developer that is slow, but constantly delivers on his estimates, you have a reliable IC that you can count on not failing to develop an API for some other team to integrate with. Fast and ambitious guys, who frequently fall behind their own estimates, are a pain in the ass to manage in large teams/companies.

Sure, with startups on the bleeding edge and with RnD it's different, but most of devs aren't doing that

replies(1): >>37966566 #
10. nonameiguess ◴[] No.37966081[source]
Estimate high is the mathematically most valid thing to do in the face of uncertainty. This is more or less the fundamental theorem of finance. Expected rate of return increases with risk as compensation for the risk. Project planning should be following the same principle. If you're uncertain of traffic conditions, you leave earlier to be safe. If you're uncertain of future work unknowns, you estimate longer completion time to be safe.

If management is pushing for lower estimates, it's typically going some reason along the lines of:

- Someone higher up gave them a fixed budget or a fixed deadline and they can't exceed that.

- They're expecting market conditions to reward earlier delivery more than higher quality.

- They don't understand the problem domain.

- They do understand the problem domain but don't understand limiting factors like tech debt or organizational process hurdles the developers face that preven them from hitting timelines they would hit under ideal conditions.

If it's one of the latter two, they need to have a come to Jesus moment with themselves because you can't run a team if you don't understand what they do, how they do it, and what obstacles they face.

If it's one of the former two, great, communicate that, but then whoever is ultimately accepting or using your product needs to understand the basic release models that you can either get a complete set of well-defined features or you can get a specific release date but you can't get both, except by luck. And you need to have an organizational culture that isn't going to punish developers if they don't get lucky and meet only one of those goals.

Companies purchasing labor output don't get to violate the basic constraints of being a consumer. If you've got a fixed budget, fine, but you get what you pay for.

11. zeroCalories ◴[] No.37966096[source]
You're reading too much into the morallity. Furthermore how is it a fallacy?
replies(1): >>37966336 #
12. zeroCalories ◴[] No.37966160[source]
This is a very childish way of viewing the situation. Of cousd you should look out for yourself, but your reward is not fixed, so you should not look to minimize your work at all costs
replies(1): >>37969198 #
13. em-bee ◴[] No.37966336{3}[source]
it's a fallacy in that it implies that one side is right and the other is wrong. (or one side is fair and the other is greedy)
replies(1): >>37968686 #
14. orwin ◴[] No.37966566{3}[source]
Fast and ambitious guys, who frequently fall behind their own estimates

I wasn't particularly fast, but I was this guy for a year. You're exactly right.

15. ResearchCode ◴[] No.37966837[source]
How about getting rid of the "stories", "points" and "sprints" altogether? Not only is the nomenclature abhorrent, the best software projects don't use enterprise agile methodology.
replies(2): >>37967044 #>>37969816 #
16. ejb999 ◴[] No.37967044{3}[source]
I agree, but a lot of big companies are all in on Agile and you (as a developer) don't really get a lot of say on the matter.

Some high-paid consultants got paid a lot of money to sell it to the CEO, who then mandates it....so we are stuck with it ...until those same consultants have some other methodology-du-jour to sell.

replies(1): >>37968517 #
17. ResearchCode ◴[] No.37968517{4}[source]
Forcing every team in the company to use the same project management framework because consultants who never created great software claimed it's a panacea. Interesting decision.
18. zeroCalories ◴[] No.37968686{4}[source]
My argument is not assigning blame, but explaining why the article will not convince many managers. It works assuming either side can be greedy or fair.
replies(1): >>37970220 #
19. throwawaysleep ◴[] No.37969198{3}[source]
My reward is fixed as my salary is fixed.
replies(1): >>37970276 #
20. marcosdumay ◴[] No.37969203[source]
> developers have an incentive to overestimate to make life easier

Have you ever seen developers overestimate their tasks? On what kind of alternative dimension this happens?

Developers are always deluded optimists that can't get realistic estimates no matter how much they inflate it.

21. P_I_Staker ◴[] No.37969816{3}[source]
In my view, it's fine if it's not treated a performance metric, for the individual devs.

I saw a lot of questionable tactics stem from this. It's like when you play capture the flag, and focus on the "KDR" metric, as is often done.

Critical people who were saving the teams life and working their fucking asses off would get grilled and questioned; not intentionally, but as a natural extension of these processes. Meanwhile, people that scored easy points would get a pat on the head, then sit silently during the sprint review; thankful that they got the easy path this sprint.

It got to the point of absurdity. I think it could make sense to look at sprint points during planning, but then the total bank of points goes to the team; who scored what should be anonymous... this was one of those ideas you have that you know you can never share, lol.

22. em-bee ◴[] No.37970220{5}[source]
many projects everywere are failing their estimates. so the idea that developers overestimate the time it takes to complete a project is not supported by statistics.

Management has to push for lower estimates because developers have an incentive to overestimate to make life easier.

this statement as written clearly supports management and puts blame on developers. if that wasn't your intention then it could be expressed more neutrally:

management pushes for lower estimates, because they believe that developers intentionally overestimate, therefore this article will not convince them

my response to that would still be the same though. statistics don't support that developers overestimate. on the contrary, one might even be motivated to claim that projects failing their estimates is caused by these managers.

replies(1): >>37972659 #
23. zeroCalories ◴[] No.37970276{4}[source]
For most people it isn't. Most jobs offer raises, promotion, and bonuses for high performers. Low performers get PIP, salary adjustments, and layoffs. If you work at a competitive place like Amazon or Microsoft, there isn't even a floor for performance because you'll be stack ranked. But hey maybe you work some of the few high pay / low effort jobs where it's impossible to get fired.
24. zeroCalories ◴[] No.37972659{6}[source]
> many projects everywere are failing their estimates. so the idea that developers overestimate the time it takes to complete a project is not supported by statistics.

Can you cite your own statistics? But even granting your assertion, it still would not matter because in the end the project will be done sooner the more pressure is put on, so it's better to underestimate and plan for delays than to over estimate. Managers often have two different deadlines for projects: the official deadline, and the real deadline. They simply don't tell their reports the real deadline. At many tech companies it's not unusual that a team will only make 70%-90% of their OKRs, and if they consistently make 100% they are said to be too conservative in their ambitions and encouraged to do more.

> this statement as written clearly supports management and puts blame on developers. if that wasn't your intention then it could be expressed more neutrally:

I believe my intention was clear from the other responses I got that understood what I was saying. But that's not just what management believes, I also believe that, so your version would not be a better expression of what I meant.

replies(1): >>37976318 #
25. em-bee ◴[] No.37976318{7}[source]
a quick search on failing software projects suggest a 70% failure rate. over budget (which i see as a proxy for taking longer than estimated) seem to be above 50%.

here is one source that appears to be neutral:

https://blog.gitnux.com/software-project-failure-statistics/

another that suggests one third of completed projects have cost or time overrun:

https://www.bcs.org/articles-opinion-and-research/a-study-in...