I’ve had multiple posts in the past where I’ve stated in very logical reasons why I believe in estimates. I’ve been thinking of penning an emotional #NoEstimates post lately. This is it.
Recently a close family member underwent major abdominal surgery. As the surgeon said, all abdominal surgery is major. Things went exceptionally well due to the world-class surgeon and tough patient.
But there were two aspects of the event that were very interesting to me from a Software Development point of view:
Yep, the surgeon provided estimates. Not just to me, but to everyone participating in the operation. You see, he was using a lot of shared resources that need to be co-ordinated across multiple surgeons and departments. You can’t just operate and then try to plan the next surgery after it is complete. There would be too much down time with critical health care resources. So all the procedures are estimated and scheduled on a priority basis to make the best use of scarce resources.
The surgeon’s report was the other eye-opening experience. For all your Software Development professionals that think no other industry is as complicated at Software Development and therefore it is difficult to estimate, I recommend reading a surgeon’s report.
Every minute, there is a surgeon operating somewhere not knowing what he is going to find when he or she opens up a patient. And through their skill and tenacity they estimate the procedures and then do their work in the best interests of their patients no matter what the original estimate was. Just like in Software Development, it isn’t acceptable to not provide an estimate on the procedure. I’m not sure we would have chosen the surgeon if he stated he didn’t know how long the surgery would have taken.
The Emotional #NoEstimates part
We as Software Development professionals need to get over ourselves and lack of professionalism in thinking our industry is unique and we shouldn’t need to provide estimates. Do estimates have negative aspects? Yes, but it is our duty to handle those negative aspects and work with estimates. We need to be brave to offer our commitment and then work with our teams when those commitments may not be able to be met.
When were discussing the surgery, it was dicey as to if it could be done at all. The surgeon looked us in the eye, said that he was confident that he could be done and provided an estimate about the procedure and recovery. From that point on we were one team focused on the procedure and recovery. And when the surgery or recovery went longer we discussed the reasons together.
If we as Software Development professionals don’t provide estimates, I don’t believe we are being true teammates with clients. We are asking more from them than we are willing to give.
For it to be a true #NoEstimates partnership, we don’t need to provide estimates but would only get paid when a feature is implemented in production. If we don’t need to commit to the client, they should not need to commit to us until they want to buy the product. Equal risk for client and Software Developers…
Now how many #NoEstimates proponents would sign up for that?