Tim Weaver

A .NET Blog

<October 2008>
SuMoTuWeThFrSa
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678


Navigation

Work

Subscriptions

Post Categories



Off Topic (RSS)

Off Topic
What to give the guy who has everything [OT]

My answer is here

posted Sunday, October 23, 2005 10:43 PM by icodemarine

Tech-Ed I'll NOT be there
I'm tired of all you tech-edians with your exclusive 'I'll be there' images and your blogger club. Well no more. Now all of us who can't participate no longer have to suffer the humiliation of not having an 'I'll be there' image.

posted Wednesday, March 23, 2005 9:29 AM by icodemarine

BlogMap

Why not? Here's mine:

 

http://www.csthota.com/blogmap/

posted Monday, February 14, 2005 3:21 AM by icodemarine

Developing Software is Like Planting a Tree

So how do trees and software development relate? An example will help explain:

You just bought a nice house in a new neighborhood. In typical eco-friendly fashion the builder knocked down anything and everything that was alive before building your new home. Now you have zero shade in your yard and you would really like to have something aesthetically nice to look at – besides your half dead sod.

You decide you would like to buy a tree. You go to the “tree farm” and see that there are some really nice big trees. The guy selling them tells you that the larger the tree the more likely it won’t survive the transfer. For some reason the smaller trees handle the shock of being moved better.

After looking at the prices you conclude that you can only afford a small 2 inch tree. It looks okay at the farm and the guy selling it assures you it will grow fast. You pay to have it brought home. A couple of guys show up with a backhoe and dig a really big hole. The tree arrives and they put it into the hole and cover the roots. Once they are gone you quickly realize that the grand tree you envisioned (and the desired shade) are no where to be found. The tree looks a little pathetic. It is really nothing more than a twig sticking out of the ground. There aren’t even any leaves yet.

So your choices are:
a) Nurture the tree – it will grow slowly and over time it will become a grand old oak of the yard giving you exactly what you wanted
b) Go back to the farm and get a bigger tree – pay a lot of money, dig a bigger hole, and hope that the tree survives

So how is this like software?

Software development should follow the first model. It should be about small controlled projects that slowly grow over time in a controlled and planned way. If you start out with a huge project: you pay a lot of money, you have to dig a really big hole, and there is no guarantee the project will survive. The more controlled and smaller projects may not delivery everything you wanted/expected, but they won’t die on you either. They can be nurtured into meeting your expectations vs. having to completely replace it if it doesn’t.

So say you have this small tree in the ground and a few weeks go by. You figure out that you really wanted an Oak tree but you got a Birch. Now the Birch tree gives you some of the things you desired: shade, aesthetics, but it doesn’t provide everything: size, lifespan. So you go back to the tree farm and order the correct tree. The guys come out and dig up the Birch and haul it away. Now you are starting over with a new tree. It will probably survive, but it may not. It isn’t as large as the Birch, but it will get there.

In software the same thing happens all the time. Companies realize they have an application that doesn’t meet their needs. It has some of the things they want, but not in the way they want. So they toss it and build an application that meets their current needs/wants. Unfortunately those needs and wants change almost before the new tree is in the ground and they have to do it all over again.

If software project teams spent a little more time planning up front; looking at the current needs and possible future needs, then the projects can be structured in a way to more easily reuse some of its pieces. Of course planning isn’t enough. You have to have the vision to grow your “tree”. You have to use the right technology to enable that and you have to support the additional efforts it takes to get you there. Is the added cost of a few dollars today vs. the cost of completely replacing something really that much?

Go plant a tree and make it grow. Stop chopping down all my shade!

posted Sunday, February 13, 2005 3:22 PM by icodemarine

Blog Day

My day begins like this
Wake up --- okay this one is easy
Check gmail for feedback from my blog
Determine what my needs are for the day:
Do I feel like Texas Hold'em, Blackjack, or some other random game of chance
Maybe a little sex would be better? I'll take the viagra on post 3 and some of those prescription things on post 12
On bad days I just take everything -- you never know what you might need.

Final step
Delete all unnecessary posts usually accompanied by a large sigh

posted Friday, February 04, 2005 4:02 AM by icodemarine




Powered by Dot Net Junkies, by Telligent Systems