We don't need requirements



  • I've mentioned a few times that I joined a team well into a two year development project. The system was designed, based on the sponsoring users claims, to handle 500-600 million records per day.

    Today was deployment-day. Did we take time to set up a production environment? Well, they bought the servers and installed the OS. Cron-jobs? Who needs them. Did we take the time to test the DB's to make sure they were configured correctly? Nah, not necessary. Did we freeze a month ago, with only code changes resulting from testing? No. Was testing done? No. Was there even a test-plan? No.

    The sponsoring users kept demanding logic changes as they figured out how the system was supposed to behave. Right up to 4PM this afternoon (5PM was go-live). Hell, there was even time today to add new connectivity to a new external data feed. It's not like we need to test those sorts of things or anything.

    We wound up with a non-functioning ill-configured production environment where we simply couldn't fire up the application because the DB indices were AFU, and it was processing at the mind boggling speed of 1 record per second (apparently replicating the configs from the dev DB was not a viable option, don't ask me why). As such, the decision was made by our users to run everything from the dev DB (which was fairly zippy). The prod data would be copied to dev, and we'd just run the processes manually. Um, wait a minute. 500-600MM records into the very modest dev DB? Trash all the scratch tables. Trash all the test DB's. Hell, trash everything. It's not like developers need a place to work or test their code. Make all the room you can for that data.

    Ok. 5PM rolls around. We get the go-ahead to copy the prod data to dev. ~350 records. Let me restate that: about-three-hundred-and-fifty records. 350-f'ing K of data. It took less than one second to process the whole thing. The output report was 1K. The whole thing would have fit on a motherf-----g floppy!

    We send the output report to the sponsor who proudly sends it up the chain. The overlord responsible for the budget looks at it and exclaims "Two years and $MM's for THIS? WTF!?" He then orders all of us into a room to explain ourselves. Why we bought zillions in servers, TB's of san storage, etc. We trotted out the e-mails from the sponsors with the data estimates. They asked us why the hell we were running a prod job in dev? (BTW, our firm policy actually considers this a major no-no). We trotted out all the memos from the sponsors demanding changes right up until the last minute (also a major no-no). They asked us how we managed to re-test all of the components of the system in such a short time. "We didn't because we weren't given ANY time to do testing/stabilization" (mucho major no-no). Finally, they asked us how we even knew the damn thing met the specs. We said "what specs?" The overlords then turned to the sponsor and inquired as to how they could spend 50 man years on a project over two years and not have specs. The sponsors responded that we don't need specifications because it will be done when we don't see any more problems.

    We were thanked for our time and told to go home. The sponsors stayed behind. Personally, I hope they were eaten.



  •  Yet another happily ever after.



  • Oh dear lord. Words cannot express the stupidity at hand here.  How a project like that can even start just boggles my mind in too many ways to comprehend.

    Definitely nominated for front page material.  Bypass the "Best of the Sidebar", this needs the full red-carpet treatment!



  • @skippy said:

    How a project like that can even start just boggles my mind in too many ways to comprehend.
     

     

    Seconded.  The classic way to get clients to stop being this brand of stupid is "every hour of pre-live testing will save 10-20 hours of post-live debugging", but buying upwards of 10-20 times the kit you're gonna need?  Whew, that's a new one.

     

    I wonder if there wasn't some ill-thought-out office politics on the client's end, ass-u-ming that the Big Boss wouldn't see through the pointlessness of it all and would simply assume that 2 years and $MM must be Important and Good.

     



  • @erisco said:

     Yet another happily ever after.

    What's happy about it? We have to go back tomorrow, and show them how they can use this thing to process all of the data from all of the departments in the entire firm (what it was designed to do) --- but try to imagine getting all of the different systems in a large firm to feed into a single system to which they were never designed to communicate... could be millions more... not to mention the politics. Fun!



  • @snoofle said:

    I've mentioned a few times that I joined a team well into a two year development project. The system was designed, based on the sponsoring users claims, to handle 500-600 million records per day.

    Today was deployment-day. Did we take time to set up a production environment? Well, they bought the servers and installed the OS. Cron-jobs? Who needs them. Did we take the time to test the DB's to make sure they were configured correctly? Nah, not necessary. Did we freeze a month ago, with only code changes resulting from testing? No. Was testing done? No. Was there even a test-plan? No.

    ...

    We send the output report to the sponsor who proudly sends it up the chain. The overlord responsible for the budget looks at it and exclaims "Two years and $MM's for THIS? WTF!?" ...  (BTW, our firm policy actually considers this a major no-no)....

    A two year development project with all these factors that you KNOW are major no-nos, and no-one tells the overlord until after the failed implementation? THAT is the real WTF.

    Project sponsors know their business, not technology - they sometimes need us to tell them why something is a bad idea. Inexperienced developers might make fundamental mistakes because they don't understand. But if you're a professional developer who DOES know better but didn't think to tell anyone, then you should be sharing in the culpability.

    If you, as a professional developer, tell them and they refuse to listen, you can complain about the giant WTF. If you, as a professional developer, don't even tell them, then you ARE the WTF. Especially when it's clear that the higher management are the sort that don't just protect the other managers and dump on whoever is at the bottom of the food chain.

    I was working on a project last year where "to speed things up" in a ground-up redevelopment of a pre-existing undocumented and faulty system, the powers that be decided that we BAs should only document new requirements, not the existing system requirements. I recommended and reasoned against this course of action, but was overruled - but I made sure that the decision was recorded as a project risk that the overlords would see. A year later, the project is finally being acknowledged as a failure (for this and other reasons), and there are a lot of questions being asked - but "why didn't you tell us this could happen?" isn't one of them.

    It's not about covering your backside, it's about acting like a professional and giving people the benefit of the experience/expertise they are paying us for.




  • @Paddles said:

    But if you're a professional developer who DOES know better but didn't think to tell anyone, then you should be sharing in the culpability.

    Oh we told them, repeatedly, in three separate weekly project meetings, over the course of several months, through channels, and had the emails to prove it. In this place, if you go over your bosses head, you can also start looking for a job. The only way to send a message "up" is to do it through your boss. You just do it in writing to make sure that when it blows up, it doesn't come back at you! Our bosses did raise the warnings, to the sponsors, who dismissed us as being overly concerned. Sad.



  • Ah... ass-covering email copies. The true sign of the experienced developer. It's a real pitty you'll have to pick up the pieces tomorrow though.



  • @DOA said:

    ...It's a real pitty you'll have to pick up the pieces tomorrow though

    Not really. Fortunately, I speak fluent "manager". We had a meeting this morning. The various managers were busy trying to explain how they tried to raise the red flag and were ignored - full CYA mode. I sat there patiently waiting for someone to ask my opinion. Eventually, it was my turn to speak.

    I pointed out that this wasn't a collosal waste of time, because it could be leveraged to provide a central data warehouse of all of the firm's transaction processing which could then be mined for sales opportunities. A few minutes of buzzword bingo later, they were intrigued (not sure if it was because they could take credit for a grand master plan or because they just wanted to avoid the embarrassment).

    We now have a directive to go forth and plan how to make all this happen. BUT this time, they want to be kept apprised of risks, and they want an actual project plan. They seemed quite pleased that WE were overjoyed at those demands.



  • @snoofle said:

    Fortunately, I speak fluent "manager".

    send me teh codez plz 



  • @snoofle said:

    Did we freeze a month ago, with only code changes resulting from testing? No. Was testing done? No. Was there even a test-plan? No.
    @snoofle said:
    The sponsoring users kept demanding logic changes as they figured out how the system was supposed to behave. Right up to 4PM this afternoon (5PM was go-live). Hell, there was even time today to add new connectivity to a new external data feed. It's not like we need to test those sorts of things or anything.
    @snoofle said:
    Finally, they asked us how we even knew the damn thing met the specs. We said "what specs?" The overlords then turned to the sponsor and inquired as to how they could spend 50 man years on a project over two years and not have specs. The sponsors responded that we don't need specifications because it will be done when we don't see any more problems.

     Hahahahah.... Oh... Wait.. do you work on my project? 

     

     


Log in to reply