Engineers hate estimating things.
One of the most-often quoted lines about estimation is “Hofstadter’s Law”, which goes:
Hofstadter’s Law: It always takes longer than you expect, even when you take into account Hofstadter’s Law.
If you want to deliver inaccurate information to your team on a regular basis, give them a 3-month-out product development timeline every week. This is a truism at every company at which I have worked over a varied career in software.
So, estimation is inaccurate. Now what?
Why do we need a product delivery schedule if it’s always wrong?
There is an answer to this question, too:
Realistic schedules are the key to creating good software. It forces you to do the best features first and allows you to make the right decisions about what to build. [Good schedules] make your product better, delight your customers, and — best of all — let you go home at five o’clock every day.
This quote comes from Joel Spolsky.
So, planning and estimation isn’t so much about accuracy, it’s about constraints.