Listen to this post
In the article Death by 1000 Cuts, I summarized the current state of software quality. I mentioned that we are all experiencing issues daily, and it’s wearing us down.
Date Driven Development is the primary reason software has so many glaring issues. In the consumer software world, this is especially true. Software is shipping based continuously on meeting deadlines. In most scenarios, the software is not shipped with intention but instead at the mercy of a deadline. This scenario is soul-crushing; some hapless soul invented it. Why do we humans think that making a date the driver rather than a meaningful purpose is a good idea?
Death marches instill dread in people, especially in a software developer. The infamous Death March is the reaper in the memories of the damned. If you’re one of the uninitiated, the Death March forces developers to work as many hours as humanly possible. Woe to the programmer that gets caught in the death march. The death march is one of those things that should never happen. It is inhumane to force people to work continuously to meet a release date.
The goals should be human.
- Create reliable experiences
- Build rock-solid architectures
- Value the people that use my software
Unfortunately, that’s not the real world that we live in today. The date is king and continues to rule the day. In some societies, this reality is invalid, and it should be invalid everywhere.
Blizzard Entertainment is a company that defies the due date. Their products are a limited set of top-quality releases. Most people have no idea when an updated version will drop or if it will drop. It defies Date Driven Development, and the quality shines through in their products. We should all engage in this behavior in our daily lives. They are producing the highest quality product with dates out of sight and out of mind.
- Focus on your customer’s needs
- Test everything and be ready to ship at any moment, due dates will start to lose their meaning
- Deliver value; dates don’t deliver value
- Under-promise and over-deliver