Monday, April 23, 2007

My House is like Software

Yep.

I have been in the software biz for a decade now. But the software biz is a lot older than that. yet I am still amazed at the same mistakes made over and over again by software companies. But that isnt what this is about.

This is about my house.

The house is, as I have mentioned, of an undetermined age of somewhere on the order of 70 to 90 years old. By East coast standards, that is practically a new condo. But by western standards, thats pretty old.

I also work on software that is originally about 8 years old. by software standards, that is practically Revolutionary War era.

My house at its core is a solid building. A solid frame and basic living areas. But that was all built before indoor plumbing was common on farm homes and closets were beyond the reckoning of architects, much less modern conveniences like separate utility rooms for clothes washing or central heating. Hell I doubt this place had anything so high falutin as an architect. Just a feller with a crew that knew how to put up a solid house.


Software often starts like that too. No architect. Just a job that needs doing. A small team puts it together and it does the job reasonably well. Solid, stable and comfortable.

My house, by virtue of its age has had a lot of owners over the decades. Each one has added to and modified the house to suit his needs and tastes.

The software too has seen additional needs and requirements that need filling. and each one was gleefully added on.

My house has had the additional improvements made by enthusiastic amateurs. A wall here, a door there, some concrete, some wiring. But as I dig deep I discover these additions were more "make-do" than real craftsmanship.

The software, as is all to typical, has had to respond to many "make-do" requests. A customer or potential customer demands a feature. The feature gets spliced into the original application. As usual that takes longer than anticipated. The delay causes the customer to pressure the marketers who in turn pressure the developers and it all builds like a snowball rolling down the Himalayas until it lands square on the testers head who ends up releasing poorly made slap-dash updates to the original system just to make the pain stop.

My hose has the same ill. There are so many things that need to be re-done properly that I barely know where to start. Everything interconnects. it is like untwining blackberry runners from your prized roses.

That leaves two choices:

Tear it all down and start over. This is incredibly expensive and time consuming. Where do you live while it happens? What form should the new house take? Can I even begin to pay for it?

Pick a corner and start digging in, fixing each item as you go. This can also be very expensive. But you can take chunks at a time and not pay for it all at once. And you generally can keep living at home while it goes on, albeit being inconvenienced quite a bit.

The same goes for a software product - with one exception - my house doesnt need to continually expand in order to stay upright.

Sunday, April 22, 2007

What Would You Have Done Differently?

Recently someone posed that exact question. If you got a free do-over in your life, what one thing about it would you change?

This is one of those questions that every one has a gut-level response to, but then if they are let to think about it for a few seconds it changes. Like the old bar question "MaryAnne or Ginger?"

If left to think about it, I shy away from the gut choice. I think about not being so concerned with what others think of me back in my school days. I wonder about having gotten into computing as a profession earlier on (I'd be rich now!) But the first thing that pops into my mind: losing my father when I was six. Given the choice, I would have somehow, some way managed to keep my father off that plane. I dont know how. But I would have. After thinking on that, the other choices become superficial. Honestly I dont grieve as I once did, but there is no denying the massive effect it had on my life and personality. I learned a deep, subconcious lesson at that moment that I have both embraced and fought all of my life: You cannot count on people other than yourself being "there" for you always. That's an ugly thing for a child to decide and embrace. So deep I didnt even realize it until I was in my thirties. This has caused me to keep people who love me at arms length. I have destroyed good friendships and romances that could have remained friendships because I was having trouble maintaining that distance and independence. Frequently I have withdrawn from circles of friends by finding an excuse to not like them anymore. It isnt all bad though. I also built a strong sense of independence. I take care of myself. I have for a long time. I have almost always been able to sense a scam being played on me because I hold my trust so dear.

So that is the one event I would change. but it isnt without its consequences. No choice is. it is impossible to do more than speculate wildly about how different a life would be with such a fundamental change. Would I have had my step-father enter my life? Most likely not, yet I admire and love him greatly. I wasnt an easy task for him to take on. Would I have been closer to my mother and brother? I hope so. Would I have married my wife, Paige and we had my son Max together? I cant even guess. That would be a large hole in my life, to be sure.

So it is a simple question, with no easy answer. A life is what it unfolds to be. That question does no more than offer maudlin speculation. Or does it? Knowing how that event affected me, I can act on the negative aspect of the behavior. Right?