The Crazy World (tm) of Rob Miles

Wednesday, July 30, 2003

Iceberg Moment

Been writing some more code tonight. We're heading towards what I call the "iceberg moment" in the project; the point where you find out just how much work there is underneath the bit you can see sticking out of the water. In my experience,no matter how hard you plan and spec. the work, you still end up finding out there is a lot more submerged than you expected. In the really nasty projects you can have several such moments in succession as the customer slowly reveals the depths of their requirements. You learn to listen for throwaway remarks in meetings like "..and of course we need to timestamp all the entries..." which tend to come at the end and can lead to horrid amounts of extra work.

My solution (which has saved me in the past but is not infallible I'm afraid):
  • assume nothing. If you must assume things, test the assumptions and write down what they meanconsider everything in the light of how it could fail, and make sure this is in the spec too
  • use loads of prototypes (but dpn't make them work and be prepared to throw them away once you have got the spec. from them)
  • specify everything down to the colour of the buttons
  • make the customer sign the spec. and make sure they know what signing up means (and how much it will cost them to change the spec. and add things).
  • put into place a system which makes sure you get paid
  • use a system which works for you, and ignore people who tell you that you should work in their way (except me of course)
Of course none of this is guaranteed, but you should be proof against most of the really nasty possibilities if you consider these points. And remember to be lucky - that always helps.

0 Comments:

Post a Comment

<< Home