part eightReleasing Software



One of the best reasons to make a detailed schedule is because it gives you an excuse to cut features. If there's no way to make the ship date and implement Bob's Sing-Along MP3 Chat feature, it's easy to cut that feature without making Bob feel bad.

So my basic rules for software release cycles are

  1. Set a ship date, which might as well be arbitrary.
  2. Make a list of features and sort them out by priority.
  3. Cut low-priority features every time you slip so as to make the date.

If you do this well, you'll soon discover that you don't regret the features that you cut. They're usually kind of dumb. If they are so important, you can do them next time. It's like editing. ...

Get MORE JOEL ON SOFTWARE: Further Thoughts on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whether by Good Fortune or Ill Luck, Work with Them in Some Capacity now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.