Just deploy it; it doesn't need to work



  • We are replacing an antiquated system with a new system. The users want the new software to work and look exactly the same as the old system, quirks included.

    One of the requirements is that we need to replicate a report that is no longer used by anyone (the last time it ran was more than 5 years ago). This report was particularly complicated and would require about a month to implement.

    Ok, if nobody uses it then we don't need to do it. No, we need to do it because the old system can do it.  But....

    Finally the business analyst in-charge recognizes the stupidity of the requirement and makes the official decision: "Just deploy it; it doesn't need to work."

    But QA will want to test it... Don't worry, we'll get an exemption.



  • @snoofle said:

    quirks included.
     

    I hate that.

    One of my former employers had me wanted me to rewrite one of the hastily-slapped-together tools he had written to do address list de-duplication.  My rewrite needed to be both faster and more maintainable - but the output had to be identical.

    Trouble is, the output was buggy, and they knew it.

    I couldn't figure out why some of the bugs were happening at all, let alone figure out how to duplicate them.

    When I suggested an entirely different (faster, less memory-intensive, more accurate) method of accomplishing the task, I was told not to do it since the output wouldn't be identical to the old program.

    Eventually I abandoned it altogether; I'm sure they're still using the old buggy version.



  • @snoofle said:

    One of the requirements is that we need to replicate a report

    @snoofle said:
    Finally the business analyst in-charge recognizes the stupidity of the requirement and makes the official decision: "Just deploy it; it doesn't need to work."

    A court might view that as defrauding the client, no?

    @snoofle said:

    But QA will want to test it... Don't worry, we'll get an exemption.

    And that means the company knew and officially approved it was going on?

    I really wouldn't want to be around if the ever customer finds out.  Heads will roll.  And probably not amongst the management levels who approve this sharp practice.

    Ho hum, just another routine day at the office I guess?

     



  • @DaveK

    Customer is internal. BA works for customer and acts as interface to us. Our users are very non-technical, and BA's lack common sense. We are obligated by senior management to give them whatever they want however they want whenever they want. As long as the BA signs off on it we're good.

    Gotta love it.

     



  • Tradition

    I have this on a coffee mug here on my desk.  I like to think it slightly reduces my chances of committing grievous WTFery.



  • @Smitty said:

    I have this on a coffee mug here on my desk.  I like to think it slightly reduces my chances of committing grievous WTFery.
     

    So, audience, what's YOUR reminder to keep it real?

    At work, I have any bookmark that isn't "Reference and Info", filed away under "Bullshit".



  • I use some of my older, crappier programs while coding, to remind myself how annoying their bugs are and not to make those mistakes again.



  • @snoofle said:

    One of the requirements is that we need to replicate a report that is no longer used by anyone (the last time it ran was more than 5 years ago). This report was particularly complicated and would require about a month to implement.

    Years ago, I was involved in a migration from an old system to a new system which included a requirement for a report nobody had been using for many months to continue to work as was.  This report was written by a coworker who had left a few months prior.  I was assigned the task of ensuring the report continued to run just like it did on the old system.

    Fortunately, presence of mind won the day.  As soon as I heard the report was needed I went and ran the report.

    Can't locate Some/module/which/even/google/couldn/t/find.pm in @INC (@INC contains: /usr/local/lib/perl5/5.5.4/sun4-solaris /usr/local/lib/perl5/5.5.4 /usr/local/lib/perl5/site_perl/sun4-solaris /usr/local/lib/perl5/site_perl .) at stupid_report.sh line 1395.

    That was easy.

    (For the curious - of course I replaced it with a script that just uslept the appropriate amount of time and spit out that error message, and only otherwise contained a shabang line and a comment which explained the situation.  Also, while there were alternate versions of the report in the guy's working directory, none of them worked.)



  • @snoofle said:

    @DaveK

    Customer is internal.

    Ah.  So they know what it's like working for $YOURCORP and can sympathize with you.  That's good!



  • @tgape said:

    Fortunately, presence of mind won the day.  As soon as I heard the report was needed I went and ran the report.

    [error]

    That was easy.

     

    <3



  • @Heron said:

    I couldn't figure out why some of the bugs were happening at all, let alone figure out how to duplicate them.

    When I suggested an entirely different (faster, less memory-intensive, more accurate) method of accomplishing the task, I was told not to do it since the output wouldn't be identical to the old program.

    I remember taking a compilers course where grading was automated, basically by diffing the student's compiler output against the professor's baseline. The dumps were of intermediate code, not final object code, so the data contained things like temporary variable names: t1, t2, ... t29, etc. One of the hardest things was getting all the temporary names to match. Your program could be completely correct in other respects, but if you did not allocate your temporaries at exactly the same times and places as the reference implementation, you failed the assignment because instead of t1 you had t3 and instead of t3 you had t1. In order to get the output to match, you basically had to implement everything EXACTLY the same way the professor had. So this meant that each student's implementation was almost identical to every other student's. The best part was when we started getting accused of cheating because our code was all so similar.

    Eventually the professor managed to understand what the hell was really going on, and from what I heard, the method of grading was changed



  • Finally the business analyst in-charge recognizes the stupidity of the requirement and makes the official decision: "Just deploy it; it doesn't need to work."

    Years ago I did a project for a US government agency. Mid-way through the project, we picked up from their project manager that their business requirements had changed (i.e. they had lost a lot of work to another department). So the project would never be used in production. Our PM naturally demanded that we still be paid for what we'd already done - which prompted the reply "we can't pay for anything until our boss sees a deployment and signs it off - so just finish it, deploy it and send us the bill and then we can scrap it". Sure, we were really motivated to do a good job...



  • @dhromed said:

    So, audience, what's YOUR reminder to keep it real?

    I'm using my own buggy CMS for every new website I set up. Every time, I will discover that it doesn't translate most relative links into absolute ones correctly, and I have to do that manually. Also, I'm constantly reminded of the horrible default templates.



  • Try Joomla!. You'll love your CMS after that.

       --- Mr. DOS



  • @Julia said:

    Finally the business analyst in-charge recognizes the stupidity of the requirement and makes the official decision: "Just deploy it; it doesn't need to work."

    Years ago I did a project for a US government agency. Mid-way through the project, we picked up from their project manager that their business requirements had changed (i.e. they had lost a lot of work to another department). So the project would never be used in production. Our PM naturally demanded that we still be paid for what we'd already done - which prompted the reply "we can't pay for anything until our boss sees a deployment and signs it off - so just finish it, deploy it and send us the bill and then we can scrap it". Sure, we were really motivated to do a good job...

     

     Same thing happened to me last year. Had a government agency lose their need for a project in the middle of development, but since they were still under contract to pay us, we had to finish and demonstrate the system in order to get paid before it promptly got thrown away. Seems things haven't changed - hooray for government.



  •  @op

     

    Quick question: Lets assume the just deploy it is a good decision. One thing bothers me: Why replace an antiquated system with one that works just like it quirks included? Why not just keep the antiquated system? Are there performance problems, etc.?



  • @Mr. DOS said:

    Try Joomla!. You'll love your CMS after that.

       --- Mr. DOS

    Actually I started working on my own in the first place so I'll never have to work with Joomla! or any other existing CMS out there. I once tried phpNuke and... no, I really don't think I need to say more. Mine may not have more functionality, but... I still like the idea that it doesn't need a database.



  • @Mr. DOS said:

    Try Joomla!. You'll love your CMS after that.

       --- Mr. DOS

    Awesome, so it isn't just me. (It never really worked...)



  • @astonerbum said:

    Quick question: Lets assume the just deploy it is a good decision. One thing bothers me: Why replace an antiquated system with one that works just like it quirks included? Why not just keep the antiquated system? Are there performance problems, etc.?
    If you need to upgrade the underlying system/libraries it it's better to have something that uses modern libraries as they're less likely to use depricated features/functions/classes compared to an older version.


Log in to reply