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.