DCSIMG
Wish it Away - Doron's .NET Space

Wish it Away

I am currently reading Steve McConnell's great Rapid Development book, in which the author marks "wishful thinking" as one of the greatest mistakes one can make in software development. McConnell managed to express in two words the root of most problems in this field, and probably the main cause of most of my own mistakes.

You know how it is. Sometimes you wish yourself to succeed. "Sure I can make it in a week". "So what if we have two weeks to complete a two months work. It will work out". That's you wishing it away. I consider myself a rational person, and still I can look back and see quite a few times in which I behaved very irrationally, thinking everything will be just "be OK". So you ignore that nasty looking bug, only for it to rear its ugly head at the final testing phase, and by then you don't have the time to fix it. Or you agree to add those extra features, thinking they will be rather easy to implement. Or should I say, wishing them to be so. They won't, not because you wished it so, that is.

Ever since I became the team's lead (only a few months ago) I've started forcing myself to do reality checks. Are we really going to make the schedule? What exactly is it going to take for us to succeed? I find it useful, for example, to picture in my mind the week in which we have to install the new version of the software we're developing. What will happen, exactly, during that week? Who will have to do what, what kind of hardware, software licenses, or people we're going to need during that week? What can happen that will prevent one of these things or people to not be there for that week? What will we do in that case? I also became quite paranoid about difficult looking bugs. I've learned that ignoring them, or thinking that "It's because we're using IIS 5, it will be OK when we install it on IIS 6" tend to not solve bugs.

Then I translate all this paranoia into a risk-list, in which I list everything that could possibly go wrong, and ask myself what am I going to do to stop them from going wrong. At first I thought risk management was boring and useless. Now my paranoia-list control my schedule. It's what I base most of my actions on.

The best advice I can give you, and especially to myself, is to never look the other way when you smell a problem. If it smells like a fish then it's probably a fish. You can't wish it into a steak. Plan ahead, manage your risks, be paranoid. When things go wrong, you'll be ready, or at least you'll feel you did everything you could.

Published Friday, April 13, 2007 7:34 PM by dorony
תגים:

Comments

No Comments

Leave a Comment

(required) 
(required) 
(optional)
(required) 

Enter the numbers above: