Ask HN: Client wants me to set estimates and not go over... What should I do?
But recently a feature took substantially longer than estimated (they pressured me to lower an estimate, and I stupidly caved). Now they're asking that I make an estimate for a feature, get approval, and then not bill for more than the estimate.
What do folks think I should do? To me, software engineering is fundamentally a chaotic activity. Sometimes something you think will take an hour takes a day.
What seems fair to me is that I set an estimate, and then bill for the estimate, regardless of how long it actually takes... that way my underestimations are compensated with my overestimations. Then I can track my velocity and over time get paid for the time I actually work, rather than constantly absorbing the overages.
What do other folks do?