This is very enterprisey...
This is one hell of a story - bursting full of WTF!
I worked for a very very similar project. It was not so fundementally twisted and evil - we had multiple tables, all named like t1004, t12 etc. It was a smaller version of this monster. But the database had metadata and data, generic string fields, and so on. Speedy Gonzales performance, with queries not fitting in the join limit of the database engine.
And here too the original creators had managed to retain the rights to sell the "product" (haha) to other companies.
The trio who was behind all this evil are still in the industry after being sacked after 2 years of "development". Watch out.
Its memories are still haunting me, as it was my first real job in the industry.
Oh My God.
Paula, meet Randy...
You always find such people in every company.
The successful companies are those that manage to ignore the what-did-the-devil-say sound bites from such folks. Sometimes you cant throw them out, so just pretend to nod in agreement and carry on with your work. No point slogging off for such folks.
Absolutely amazing. This covers almost every WTF ever mentioned on this website. Misuse of databases, consultants giving bad advice (Randy, that is), management not monitoring the situation, not heeding the warnings... All he needed to do was write it in VB and this would be the panultimate WTF.
A common axiom in engineering is that only 1 in 10 designs ever make it to market. I used to wonder why, but now I think I understand. It's not that people lose focus, they were just blind from the beginning.
Wow. Truly classic over-engineering. A healthy dash of
Second System Syndrome, too, though I figure the "first system" (there
may have been many, in fact) was something made before Randy joined
Some other factors that inevitably lead to a WTF:
refusal to admit to a mistake; believing one knows more than
anyone else in the world and is qualified to reinvent the wheel.
I wonder if I'll ever have the guts to write RUN LIKE HELL on a whiteboard.
Data-driven design really seem like a good idea to some people, and certain designs make it possible. Nowadays it's XML and XSLT, but any heigharchial heterogenous data in general works as well. The stuff that has to be crowbarred into relational mappings and nets few or no optimizations from it anyway.
When writing entire software in a database, though, they forgot that you're just porting a functional application into a less-functional application with extremely arcane new syntax. :D
Entertaining to the max.... I am extremely impressed how well the author tells this horror story. You don't find many techies with this kind of command.
I especially love the irony of the system being based on the idea that programming languages are hard and making changes to code is a time-consuming and difficult task.