John
Years ago, one of the things that attracted me to Barry Boehm's work on cost of software was his finding that in the software life cycle, which is basically the waterfall model, the last stage, which was called maintenance, had like 80% of the costs. It's like, well, how is it possible that maintenance is 80% of the cost?
Well, the first thing you found out was maintenance includes enhancements. So a lot of “can you make it do this instead of that” or in addition to that or whatever, it's part of it. But a lot of maintenance is basically keeping track of “I changed this, which also changed these things”. So any effort to change that, again, has to include these things. So there was an explosion basically, right?
Ed
Yeah. I put those under the category also of unnecessary integration because the more coupled the systems are, the more expensive it is to modify or maintain one because you've got this ripple effect through the whole enterprise of all the systems you have to then change. And so another side to the Lego approach is the benefit of the isolation of software, systems and applications, or a more positive way to say that is the resilience of those systems. Can I change or modify one without blowing the others out of the water?
That's more of maybe be called an arm's length integration as opposed to tight integration. This is one of my arguments against ERP systems because the benefit that everybody points to is, oh, that shared database that all the systems use and refer to, well, that more tightly couples all of the systems and applications. And so if HR wants an improvement to their module in the system, that changes the database, that changes everything that depends on that database. And so having a longer view means you look downstream and you say, okay, what are the costs and the potential difficulties five years down the road? I mean, looking longer than five years for systems is probably not worth the effort. |