The Ugliest Architecture and What It Taught Me about Business
posted by Anna Mar, December 14, 2012It's a story of horror and dread. Application architecture so ugly it's almost comical – if it weren't so painful.
Several years back, I was an Enterprise Architect at a large investment bank.
Every large organization tends to have plenty of architectural issues. These issues are often politically driven. Technology silos can't get along, so they do their own thing. They replicate systems, refuse to integrate, take copies of master data and do wild things with it … you name it.
This particular architecture got my attention and taught me a bit about human nature.
How To Build a CRM With An ESB
As part of my initial analysis of the architecture I happened upon a CRM system built on top of an ESB platform using APIs intended to support integration.To put an analogy to this, it's like building an airplane with bicycle parts. Better yet, it's like making pancakes with a hairdryer.
The CRM had a web user interface and implemented a wide variety of custom business rules. It had its own data repository using a relational database.
It was deployed to an instance that also supported various mission critical integrations. Whenever they wanted to update the CRM they were impacting countless systems.
Why People Make Pancakes With Hairdryers
Humans are creatures of comfort. When you're comfortable with a particular tool – it's tempting to use it for everything.If you're really good with a hairdryer and you've never used a frying pan – it's tempting to go with what you know.
At some point, someone at this bank wanted to build a CRM. A ESB development team stepped up to the plate to develop the system. An ESB isn't typically intended as a application platform. Nevertheless, it's Turing complete.
It's technically possible to build anything on an ESB. It's technically possible to use any enterprise software (that has an API) as a platform for virtually anything.
Preventing Tool Blindness
The only way to prevent wild architectural approaches is to require governance of projects. A board of architects or a strong chief architect should review every significant project solution in your organization.Payback on governance investment is easily achieved but difficult to measure.
By preventing bad solutions from ever getting off the ground, governance teams can save organizations millions of dollars in failed project costs in one meeting.
Service-oriented Architecture (SOA) is as simple as can be — it can all be boiled down to these 9 principles. |
Recently on Simplicable
What Big Data Really Meansposted by John SpaceyThe 3 things you need to know to cut through the big data hype. |
The 5 Levels of Enterprise Integrationposted by Anna MarEnterprise Integration has traditionally focused on moving data from one database to another. Recent technology trends have challenged this approach. |
Do "Real" Architects Dislike Technology Architecture?posted by Anna MarGo to any job site and query architect — you'll be hard pressed to find the adverts for construction architects in the sea of job postings for technology architects. |
101 Game Design Principles for Social Mediaposted by Anna MarThe convergence of social media, software and gaming. |