At some point in time, someone must have spent countless brain cycles planning your organization’s IT architecture before handing the grand plan off to someone else to build it out. Afterwards, it would have been handed out to someone else to maintain it as your computing environment inevitably grew. Best intentions faded in the face of expediency, departmental politics, and general mismanagement somewhere along the line. This eroded what was once a coherent architecture management strategy into an ongoing series of independent, case-by-case decisions about each technical component. Here are some of the ways to know if your organization has strayed from the path and bad IT architecture has taken hold of your organization.
Take for example, you decide to solve your interface dilemma with an elegant enterprise application integration system, or a services bus, or some other form of middleware-plus-metadata that keeps everything clean and then your developers figure out that what your cool new system does is make solving the easy problems even easier and it doesn’t solve the hard problems at all. So they rebuild the same old spiderweb of interfaces instead of arguing with you, but hide it inside the EAI system so you don’t know about it.
Architectural impact: It is just as fragile and difficult to maintain as interface glut.
Direct business impact: It drains IT resources away from value-creating activity — and it’s expensive, too.
Kludges and workarounds
Maybe you were competing with an outside developer who low balled a project or the business sponsor insisted on too short a deadline or building a solution well would have ruined the business case for the project, whatever the reason, you wake up one day to discover a lot of your systems are held together with Band-Aids, chewing gum, and duct tape. Nobody will notice until after you leave or retire if you’re lucky.
Architectural impact: In order to solve immediate problems, Kludges create fragile systems.
Direct business impact: Your cost of maintenance increases with each unnecessary solution, as does downtime, the cost of staff training, and the complexity of every subsequent project.