The process we follow for releasing software starts with a design planning meeting. It has a form to plan the release and a full grant chart is supposed to be attached to the document. All of this happens before any code is written. The end date is chosen before we get a chance to dig into the details. The schedule always needs to be adjusted. The plain never stays the same. And it always is late. The dates are chosen so far in advance with an optimistic mindset that it is nearly impossible to keep them.
Planning is useful when you need to coordinate with other groups. But only a couple weeks in advance. I don’t know how many times a deploy has been scheduled a month or so in advance and that date is never hit. But we can plan what needs to be done and then work on the highest priority items until we finish.
In conclusion, I like to plan what needs to be done but things go awry when you schedule them.
Note: This is a series of posts inspired by re-reading Rework, by DHH and Jason Fried.