| > Can we stop pretending we can forecast the unknown Within reason. Ive worked in orgs where there is no estimate at all, and that bring a different set of problems (unbound projects and no work getting done because of the complete lack of pressure). Now you're totally right: software engineers rarely do the same thing (or even similar things) twice, so estimating is somewhere between "very hard" and "impossible". "Scoping" however is still needed. If you ask me "How long will it take to add a button to this page", that's a very ambiguous question. I can solve the problem in a few ways:
- Tack on a plain html button element
- Add a button from an existing styleguide/library/design system.
- Build our own button component instead of reusing one.
- Build a full blown button editor that allows a non-software engineer to use a WYSIWYG editor that will create their own custom button and insert it on the page without code. Now obviously there's a range between these, going from a few seconds (plus deploy), to months or years of work. The project/product/whatever managers and the tech leads/engineers need to work together to agree on scope. An arbitrary deadline can be picked and then engineers have to do whatever they can up to that deadline. Or we can agree on minimum functionalities with onbound deadline that MUST be created regardless of how long it will take. Realistically, successful projects will be a mix of both, along with various forms of padding and revisiting estimates along the way to account for unknown and mistakes. |
I would say it may be due to more of a lack of focus.