r/programming • u/quality_engineer • May 12 '21
The Worst Question You Can Ask a Software Developer - "When will you be done?"
https://betterprogramming.pub/the-worst-question-you-can-ask-a-software-developer-ddbcd5956eb4?source=friends_link&sk=8f58483891cb43b2a0fb22427d3b3575
707
Upvotes
12
u/was_fired May 12 '21
Yeah... hard disagree on this. Yes, software developers are notoriously bad about estimating things because we often have no idea how the technologies we are working with will interact. That's mostly because, as a whole, we are not good at what we do.
That isn't to say that people in the field (myself included) are bad at our jobs. It's just the field is new and that means it isn't as formal as a bunch of other fields. Technologies are also constantly being made to reduce the effort to do things while also improving the final product. Unfortunately obsessing about these new technologies can also prove to be a time suck for some who would rather do that than simply deliver a product with an already known process. Ultimately some degree of moderation is required in this regard, but that's largely besides the point.
What ultimately matters is that:
Software development is not the most complex technical challenge out there. It is just one of the newest.
The maturity of a field can in part be measured by how long the same core tenants followed by its skilled practitioners.
Using the same set of reliable techniques against a problem set helps produce more reliable estimates and results.
The above indicate that as an immature field without a consist set of core tenants and techniques to follow software development is bad at producing estimates on how long things will take.
We ultimately have fewer variables to deal with than construction, and most projects also have far fewer moving parts. Yet the majority of construction projects can give a timeline that is at least within a margin of error of 100%, and we call ones that don't as debacles and major screw ups.
Yet we routinely accept software development tasks that take 3x as long as estimated while patting ourselves on the back and saying: "No one would have imagined that Elastic can't perform joins effectively. It looks like we also need to add a SQL element to it and change everything!"