Sometimes there’s a Heuristic That Almost Always Works, like “this technology won’t change everything” or “there won’t be a hurricane tomorrow”.
And sometimes the rare exceptions are so important to spot that we charge experts with the task. But the heuristics are so hard to beat that the experts themselves might be tempted to secretly rely on them, while publicly pretending to use more subtle forms of expertise.
…Maybe this is because the experts are stupid and lazy. Or maybe it’s social pressure: failure because you didn’t follow a well-known heuristic that even a rock can get right is more humiliating than failure because you didn’t predict a subtle phenomenon that nobody else predicted either. Or maybe it’s because false positives are more common (albeit less important) than false negatives, and so over any “reasonable” timescale the people who never give false positives look more accurate and get selected for.
In software development deadlines are a necessary evil. It is important to understand when they are necessary, and it is important to understand why they are evil.
Estimation: When estimating engineering work a substantial time investment is required by an engineer in order to get an accurate estimate.
Misaligned Incentives: There is an incentive to lie and give estimates much longer than the feature is truly expected to take.
Low Morale: Deadlines are likely to be missed often. Repeated failure has a cost to the morale of the team.
Micromanagement: Deadlines are wielded by middle managers as a whip to harass and annoy engineers working on features.
High Stress: When engineers feel the pressure of other stakeholders holding deadlines over their heads it creates an environment of high stress.
High Turnover: On teams with high turnover rates the best engineers have an easy time finding new work and leave quickly, the worst engineers have a difficult time finding work and remain. This selects for a lower quality team over time.
The resolution is simple. Never have internal deadlines. Operate on a prioritized and ordered list of features. Estimate only when necessary to prioritize and do so in a t-shirt sizing way. Trust your engineers and they will begin to love their work. Engineers who love their work are happy and productive.