Joel Spolsky: Painless Software Schedules (2000)
3 months ago
- #project-management
- #software-development
- #scheduling
- Amtrak's Acela express train marketing campaign ran before the service was available, highlighting the importance of timing in product launches.
- Lotus delayed their 123 version 3.0 by 16 months to fit it into older hardware, by which time the hardware was obsolete and Microsoft had a lead with Excel.
- Netscape's decision to rewrite their browser from scratch led to a significant loss in market share, demonstrating the risks of major overhauls without a clear schedule.
- Creating a schedule is essential for software projects, yet many programmers avoid it due to perceived pain and lack of belief in its value.
- Using Microsoft Excel for scheduling is recommended over complex tools like Microsoft Project, as it simplifies the process and avoids unnecessary complexity.
- Schedules should include fine-grained tasks measured in hours, not days, to ensure accuracy and better planning.
- Only the programmer who will write the code should schedule it, as they understand the necessary steps and time required.
- Including time for debugging, integration, vacations, and buffer in the schedule is crucial for realistic planning.
- Managers should not force programmers to reduce estimates, as this leads to unrealistic schedules and demotivation.
- Schedules help in prioritizing and cutting unnecessary features, leading to a better product that ships on time.