Data Armageddon: When Users Define the Schema

Some people are advocates for the extended participation of stakeholders when it comes to implementation, but I would advise caution against that. Why do I say so? Because like some others, I’ve seen the results…

Let’s say that your company has a plan to eliminate the redundancy of existing data in several departments, by creating one schema which is to be shared among the many. After several weeks of collaborating in a state of perpetual confusion, the stakeholders of your project have met on their own without you (despite your repeated warnings of violence towards them). Together, they have stupidly consolidated their tables of sewage and finalized the schema for one massive failure that they plan to share:

Product Table

Column Name Type Example Description Notes
Product ID long 123456 The ID of the product.
Name string WidgetPlus The name of the product.
Manu_Name varchar(1024) Acme, Inc. The manufacturer of the product.
Manu_Name_Inv varchar(1024) Inc., Acme The manufacturer of the product, with its name inverted. Bob requested this column, since his group has a bunch of COBOL programs that nobody knows how to change.
Manu_Name_Bck varchar(1024) .cnI, emcA The manufacturer of the product, with its name backwards. Due to a medical condition, Steve can only read the names of companies if they’re backwards.
Product_Type varchar(256) WIDGET The type of the product.
Product_Type_2 varchar(256) WIDGET The type of the product…again. Nobody knows why it’s needed, but if it’s not there, all the legacy systems in the inventory group will implode into a massive black hole and consume us.
US_Price currency 3.99 The price of the product.
All_Prices clob (Huge XML file) The price of the product in every available currency. The finance department needs this list of prices. The values will be static, which probably won’t be a problem. Exchange rates don’t change, right?
Misc blob (Random data) A dumping ground for extra data. If anybody needs extra space to put shit, just spread your cheeks and plop it here. What could go wrong?

Peter Bolton is the author of Blowing the Bridge: A Software Story and has also been known to be a grumpy bastard on occasion.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s