Hasty Briefsbeta

Bilingual

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.