Live data from Hacker News

Ask HN: How do you do estimates in 2021?

news.ycombinator.com

51–60 of 102 posts

Re: Ask HN: How do you do estimates in 2021?

#51

Earlier quoted context omitted.

> Don't estimate. They don't matter and nobody cares about them anyway. Except for when potential clients ask your company: "How much implementing a system to do X would cost?" If your company attempts to calculate this based on how many people would be needed to cover the scope and what the technical complexity of the implementation would be like, then you need to give an answer as a developer, so that the sales dep…

> Except for when potential clients ask your company: "How much would implementing a system to do X cost?" And what do estimates provide here, that sales just picking a number doesn't? Estimates are made up numbers. They're estimates. Also this line that you omitted answers your question more directly: > If you're a sales driven/feature factory company, the estimates won't matter anyway as you'll demand to meet your…

> And what do estimates provide here, that sales just picking a number doesn't?

Example #1:

  - a company in the industry asks your company to implement $FOO, they want to know how much it'd cost
  - the sales people talk to the engineers, who come up with a certain amount of time it could take
  - the sales people turn this into a monetary figure of $X
  - a contract is made, the project proceeds to be developed, probably with some delays and overruns, but works in the end and is profitable
Example #2:

  - a different company in the industry asks your company to implement $BAR, they want to know how much it'd cost
  - the sales people decide that $BAR is similar enough to $FOO and that there's no need to consult the engineers, they just give a similar estimate
  - turns out that the project MUST be made for JavaEE, since that's what the company is using
  - turns out that the project MUST work on Java 8, since that's what the company is using
  - turns out that the project MUST use Oracle DB, which then requires licensing and particular setup for the environments
  - turns out that the project MUST use GlassFish and instructions must be written for it, because deployments will be done by the clients' Ops person
  - turns out that the project MUST be deployed as a .war file, because of the above
  - turns out that the project MUST work in RHEL 7 because that's what the clients are using, same situation as with Oracle
  - turns out that the project MUST have both a test coverage of >80% and integration tests, which weren't a consideration in the previous project
  - turns out that the project MUST support IE because for some reason that's what the employees of the client company are using
  - as a consequence, the technical implementation takes about 200-300% longer than previously estimated
  - the project is no longer profitable and is a net loss for the company
Example #3:

  - there's yet another company that asks for $BAZ, they want to know how much it'd cost
  - the sales people had a really bad time with that last project, so this time they decide to increase the estimate
  - turns out that this new project does not have any of those constraints
  - because of this, the estimate is really large
  - the company looks at this and decides to go with your competitor instead
  - your company loses out on the opportunity of working on the project entirely
In the example #1, the ballpark figures were accurate enough for the project to be done in a profitable manner. In example #2, there were factors that weren't considered and would result in either contractual penalties, the clients deciding to break the contract because you can't deliver on time, or to take you to court. In example #3, past data was used in an inaccurate way due to not being applicable to the constraints at hand (or lack thereof).

Of course, the above happens when you're in a market that requires estimates as a part of BOMs, which is a lot like bidding on projects and is just a race to the bottom for the most part.

Re: Ask HN: How do you do estimates in 2021?

#52

Earlier quoted context omitted.

> Except for when potential clients ask your company: "How much would implementing a system to do X cost?" And what do estimates provide here, that sales just picking a number doesn't? Estimates are made up numbers. They're estimates. Also this line that you omitted answers your question more directly: > If you're a sales driven/feature factory company, the estimates won't matter anyway as you'll demand to meet your…

> And what do estimates provide here, that sales just picking a number doesn't? Example #1: - a company in the industry asks your company to implement $FOO, they want to know how much it'd cost - the sales people talk to the engineers, who come up with a certain amount of time it could take - the sales people turn this into a monetary figure of $X - a contract is made, the project proceeds to be developed, probably w…

> Of course, the above happens when you're in a market that requires estimates as a part of BOMs, which is a lot like bidding on projects and is just a race to the bottom for the most part.

Yeah this, to me, totally invalidated the rest of your example. Pick a low number to win the bid, blow the timeline/estimate, require more money to do anything at all. It is not clear to me that any "estimation" changed this calculus at all.

Re: Ask HN: How do you do estimates in 2021?

#53
post #48
post #37

Estimates that are most successful, in my experience, leverage four perspectives: realistic (for people who prefer a quick approximation), optimistic-pessimistic (for people who prefer ranges and risks), and equilibristic (for people who leverage critical path and critical chain). The mnemonic is ROPE. https://github.com/SixArm/sixarm_project_management_rope_est... Estimates as work-hours by the person most-likely to…

Did you mean to link here? https://github.com/sixarm/sixarm_project_management_rope_est...

Yes thank you so much for that good catch. Much obliged!

Re: Ask HN: How do you do estimates in 2021?

#54
A few related threads from the past year or so:

Defense against the dark art of estimation bargaining (2014) - https://news.ycombinator.com/item?id=28208859 - Aug 2021 (71 comments)

Guide to Software Project Estimation - https://news.ycombinator.com/item?id=28047973 - Aug 2021 (40 comments)

Software estimation is hard – do it anyway - https://news.ycombinator.com/item?id=27687265 - June 2021 (230 comments)

How I started believing in Cycle Time over Estimation - https://news.ycombinator.com/item?id=26165779 - Feb 2021 (34 comments)

Software effort estimation is mostly fake research - https://news.ycombinator.com/item?id=25825244 - Jan 2021 (308 comments)

Back of the envelope estimation hacks - https://news.ycombinator.com/item?id=23278405 - May 2020 (77 comments)

(obviously there have been many more, going back further)

Re: Ask HN: How do you do estimates in 2021?

#55
post #40

Earlier quoted context omitted.

When prioritizing, it's not always obvious which items are big vs small. How do you provide that feedback to PM during prioritization? Sometimes implementing what should be a simple feature requires a month of refactoring some old technical debt. And sometimes what seems like a very complex feature is actually just a matter of enabling a flag on some third party component you're already using. All is us have likely e…

> When prioritizing, it's not always obvious which items are big vs small. Why does the size of the work that needs to get done matter? If you need it you need it. If you don't, you don't. If you want a fast fix, note it. Speak in outcomes. "The lowest amount of work possible to get us ________" > All is us have likely experienced "why is x taking so long?? I wouldn't work with a PM that disrespected me like that. >…

> Why does the size of the work that needs to get done matter? If you need it you need it.

Generally, I would agree, but I've seen cases where it mattered, because the value of a feature would become 0 after a set date. For instance, we needed a specific feature to fulfill the requirements for a (massive) contract, and you could only apply for the contract until a specific date. The value of this feature outside this scope was pretty much zero.

Re: Ask HN: How do you do estimates in 2021?

#56

Earlier quoted context omitted.

> When prioritizing, it's not always obvious which items are big vs small. Why does the size of the work that needs to get done matter? If you need it you need it. If you don't, you don't. If you want a fast fix, note it. Speak in outcomes. "The lowest amount of work possible to get us ________" > All is us have likely experienced "why is x taking so long?? I wouldn't work with a PM that disrespected me like that. >…

> Why does the size of the work that needs to get done matter? If you need it you need it. Generally, I would agree, but I've seen cases where it mattered, because the value of a feature would become 0 after a set date. For instance, we needed a specific feature to fulfill the requirements for a (massive) contract, and you could only apply for the contract until a specific date. The value of this feature outside this…

> Generally, I would agree, but I've seen cases where it mattered, because the value of a feature would become 0 after a set date. For instance, we needed a specific feature to fulfill the requirements for a (massive) contract

As I said, you put it at the top of the backlog and alert the team of a new deadline. You work on it until the deadline. If you make it, great, if not, you move on. Asking for an estimate wouldn't have made you make it, it might've only prevented you from trying.

Re: Ask HN: How do you do estimates in 2021?

#57
I would prefer not to estimate at all because estimates are, in the Lean sense, waste: i.e., something that your customers don’t value.

Unfortunately, that argument never worked with my managers at project budgeting time.

As a result, because I was really bad at estimating, I spent a day teaching myself function point (FP) estimation. I also found a chart detailing how many hours of effort an “average” organization required to build projects of varying FP sizes. This meant that it was easy to make a simple spreadsheet using the chart data and Excel’s FORECAST function to generate estimates.

With that approach, my subsequent projects were always within 10% of the estimate, which is much better than my pre-function-point estimates. Combining that approach with the Agile idea of working on the most important features first meant that my projects were largely free of drama come deadline time.

Re: Ask HN: How do you do estimates in 2021?

#58
My team landed on a process of breaking projects down into milestones and then tasks and being consistent with buffers for both internal and external parties.

As a side project, I actually built a tool to help with this: "Calculeeto" (http://calculeeto.herokuapp.com/). Besides walking you through the process of breaking down your project and adding buffer, it also has features to assign dependencies and generate a schedule based on number of teammates -- it even adds time for communication overhead: http://calculeeto.herokuapp.com/?debug4

I never launched or finished it but it seemed useful.

Re: Ask HN: How do you do estimates in 2021?

#59
post #38

I read this somewhere about how to do estimates and it has stuck with me: "Double the number and increment the unit." This is a simple formula to calculate how long something takes to go from idea to production. So, 3 hours becomes 6 days; 2 weeks is 4 months, etc. Enjoy!

So 4 months is 8 quarters or 8 years?
Post reply on HN