← Back to context

Comment by iamflimflam1

9 hours ago

If you hired someone to do some work on your house, and they refused to give an estimate, would you be happy?

If you had a deadline - say thanksgiving or something - and you asked “will the work be done by then” and the answer was “I’m not going to tell you” would you hire the person?

The no estimates movement has been incredibly damaging for Software Engineering.

If work on a house was specified like a typical software project, no builder would even return your call.

"I'd like to have my roof reshingled, but with glass tiles and it should be in the basement, and once you are half way I'll change my mind on everything and btw, I'm replacing your crew every three days".

  • Sure, for roofing jobs or other large repairs, that’s true. But for remodeling it’s pretty different.

    When I’ve engaged with a contractor for remodeling, I usually have some vague idea like “we should do something about this porch and deck and we’d like it to look nice.”

    The contractor then talks to you about _requirements_, _options_, and _costs_. They then charges for architectural plans and the option to proceed with a budget and rough timeline.

    Then they discover problems (perhaps “legacy construction”) and the scope creeps a bit.

    And often the timeline slips by weeks or months for no discernible reason.

    Which sounds exactly like a lot of software projects. But half of your house is torn up so you can’t easily cut scope.

  • But the correct response to that is not - "I'm not going to tell you how long that will take" it's "let's work out what you are trying to accomplish".

    Though the "I'm replacing your crew every three days" does cut a little too close the bone...

Painting a wall has no “if then else”. You dont need to test to see if the wall has been painted.

I guess a fair analogy would be if the home owner just said “Make my home great and easy to use” by Thanksgiving without too many details, and between now ans thanksgiving refines this vision continuously, like literally changing the color choice half way or after fully painting a wall… then its really hard to commit.

If a home owner has a very specific list of things with no on the job adjustments, then usually you can estimate(most home contract work)

All software requests are somewhere in between former and latter, most often leaning towards the former scenario.

  • Building a house, adding an extension, replacing a bathroom, building a deck. Many unknowns - you'd still expect an estimate.

When there are huge unknowns, such as in the case of a remodel where who knows what you might find once the drywall is removed, then yes. I happily worked with a contractor on a basement renovation with no estimate for this exact reason.

If it’s something where they have fewer unknowns and more control and lots of experience building the same thing, then I would expect an estimate: building a deck, re-roofing a house, etc

My experience with contractors is limited, but in all nontrivial cases I recall they took longer than estimated and it ended up costing more.

For any slightly complicated project on a house the estimate assumes everything goes right, which everyone knows it probably won't. It's just a starting point, not a commitment.

  • Definitely so. Most business people that I've worked with do understand that. And provided problems are communicated early enough can manage expectations.

    Where I've seen issues is when there is a big disconnect and they don't hear about problems until it's way too late.

Anybody who worked with a local contractor knows that their estimate and the reality has no correlation.

When you ask for a firm estimate, you are basically asking to be lied to, and the contractor happily complies by telling you a lie.

  • These are just bad contractors. I used to work for a remodeling company. We came in under time on the vast majority of projects because the guy who ran the company knew what he was doing and built slack into the schedule.