The Rule of three

If you're new here, you may want to subscribe to my RSS feed. Thanks for visiting!

I mentioned in a previous post about the rule of three. I firmly believe that whatever development methodology you use you can never get a complex development right the first time. The rule only applies to a certain kind of programming problem because some things are too simple to require a rewrite and large scale projects would be uneconomical to rewrite multiple times from scratch.

John Carmac was famously quoted that he always had to rewrite his graphics engines three times before he was happy with them. John’s work is within the games industry where creative output is the norm and producing cutting edge visuals is a requirement for a hit. Although we do not all have the luxury of time to perform three rewrites. But I believe it is important to recognise that when you first implement something that you review what I have achieved and if I feel that future upkeep of the work I have done is going to take longer than doing a rewrite then I go back and try again until I am happy.

The other important aspect here is ‘happy’. I intrinsically know if I need to do go back and rework anything, its comes as a feeling of unhappiness in what I have done and knowing that it could be better.

One major mistake was made when trying to rewrite a whole project Netscape decided to start from scratch with their browser which saw their market share go from 90% down to 5%. Joel on software has a great article about it.

I uploaded some pictures of our trip to Brugge at the weekend.

Post a Response