This is a rant about software and application architecture, so if you're not a programmer, prepare to be bored.
Here at Travelers - excuse me - St.Paul/Travelers, (stupid mergers) we use something called Component Architecture, which means that when a program needs to be written to do a simple task, such as taking a policy number and using it to find the policy's effective date, coverages, et cetera, someone writes it as a component, and then that service is used from umpteen other places. Seems like a good idea, in that it removes redundancy, right?
Ugh. What a mess. The calling chains get so enormous that it would take easily fifty pages to print out most of them, with certain services, such as error checkers, being called over and over. And those services that are repeatedly called use dozens of others, making for a huge web of programs that looks more like a sloppy tangled birdsnest than a neatly structured web.
Two weeks ago, the code I was working on suddenly stopped working. After a day and a half, I determined that nothing I had done had caused it to break. Another week went by before I found where in the tangled mass of code the error was and determined that it was not a data change that had caused the error - it was a change made by someone else in another department who hadn't realized that we used a service that he was changing. Aargh!
Needless to say, I am not a fan of this setup.
I may be missing something, but I am assuming the purpose of all this is to build a library of reusable code one can call as needed? It also sounds like you have the ability to hack up each others code, is that right?
Wow! Sounds messy!