Don't worry about it



  • Ours is a rules-based system that reads customer data, applies a bunch of business rules to transform and generate new data and saves the results. For three years, there have been some basic rules, upon which were built more layers of rules, etc.

    There are no automated tests for ANY of the rules because, in the words of our business users: we know what we're doing.

    In the process of building a new feature, I wrote some tests to help me validate things more easily.

    One of my tests kept failing. As such, I dug into it. Deeper. And Deeper. Into the bowels of the system. Way down to the original rules. Aha! An unhandled edge case!

    I bring it up for discussion. I am reminded (by boss+2) that the business users know what they're doing. I show them a query and output yielding 32 MILLION records in the database that are erroneous due to this one issue.

    Hmmmmm, we'll need to discuss this with the business users.

    The business users tell us to ignore the erroneous records because they don't matter.

    Wait, our system uses historical data plus new input data to arrive at the new state. Garbage in, garbage out.

    ...Don't worry about it

    Wha?

     



  • I hope you got that in writing, so that when the whole thing collapses you can remind them that that's what they wanted.



  • @barfoo said:

    I hope you got that in writing
    Sure did.



  • Real time update:

    The boss+2 is meeting with the business users in manager row a few steps from my desk. Someone pointed out that if our customers make decisions based upon our output, and our output is based upon bad input - that we knowingly ignored, that we might be liable. Uh oh, better call in the lawyers.

    I am wondering whether I should tell them that a simple delete-from-where and update-set-where could solve the problem, or if I should just sit here and see what WTF they come up with?



  • @snoofle said:

    Real time update:

    The boss+2 is meeting with the business users in manager row a few steps from my desk. Someone pointed out that if our customers make decisions based upon our output, and our output is based upon bad input - that we knowingly ignored, that we might be liable. Uh oh, better call in the lawyers.

    I am wondering whether I should tell them that a simple delete-from-where and update-set-where could solve the problem, or if I should just sit here and see what WTF they come up with?

     

    32 million cases with bad data? Better call in the interns.

     



  • @snoofle said:

    I am wondering whether I should tell them that a simple delete-from-where and update-set-where could solve the problem, or if I should just sit here and see what WTF they come up with?
    That sounds like a perfectly good technical solution. But I'm guessing that "technical" is not what they are going for at the moment. If you leave the data "as is" then the customers are being fed bad data. If you update the DB then the customers will now be getting different data - and may ask "Whats changed?!!?". I'm guessing that there are implications no matter which way they turn.



  • @curtmack said:

    @snoofle said:

    Real time update:

    The boss+2 is meeting with the business users in manager row a few steps from my desk. Someone pointed out that if our customers make decisions based upon our output, and our output is based upon bad input - that we knowingly ignored, that we might be liable. Uh oh, better call in the lawyers.

    I am wondering whether I should tell them that a simple delete-from-where and update-set-where could solve the problem, or if I should just sit here and see what WTF they come up with?

     

    32 million cases with bad data? Better call in the interns.

    Didn't you know?  Apparently they don't have the budget.  For anything...  Whether it's paying 3 interns $7.50/hr for a few months or purchasing $70 in CPU fans to avoid hundreds of thousands of dollars in new hardware and service costs...

    @snoofle - you should add the definition of "penny wise, pound foolish" to your email signature.



  • @snoofle said:

    boss+2
    Next time invest in a Longsword+2, bosses already do plenty of damage a turn, they dont need the +2.



  • When explaining the fix to the customers, instead of saying you are fixing a bug, say you are making an improvment to make the data EVEN MORE accurate ;)

    It's technically not lying :)



  • @snoofle said:

    I am wondering whether I should tell them that a simple delete-from-where and update-set-where could solve the problem
     

    Judging by history, do this and they won't be interested.

    Tell them a solution exists but will cost 2 weeks' billable time, and they'll take it.

    Then have the cheques paid out to me.

    Where do I send the invoice to?



  • @snoofle said:

    I am wondering whether I should tell them that a simple delete-from-where and update-set-where could solve the problem, or if I should just sit here and see what WTF they come up with?

    Technically you [i]would[/i] be ignoring the bad data if you just deleted it, so you probably already have authorization for that part. But I doubt you're allowed to update anything, because you can't just go around making shit up. That would be wrong.

     



  • @snoofle said:

    …or if I should just sit here and see what WTF they come up with?


    Speaking as one of your unpaying public, I want you to sit there and see what new WTF they come up with and then (important) post that new WTF here for us to enjoy. :-)



  •  snoffle: you should really have Alex sponsorize your job :)


Log in to reply