Some time back, I wrote about
sponsors who basically forced us to code up a system on-the-fly. Shortly thereafter, the company got bought out in an unrelated but fascinating wtf (future post).
Ok, our team is now conjoined with our counterparts from the other firm. We are integrating their system into ours. To do this, we need to map the logic they used to associate one transaction with another onto our logic, which processes things a little differently, in order to get the same result. We asked them once, twice, thrice, four times over four weeks to provide requirements (they implemented it, so there must be requirements, right?)
The response? (over the phone) Oh, we didn't code from requirements; we just kept massaging our logic until everything was associated. At this point, we just looked at each other, shared a horror flashback, and decided that we'd just reverse engineer their code.
It turns out that for all transactions of any given type that they can't figure out how to process, they create a fake parent transaction and make all the "unknowns" it's children. So what if your transactions are mixed with mine; it's only financial data; as long as everything is matched up with something! And they do this for numerous different types of transactions.
We have decided to reverse engineer the data and figure out the required logic ourselves.
And I get paid to watch this play out every day!