Estimating is hard.

Steve Kim, my mentor, after reading my first post about estimating sent me a link to a document from Paul Pagel about that topic.

I mentioned in my first post about estimating that my original way of thinking pessimistically results in – what I thought – very exaggerated estimations. That is a result of the insecurity in myself and the unknown future.

In my last IPM I estimated pessimistically as It should not take more than X time to do it. It turned out as a complete failure. It is true that filling that X makes me value the time I spend in a task. But it will not be a valid estimation because it doesn’t represent the time it will actually take me to do it. A valid pessimistically estimation needs to include the uncertainty and my insecurity.

By making that mistake I understood one of the reasons why I feel really uncomfortable estimating: I like to keep my promises. Estimating feels like a promise, even though it shouldn’t because it is a guess. Not meeting an estimation hurts me. By estimating a task in a time-frame that I will not be able to achieve I am destroying my honor and trust. I am a worthless professional if no one trusts me.

And I know now why I didn’t see that failure coming.

Pressure blinds your perception and judgment. Of course the client is going to apply pressure: he/she wants the application as soon as possible and as cheap as possible but without reducing the quality nor the features. The client may think that the estimation is something negotiable. Because of that, you can estimate differently, but then that estimation will not be as accurate as your original estimation. The real development will take the same time independently of your estimation. The only way to reduce the amount of time an application is going to take to develop is by negotiating the features of it. That doesn’t mean the application is going to be inferior, it means that we are going to analise what are the really important aspects of those features so we can prioritize them.

Felipe Sere, my co-mentor, helped me remember those things. I already knew most of them, I was applying them in the applications I have been involved. Then, why I didn’t apply them this time?

I am in a completely new environment. New country, new team, new everyday language, new way of life, no old friends nor family near. And the most influential one: new role. I was no longer the one that guides, I am being guided. I was no longer providing value, I am an apprentice. Everything I thought is the right thing is being questioned.

Because of that I was not thinking of the IPMs with Steve as client-simulation scenarios. I was thinking of them as mentor-pushing scenarios. So when he applied “client pressure” I trusted his decision of – what I interpreted as the mentor – pushing me beyond my possibilities. I was caught off-guard.