Businesses need timelines. Software development is difficult to predict. Both things can be true.
The problem starts when a planning estimate becomes a promise. Software work is closer to writing a novel than working on a factory line. Progress is uneven, and the hardest problems often become visible only after the work starts.
I use a few rules to keep business planning and software work from fighting each other:
- Treat dates as planning tools. Dates help coordinate budgets, marketing, and other teams. They do not make uncertainty disappear.
- Define the outcome first. “Improve customer retention” is an outcome. “Finish the redesign in six months” is a plan. If the plan stops supporting the outcome, change it.
- Measure continuous progress through shipped value, customer behavior, and system health. Task completion is a poor substitute.
- Limit the cost of being wrong. Break large plans into smaller releases and use each result to adjust the next one.
- Explain uncertainty clearly. Teams should describe what they know, what they do not know, and which discoveries could change the estimate.
This does not mean timelines are useless or that teams should avoid accountability. It means accountability should focus on producing value and communicating risk, not pretending that uncertainty is gone.