Saturday, 10 November 2007

A Tangled Web We Weave

I'm currently dealing with people who want to buy a technology that's flexible and can do all sorts of things that they don't currently need it to do. This is slowing up the project, and causing them a lot of stress.

The technology we buy today will be obsolete in five years (if it lasts that long). So by the time you want to do something more with the existing technology, you'll be able to do it better and cheaper with whatever is on the market at that time, not what you bought three years ago. Why should you pay extra for features that you're not going to use until the equipment is half way or more through its useful life?

If your organization is of any reasonable size, the real cost of doing something new with technology is the training and organizational change, not the capital cost of the equipment. You may want to take advantage of those features you paid for two years ago, but you still can't afford to because of the training costs for staff.

The idea that we have to buy for future unknown needs, not just what we need now is pervasive in IT. Perhaps it's because we're always overpromising what we can deliver. When we deliver and the customer is unhappy we beat ourselves up for not buying (overspending) on all the extra features so we get the one the user really wants. It's time to stop over promising.

2 comments:

Andrew McKinlay said...

This sounds a lot like the agile / XP philosophy of only building what you need, not trying to build stuff "now" that you don't need till "later" (if ever, thus YAGNI - you ain't gonna need it)

Larry Reid said...

Absolutely. The YAGNI of hardware or infrastructure purchases is driven in particular by the short life-time of technology. If you don't need it today, you really will never need it for the stuff you buy today. Interestingly, software lasts much longer than hardware, but YAGNI still applies. That should be a clue that the percentage is actually against buying for the future.