Hi, first story posted, i'm not english or american so sorry for typos,syntax, broken english and... the very long post :p
please understand that because this story is not past but currently happening, and my customer's business is really specific, i can't give as many details as i would (lucky for you, post is long enough).
My customer is a quite big world-sized compagny, kind of a 3-headed Hydrae, ( Us, Europe, Asian heads ).
I had to deal with the European head. They had an old application, business-critical, but made by inside-people that weren't programmers or DB designers, so you can guess what kind of organic-grown-WTFactory it was ( no real DB design, Access involved... ), can't blame them.
After years of a slow degradation, they had in fact no real, accurate data, constantly struggling with bogus input.
We simply rebuilt the whole app from scratch, based on specifications, after a long but useful design time.
App was done in time, users can reach it from anywhere on the planet, anytime, it works perfectly.
They were happy with it, it was so much efficient than before, the design of the database is good, every possible checks are handled by the database itself, and the application layer above that also checks things while doing everything to allow an easy use from operators/monkeys.
Medium-bosses can produce the perfect, accurate reports that the big bosses love, everybody was happy.
App version 1 was in production for some time, requests for improvements or new features from time to time, but nothing special, maintaining this was cool.
Then the other heads of the Hydrae, still stucked with their own proprietary crappy tools, started to be interested by the new, shiny toy of the European Head.
"Hey your stuff actually works !, gimme gimme !!"
So they asked us if the application scope could morph from Europe to Worlwide.
So we did that, it wasn't that hard, 'cause we saw it coming, and we decided quite early during design to invest (hidden/free for customer) extra time and efforts to build the application so that it could easily handle such a twist ( was that instinct ?, foreseeing dream ?, dunno, smart move anyway )
App version 2 is in production, requests for improvements or new features from time to time, but nothing special, maintaining this is still cool.
Now that we deal with the US head, we have to send them some data, via some export files with ev' they need inside.
For what purpose ? we don't know, not your business they ( let's call him Bob ) said.
The US Head bought another compagny, so a new whole range of product enters the show, of course, this is not an problem for the app (new sites, customers and products.. normal behaviour).
No extra-development needed.
But for a reason that we know nothing about, The US head doesn't want those new products to be part of the export, not your business Bob said.
To handle that 'Bob' wants the operators to use a special dummy value in an extremely important field that has a totally different purpose every time they manipulate a record involving one of those products.
Then we should exclude from export every records where this 'magic' value' appears.
Why this field ? we don't know, not your business Bob said.
When we first read that, we were horrified.
Not only this is stupid, it will also break the whole logic of the statistics that rely on that field,( which is extremely important for dispatching info to the good people, building reports etc.. trust me. ), It also relies on the fact that operator will not forget to do something stupid, instead of just using the application as usual when they deal with those products.
It is just amazing that an It guy has enough guts ( or is dumb enough ) to say that.
We proposed several good ways to handle this.
We used several real-world examples to demonstrate that it will not work, will clutter their until-now accurate database with stupid/useless value, that they will have to deal with this for the rest of the Application's lifetime, That it will be impossible for them to get proper stats for this whole range of products (that is extremely important for them)
No matter how hard we fought to send back the demons of stupidity where they belong, we failed..
Please note that the European Staff is aware of all this, in fact they totally agree with us, one of the executives even admitted during a 'unnoficial off-the-record chitchat' that the whole Us idea is dumb and Bob a real #censored#
But there's nothing they can do.
Meanwhile, we found why Bob refuses to negociate,
Every other solutions would need Bob to modify his import procedure.
Even if the simplest was just to add an :
if ( field.value in a_certain_range ) do_nothing
line of code.......
This is still too much for him.
He doesn't want.
We know It.
Everybody at our customer's compagny knows it.
But things will be done the Brillant! way.
This whole thing is driving me nuts!
Alone in my office, I am having visions of a white dog with a pair of glasses and a vicious smile, sitting on my desk, laughing at me.