Avoiding Impedance Mismatch

ImpedanceMismatch is a nasty problem that affects the lifecycle of software systems. Sometimes the problem crops up during development, sometimes after a system has been in production for a couple of years. What steps can we take, during design, development, and deployment, to assure that the rate at which we can change software is acceptable within the context of the rate that the corporation is changing?

-- JeffChapman


Sometimes though, ImpedanceMismatch is left in a system intentionally, as it allows a system to eventually become obsolete. This enhances JobSecurity.


That's a Holy Grail you've asked for Jeff. The usual modularity helps a lot, but entropy gets you eventually. The only approach I know is to have a big bag of tricks to handle all eventualities including when the horse is dead.


Here are a few ideas...


Do Refactoring. (See WhatIsRefactoring.) Look at ExtremeProgramming. There is no technical reason that any system should die of entropy just because lots of changes are made to it. It is possible for system structure to improve under maintenance -- you just have to know how to do it.


Eh, slow down the rate at which the corporation changes. Programming is hard work and takes lots of time, man.

Seriously though, if members "in-the-know" from the I.T. department sit on the BoardOfDirectors? of the company, then they can enlighten managment to the constraints imposed by changing the systems. If I.T. managment doesn't have this power, however, then the continual competitive demands of marketing will squash successive I.T. managers one after another.


EditText of this page (last edited October 30, 2006) or FindPage with title or text search