Captain’s log, stardate 20160726
Sent by Jonathan Stark on July 26th, 2016
A bride emails you about helping her plan her wedding. You jump on a phone call with her. You speak for 30 minutes and she is perfectly delightful.
The bride says that she wants you to guarantee that it will be sunny on her wedding day.
You are taken aback for a second but politely explain that you are not in control of the weather, and that you are very sorry but you just can’t guarantee that it will be sunny on her wedding day.
In response, she explains all the reasons that she would like it to be sunny on her wedding day, and what a catastrophe it would be if it rained, and couldn’t you just make an exception in her case?
Her request is insane but still you experience internal turmoil. It’s perfectly reasonable for this bride to want a sunny wedding day, and you genuinely would love to be able to guarantee such a thing.
But it’s fncking impossible!
So what do you do?
Would you risk it and say, “Sure, I’ll guarantee a sunny day,” to get the gig and then hope like hell that it turns out that way? Of course not. That would be at certifiably bonkers and borderline unethical.
Or would you be honest and say:
“I dearly wish I could control the weather, but I can’t; in fact, no one can. But I understand your concern and would be happy to provide contingency plans for every possibility, be it wind, rain, tornado, or sandstorm. Would that be acceptable?”
Presumably, you’d opt for the honest “No one can control the weather” answer.
So why would you answer differently when a potential client ask you to commit to a deadline for a software project?
Any software project of the slightest significance is a collaboration between at least a dozen (or more!) people. You – as an outside consultant – have no more control over the responsiveness of the participants than you do over the weather.
Not even the client’s CEO can guarantee an on-time delivery for the project!
There are simply too many variables. Nobody has even a modicum of control over all of them.
Committing to a deadline on a software project is like guaranteeing a sunny wedding day - it’s understandable why the client would want such a thing but it’s an absurd request, and should be politely rejected as such.
Just like the wedding example, one thing you can do instead of agreeing to a project deadline is to offer contingency plans if the desired outcome is in jeopardy.
But this is just one of the options. I’ll be presenting the rest of them on a webcast tomorrow at 1pm ET.
Save your spot now:
There will be plenty of time for Q&A, so reserve your spot now!