I hate vaporware
October 8, 2022Promised delivery dates are often naive at best, and dishonest at worst. Sell the product you have.
One reason I didn’t mention yesterday for deadlines in software development is marketing and sales pressure.
I saved this one for a separate post, because I think it deserves its own special attention.
As the argument typically goes, we need to know when features X, Y, and Z will be ready, so that we can promise them to potential clients who may go to a competitor if we don’t make such promises.
Far be it from me to tell every sales and marketing department how to run their business, but in my opinion, it’s just irresponsible to make such claims, and likely unethical (and depending on your industry/production, possibly even immoral).
I have no problem with roadmaps, and transparency with (potential) clients about the order in which we plan to address on their requested feature. But these should not be communicated as promised delivery dates.
Instead of “Feature Y will be released in Q3”, I prefer “We expect to begin working on Feature Y in Q2” or even better: “Feature Y is item two on our roadmap, so we expect to begin working on it in the next 3-6 months.”
And this isn’t just me expressing a preference for flexible roadmaps (although I certainly do prefer that). This is me expressing my belief that reality is such that making such promises cannot be done honestly. Software development is inherently unpredictable, so any promises that ignore this are at best naive, and at worst, dishonest.
This is why I hate vaporware.
As a general rule, I much prefer to sell the product I have, when I have it.
Why "Plans are worthless, but planning is everything" is (usually) BS
I'd rather see a conversation about planning, rather than ending debate with a cheap quip.
The importance of finger painting
Finger painting is an essential part of the Agile process.
Why do you estimate?
Estimates or no estimates? Unless or until you know why you want an estimate, even a "perfect" estimate is wasted.