Tuesday, 18 June 2019

Delivering Estimates and the 5 stages of 'good grief'

It's an interesting characteristic of software development estimates that, while often requested,the results are rarely wanted. Clearly an estimate was wanted, however the the one delivered is often a far cry from the dreamed of time-scales and budget that the person asking for it had in mind.

I've seen this play out many times, none more so than when I was heading up the product function for a software agency that delivered large scale projects to blue chip clients. As I looked back on the many times I've delivered estimates and seen responses, a nagging sense of familiarity started to creep in. What I realised was that the reactions I've observed in people receiving estimates are very well described by the Kübler-Ross Model model ... more commonly known as the 5 stages of grief.

Stage 1 - Denial

"That can't possibly be right!"

"Of course it's not right, it's an estimate the clue is in the name, it's a best guess based on the information available" would be the perfect response when faced with outright denial, if it weren't for the need to be sympathetic with someone whose dreams of a major high quality software delivery in under a week have just expired.

It's ironic that the immediate response from someone who has asked for an expert estimate on a piece of work, presumably on the basis that the person is better placed to estimate the work than themselves, is often to suggest that it can't possibly be right. It happens a lot though. I've found myself bombarded with examples of 'similar' projects that were delivered in a fraction of the time - usually ones whose similarity extended to front end appearance but with a vastly simpler set of business rules.

Even when provided with an extensive breakdown of effort across the many parts of the delivery, the initial reaction to an estimate from someone who already had a number in their head is often to reject it. Anecdotally my experience is that the lower the level of understanding of software development, the more likely and pronounced this denial will be.

Stage 2 - Anger

The next stage of the 5 stages of grief is anger, and yes this matches perfectly with my experience.

"You're not trying to help" and "it doesn't feel like we're on the same team" are criticisms that I've faced in the past. These responses typically came after having been asked to estimate a technical project that carried such a vast level of uncertainty and financial risk that any realistic costing was impossible, for example the situation where I was asked to estimate the creation of an online 3D collaborative team gaming engine by developers whose experience extended to simple form based web-sites.

At this point it is worth remembering the consequences of undertaking a development based on a ridiculously low estimate

  • Strained customer relationships
  • Broken promises
  • Lost business
  • Lost money
  • Damaged reputation
  • Burnt out employees
Given that avoiding underestimating actually protects against these things, it's somewhat frustrating to be the subject of someone's anger when you try to do this.

Stage 3 - Bargaining

The bargaining stage of grief involves negotiating with a higher authority, or the events of the past, in the vain hope that the unfortunate situation can somehow be changed. In the stages of estimate grief it's pretty much the same, except the negotiation is with the person providing the estimate in the vain hope that the effort involved can somehow be reduced.

Here I'm not referring to a healthy negotiation of scope. That does happen but typically only once you've got further through the process. At the bargaining stage it involves asking if there's any way of getting all the things, but faster...

"You've included time for performance testing here, can we skip that?"

or

"Surely we don't need these administration or support capabilities"

The danger with these "What if we just did it quickly and badly?" type negotiations is that the "badly" is always forgotten at the point of release and criticism falls on the developing team when the barrage of bugs inevitably arrives. This is a dangerous time for projects as it's far too easy for the estimator at this point to be pressured into 'shaving' the estimate to make it more appealing - often without any justification other than pressure applied from a more influential role. It's a challenging but important process for anyone responsible for pulling estimates together to maintain their position and 'see through' the remaining stages to avoid simply kicking the problem down the road.

Stage 4 - Depression

Reaching the depression stage of grief is, according to this article on talkspace

an indication that you are experiencing your loss in the present, and more fully than you did in the previous stages of grief.
At this point the reality kicks in and, depending on the situation, this can lead to a level of despair

  • It may be that the person asking had already given an indication to a customer of a likely price
  • It may be that the capability was part of a roadmap that investors had bought into

Whatever reason, this is the point that realisation kicks in that it simply isn't going to happen as they first thought and it's hard to see a way out. It's a hard but necessary process to accept the situation you are in before you can identify the options that are genuinely available. I'm sure many an evening bottle of wine has been consumed coming to terms with the reality that your dreams of having that shiny new feature ready in the couple of weeks that you hoped, simply isn't going to happen

Stage 5 - Acceptance

If you deliver an estimate and see it through far enough to reach 'Acceptance' then congratulations. The fact is that it's far too easy to get bulldozed in the early stages of sizing development projects into artificially reducing estimates to a point that 'the business' are happier with. It's a sad truth that the comeback on the results of pressured estimates, delayed delivery, will be on exactly the same poor souls who've been pressured into agreeing unrealistic timescales in the first place.

The process of preparing and discussing estimates is an emotive one that presents a high risk of conflict and stress between different roles in a business. It's a liberating moment when discussion finally moves away from grieving over shattered expectations to accepting reality. Any estimate is merely the best forecast of the future that can be provided with the information available and the sooner that it is accepted, the sooner all parties can get on with working towards the a positive outcome.

Whatsapp Button works on Mobile Device only

Start typing and press Enter to search