Tuesday, 25 January 2011

Back to the Estimate

The life of a technical architect is one filled with magic and wonder. We often wonder how to perform expected feats of magic. Forgiving such poor word play, there is one duty we are faced with in our day to day that demands such a skill. This is The Estimate. Being asked to estimate for a project can be like magically predicting the future. Often with a lack of information, people to consult and pressure from the business to come up with the magic number that turns a profit and doesn't send the client packing, it is easy to get it very wrong. Like Marty McFly in Back To the Future II, how do you avoid a dystopian future where you've been fired, your music career is wasted and your wife’s turned out to be a bit of a bloater? Since you probably don't have a flux capacitor, your next best option is to abide by Tech Rash’s top tips for project estimation.

Break it down

Break your tasks down into the smallest unit possible. This will help you think through the steps required to build parts of the system and ultimately lead to a more accurate estimate. Don’t put in big 22.5 day chunks of work with titles like ‘awesome search functionality’. It will also help you spot major knowledge gaps which can lead to a realisation that you just don’t know enough to carry on. [See Next Tip]

Don’t be chicken

If that little voice is whispering softly in your ear, “what the f@ are you schmokin” - mine has a Dutch accent - then Schtop! Push Back! If you know that the tally of your estimate could swiftly turn into a fixed project price and you are starting to make random guesses, go back to begin and do not collect £200. You may have a battle on your hands trying to get more discovery time, but the alternatives are dire. Or are you chicken, huh, McFly!?

Build a fortress

Your estimates will come under attack. The stronger your fortress the less damage they will sustain. Building a fortress encompasses the previous tips. Smaller estimates are much harder to target. They also mean that there will be a lot of them and in many of cases, not many business folk will have the stomach to go through a 300 line estimate and nitpick. A good estimate can be like a Jenga tower – a large structure with interdependent blocks that no one dares tamper or it could come crashing down and they would be be branded a loser.

Ass’end!

The two saving graces in estimates are good old Assumptions and Dependencies. They are your sword and your shield; or your hover-board and manure truck. When assumptions and dependencies start stacking up that should be the red light that there are too many unknowns to continue estimating. They are also key markers for when things go awry and your bacon saving ‘I told you so’. Don’t be alarmist with A&Ds as this will discredit your risk perception. But, at the same time, don’t be shy about pointing out what could go horribly wrong. Feel free to use this post's feature image as a visual metaphor.

Go Large

As is the way of things, you will inevitably end up in a position where you have to hazard a guess. This is probably the most important tip to remember and the hardest one to get right. Go big. Go as big as you can. At this point estimating becomes a bit like poker and betting the right amount is a crucial to staying in the game. You will need to back up your estimate with an impenetrable poker face and be prepared if someone calls your bluff. Use all your parlour tricks here: smoke and mirrors, the old switcheroo or sawing a lady in half if such equipment is to hand.

Back to the Estimate

The final tip is to keep re-estimating. You may get bogged down in the design/build of the system and lose sight of the fact that you said you would deliver awesome search functionality in half a day. Your project manager will be blissfully unaware that the project has doubled in man days and at some point there will be a pretty uncomfortable conversation with the client.

A conversation you don't want to have with a mouth full of manure.

No comments:

Post a Comment