You are previewing 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.

part eightReleasing Software

thirty-threePICKING A SHIP DATE

TUESDAY, APRIL 9, 2002

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

Set a ship date, which might as well be arbitrary.

Make a list of features and sort them out by priority.

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. ...

The best content for your career. Discover unlimited learning
on demand for around $1/day.