An article by JoelSpolsky at
http://www.joelonsoftware.com/articles/fog0000000245.html .(The previous link, http://joel.editthispage.com/stories/storyReader$31 , appears to be dead.)
The scheduling process Joel describes is similar to the ExtremeProgramming PlanningGame, although it presumes WaterFall-style development. A few of the ideas presented are:
For those who'd prefer not to use Excel (as decribed in Joel's article) here is an XML/XSL version that can render in a web browser (Firefox/Opera/IE/Safari) http://willcode4beer.com/design.jsp?set=sched The idea is to spend less time playing with the schedule and more time working. Using a browser to render makes it more accesible and can simplify document control.
There is always the question of whether the blocks are of the right size. Many BigProjects? seem to define one gigantic block of wood the size of an office building. No-one has a box that big.
If you can chop the blocks up small enough, you can be very clever about which ones go in this release's box, and which wait until the next. And if you make sure that each block represents a HorizontalStripe across the application, you can actually package up meaningful releases that real people can use.
Then, of course, there is always the option of grinding the blocks into sawdust and using an industrial press to force them to fit. <g> -- BillBarnett
My secret to scheduling in a government contract environment.
The environment I am in requires much sequential formal documentation, and each document has its own review and approval cycle. In theory, we are to produce a Functional Requirements Document, Test Plan, System Design Document, then begin coding, then produce a Test Analysis Report, a Release Contents Document, a User Manual, and then turn over the software for independent test.
The documentation takes 4 - 6 months to generate and get approved, assuming no development time. The documentation effort really requires 1 - 2 people (3 in a pinch), and with a total staff of 9, I would have a lot of people sitting around surfing the web while the documentation is being produced. My projects are tracked and funded based on the document deliveries; strangely, the software is not a contract deliverable.
I don't claim this is the most efficient method of producing software, nor defend it, but this is the environment I must produce for. I am sure there are a significant number of managers and developers in similar environments.