Saturday, April 25th, 2015 03:40 am
moment of zen
Fortunately, my job and how television portrays it (Quality control, aka program testing) isn't a subject for television because generally one hour drama doesn't focus on the minutia of a company building a program step by step because come on, that can be a multi-year process.
....with one exception.
I once ran across the dramatization of the dev process (montage-like) on TV and watched because it's kind of soothing to watch developers suffering (they're like a floor away from me and I've had a bad week, okay?) until we got back to real time and I promptly lost my mind.
A Summary of the Horror:
They're like "almost there after weeks of (montage) work, oh noes there's a null character mcguffin plot reason thing must get it out like right now tonight no waiting!" or something like that, how do you even know this you just finished the last line and haven't compiled it...hold up, where are the design docs, I haven't seen any since this started, how are they--and they're all scanning the source code--scanning a million lines of source code with their eyes ON SINGLE MONITOR WHY, not even using a search algorithm--who does that, what kind of fucking IDE are you using, why don't you have color enabled to make this easier, wait, that looks like microsoft notepad with the background painted black-- "OH FOUND IT FIXING IT NOW" wait, no, did you erase something and then hit enter that's a new line, but go back, problem, the mcguffin wouldn't be in there, that's in a class file, why are you--hold up, what language is this-- "Okay, compiling now!" holy shit did you just-- "Almost done!" wait, what, no, you can't do that, you don't fly edit your code (that did like magic or word processing, they weren't clear) have you ever heard of debug or like-- "Okay, done, send it--" IN TEN SECONDS REAL TIME THAT WASN'T A MONTAGE "--to whothefuckever we can start distribution like next week awesome going to hawaii!" WHAT THE FUCK ARE YOU DOING YOU DIDN'T EVEN RUN IT-- "Everyone go on vacation now bye!" NO NO YOU UNIT TEST SYSTEM TEST USER ACCEPTANCE LAST HAS TO CHECK FOR MEMORY LEAKS AND LOAD AT LEAST RUN SOME AUTOMATED SCRIPTS WHAT ARE YOU DOING DID YOU EVEN CHECK TO SEE IF IT EVER WORKED IN A REAL-TIME ENVIRONMENT BECAUSE YOU MACHINES ARE SET TO IDEAL CONDITIONS NOT THE WILDS OF PRODUCTION--
I'll spare you the rest--they say when the trauma becomes too much, the memory's blocked so sanity can be retained--but one thing's really just bothering me here.
In this ultra-tech, totally pro too many coffee cups suspiciously unstained and without chips or being shattered against the wall and no crumpled up design documents because the analysts are sadistic fucks and will give you three contradictory rules and don't understand how to use Visio or the concept of driver flow...all the super-cool computers only had one monitor each.
I get it now.
This is about a desperate dev team torpedoing the project due to hideous working conditions, inadequate equipment, lack of support personnel, and no design documents because they were set up to fail by an evil CEO who wanted to cut corners and get rid of the entire dev department to bring in an alien design team from Mars (who secretly plan to conquer the world because even aliens wouldn't agree to this nightmare unless they had another motive entirely) and now it all makes sense!
The frightened dev team (who obviously have been playing along with the evil CEO all this time but know the truth) gets to their secret base in Hawaii (everyone has three monitors, four if you need to watch real-time data from the server and query the database) where they're joined by ten heroic QC analysts with all their personal automated and manual scripts ready for action loaded on flash drives, three years worth of regression testing data, the latest version of the design and change documents (with screenshots!) stolen from the sadistic analysts (who now we know were paid by the alines) and the entire defect history they stole from the company's secret database (at great risk of their lives) led by the mysterious yet plucky analyst who planned it all, her personal laptop on her shoulder and fire in her eyes.
("Who are they?" one of the developers asks resentfully as they colonize one of the meeting rooms, booting up the provided computers and verifying the programs they requested are loaded and verifying their full and unrestricted access to all the environments as well as the servers. HIs eyes widen as one of them opens up PLSQL and logs into the most guarded environment: dev1. "What the hell--"
"Don't," said the crusty project manager, throwing out an arm to stop his aborted storm, his relief obvious at their presence; he learned this lesson the hard way and has never forgot (the program crashed like a lot and so many end user complaints; like a nightmare in text form; never again, he thinks to himself; never again). "Let them be. We know not their ways and can never hope to. Go work on the program; they'll do the rest.")
The drama is huge, and the stress level gets to everyone, climaxing in a shouting match between the likable but somewhat arrogant dev who keeps saying it's working as designed but the plucky analyst won't back down, flourishing screenshots and screen recordings while her team desperately searches the design documents and highlights all the relevant rules--it's here, BR-TOS-IS-04 and 05, you see it, get me SR 786747, I--er, I mean 'she'--bookmarked that, she remembers it was added as a design correction after Defect 784--and finally--finally--he believes her.
("How?" he asks in awe, humbled and amazed by turn, breathless; for so long, he thought dev was all that mattered and QC was but a rubber stamp who did nothing but argue about trivialities in the code like petulant grammar prescriptivists about the word 'literally' used as hyperbole--but now, he wonders, uncertain: who is truly the heart of development? "How can you remember a business rule among dozens from an SR that's among the hundreds--nay, thousands--that you personally tested over a period greater than seven years?"
"I'm a tester," she says, raising her chin and meeting his eyes with hard-earned wisdom and compassion, understanding and forgiveness written into her faint smile, and he can't help but look away so she won't see his tears of relief; he's not worthy. "It's my job to remember and track program changes in my multiple Excel spreadsheets with subs and custom functions I hand-coded myself. Not for me, Dev Person; for the program. Do you understand now? It's not about us, Dev Person; it's about the program."
He nods, throat tight; how can someone so brilliant and confident be so selfless? It's about the program; only a mind like that--once in a hundred generations--could have conceived of such a universal truth. "Thank you."
She grins, tilting her head mischievously. "You ready to do this?"
"Yes," he says, straightening at her certainty that he can do this; her faith in him could light the world. He won't fail her. Or the program. "I am.")
They frantically fix the error and re-test--failure!--re-test--FAILURE!--(there may be crying in the bathroom but she comes back out after cold water and the subtle application of concealer to try again)--but finally--finally--they're there.
Debug complete, code validated twice, unit passed, joint passed, user acceptance passed, time for the big leagues, no more developer environments, no more user environments, no more controlled variables, all bets are off, it's time for the final testing phase: the environment where the rules are there are (almost) no rules, where anything can happen, prodfix and the best, last, and only way to test in near-real world conditions.
Shit. Just. Got. Real.
They all watch the three LCD TVs on the wall while the automated tests play on screen one (456985.01...PASSED! 456985.02...PASSED! 456985.03...) while at the same time the determined, plucky analyst frantically performs the final manual test for a live audience (she's never done this before, her fingers keep slipping on the keyboard--step one, passed; step two, passed-- God, the typos but she's only got one chanced to get this right or the world will end because there's no guarantees here, what works in a controlled environment may not work here, prodfix is a good mimic, but that's all it is when it comes to the perils of the real world, so she's gonna have to improvise here--step eight, passed; step nine, passed, crap get the screenshot, phew--the pressure is enormous (a single drop of sweat hovering attractively on her temple as she bites her lip, eyes narrowing in concentration, unaware Dev Person is watching her, thinking it's a privilege to be here at this moment in the presence of greatness)--step twenty-eight, passed; step twenty-nine, passed--and maybe she was wrong, maybe that defect wouldn't have mattered (no, no, you don't approve flawed code, focus)--step fifty, passed; step fifty-one, passed--
--step eighty-fucking-three...passed.
("Seppy," someone says, but she can't see anything but the center screen right now--that was the last step, that means that... Gently, he moves her cramped fingers from the keyboard, and leaning over her shoulder, smelling of break room coffee and toner when the printer exploded from a secret bomb, and gently clicks 'close', and before her eyes, she sees it on three (maybe five by now) TVs, and all sixty-inch LED: all tests passed. "You did it."
She nods, dazed, as she stumbles to her feet and he catches her before she faints (it's been a fucking long testing period and finger cramps hurt) and leads her to the center of the room and she realizes the silence is waiting. For her.
"Passed," she says, voice scratchy and broken, and she swallows frantically before saying again, "Passed. UAT passed."
After a moment, she realizes the noise she hears is applause, louder and louder, and she's unable to stop the tears because yeah, she always knew it was all about the program.
"Not just me," she whispers, looking up at him, and it humbles him how he can see believes it when the truth is, it's her. All her. "We did it."
He won't argue, not now; some people, he suspects, are just too pure to truly grasp how they're the center of all things. But one day, maybe she'll understand. He'll spend his life trying.)
And....they save the world somehow, no idea. Like I said, I should have watched the rest of the show. But this is totally what happened next. If anyone happens to see it, tell me how it ends?
....with one exception.
I once ran across the dramatization of the dev process (montage-like) on TV and watched because it's kind of soothing to watch developers suffering (they're like a floor away from me and I've had a bad week, okay?) until we got back to real time and I promptly lost my mind.
A Summary of the Horror:
They're like "almost there after weeks of (montage) work, oh noes there's a null character mcguffin plot reason thing must get it out like right now tonight no waiting!" or something like that, how do you even know this you just finished the last line and haven't compiled it...hold up, where are the design docs, I haven't seen any since this started, how are they--and they're all scanning the source code--scanning a million lines of source code with their eyes ON SINGLE MONITOR WHY, not even using a search algorithm--who does that, what kind of fucking IDE are you using, why don't you have color enabled to make this easier, wait, that looks like microsoft notepad with the background painted black-- "OH FOUND IT FIXING IT NOW" wait, no, did you erase something and then hit enter that's a new line, but go back, problem, the mcguffin wouldn't be in there, that's in a class file, why are you--hold up, what language is this-- "Okay, compiling now!" holy shit did you just-- "Almost done!" wait, what, no, you can't do that, you don't fly edit your code (that did like magic or word processing, they weren't clear) have you ever heard of debug or like-- "Okay, done, send it--" IN TEN SECONDS REAL TIME THAT WASN'T A MONTAGE "--to whothefuckever we can start distribution like next week awesome going to hawaii!" WHAT THE FUCK ARE YOU DOING YOU DIDN'T EVEN RUN IT-- "Everyone go on vacation now bye!" NO NO YOU UNIT TEST SYSTEM TEST USER ACCEPTANCE LAST HAS TO CHECK FOR MEMORY LEAKS AND LOAD AT LEAST RUN SOME AUTOMATED SCRIPTS WHAT ARE YOU DOING DID YOU EVEN CHECK TO SEE IF IT EVER WORKED IN A REAL-TIME ENVIRONMENT BECAUSE YOU MACHINES ARE SET TO IDEAL CONDITIONS NOT THE WILDS OF PRODUCTION--
I'll spare you the rest--they say when the trauma becomes too much, the memory's blocked so sanity can be retained--but one thing's really just bothering me here.
In this ultra-tech, totally pro too many coffee cups suspiciously unstained and without chips or being shattered against the wall and no crumpled up design documents because the analysts are sadistic fucks and will give you three contradictory rules and don't understand how to use Visio or the concept of driver flow...all the super-cool computers only had one monitor each.
I get it now.
This is about a desperate dev team torpedoing the project due to hideous working conditions, inadequate equipment, lack of support personnel, and no design documents because they were set up to fail by an evil CEO who wanted to cut corners and get rid of the entire dev department to bring in an alien design team from Mars (who secretly plan to conquer the world because even aliens wouldn't agree to this nightmare unless they had another motive entirely) and now it all makes sense!
The frightened dev team (who obviously have been playing along with the evil CEO all this time but know the truth) gets to their secret base in Hawaii (everyone has three monitors, four if you need to watch real-time data from the server and query the database) where they're joined by ten heroic QC analysts with all their personal automated and manual scripts ready for action loaded on flash drives, three years worth of regression testing data, the latest version of the design and change documents (with screenshots!) stolen from the sadistic analysts (who now we know were paid by the alines) and the entire defect history they stole from the company's secret database (at great risk of their lives) led by the mysterious yet plucky analyst who planned it all, her personal laptop on her shoulder and fire in her eyes.
("Who are they?" one of the developers asks resentfully as they colonize one of the meeting rooms, booting up the provided computers and verifying the programs they requested are loaded and verifying their full and unrestricted access to all the environments as well as the servers. HIs eyes widen as one of them opens up PLSQL and logs into the most guarded environment: dev1. "What the hell--"
"Don't," said the crusty project manager, throwing out an arm to stop his aborted storm, his relief obvious at their presence; he learned this lesson the hard way and has never forgot (the program crashed like a lot and so many end user complaints; like a nightmare in text form; never again, he thinks to himself; never again). "Let them be. We know not their ways and can never hope to. Go work on the program; they'll do the rest.")
The drama is huge, and the stress level gets to everyone, climaxing in a shouting match between the likable but somewhat arrogant dev who keeps saying it's working as designed but the plucky analyst won't back down, flourishing screenshots and screen recordings while her team desperately searches the design documents and highlights all the relevant rules--it's here, BR-TOS-IS-04 and 05, you see it, get me SR 786747, I--er, I mean 'she'--bookmarked that, she remembers it was added as a design correction after Defect 784--and finally--finally--he believes her.
("How?" he asks in awe, humbled and amazed by turn, breathless; for so long, he thought dev was all that mattered and QC was but a rubber stamp who did nothing but argue about trivialities in the code like petulant grammar prescriptivists about the word 'literally' used as hyperbole--but now, he wonders, uncertain: who is truly the heart of development? "How can you remember a business rule among dozens from an SR that's among the hundreds--nay, thousands--that you personally tested over a period greater than seven years?"
"I'm a tester," she says, raising her chin and meeting his eyes with hard-earned wisdom and compassion, understanding and forgiveness written into her faint smile, and he can't help but look away so she won't see his tears of relief; he's not worthy. "It's my job to remember and track program changes in my multiple Excel spreadsheets with subs and custom functions I hand-coded myself. Not for me, Dev Person; for the program. Do you understand now? It's not about us, Dev Person; it's about the program."
He nods, throat tight; how can someone so brilliant and confident be so selfless? It's about the program; only a mind like that--once in a hundred generations--could have conceived of such a universal truth. "Thank you."
She grins, tilting her head mischievously. "You ready to do this?"
"Yes," he says, straightening at her certainty that he can do this; her faith in him could light the world. He won't fail her. Or the program. "I am.")
They frantically fix the error and re-test--failure!--re-test--FAILURE!--(there may be crying in the bathroom but she comes back out after cold water and the subtle application of concealer to try again)--but finally--finally--they're there.
Debug complete, code validated twice, unit passed, joint passed, user acceptance passed, time for the big leagues, no more developer environments, no more user environments, no more controlled variables, all bets are off, it's time for the final testing phase: the environment where the rules are there are (almost) no rules, where anything can happen, prodfix and the best, last, and only way to test in near-real world conditions.
Shit. Just. Got. Real.
They all watch the three LCD TVs on the wall while the automated tests play on screen one (456985.01...PASSED! 456985.02...PASSED! 456985.03...) while at the same time the determined, plucky analyst frantically performs the final manual test for a live audience (she's never done this before, her fingers keep slipping on the keyboard--step one, passed; step two, passed-- God, the typos but she's only got one chanced to get this right or the world will end because there's no guarantees here, what works in a controlled environment may not work here, prodfix is a good mimic, but that's all it is when it comes to the perils of the real world, so she's gonna have to improvise here--step eight, passed; step nine, passed, crap get the screenshot, phew--the pressure is enormous (a single drop of sweat hovering attractively on her temple as she bites her lip, eyes narrowing in concentration, unaware Dev Person is watching her, thinking it's a privilege to be here at this moment in the presence of greatness)--step twenty-eight, passed; step twenty-nine, passed--and maybe she was wrong, maybe that defect wouldn't have mattered (no, no, you don't approve flawed code, focus)--step fifty, passed; step fifty-one, passed--
--step eighty-fucking-three...passed.
("Seppy," someone says, but she can't see anything but the center screen right now--that was the last step, that means that... Gently, he moves her cramped fingers from the keyboard, and leaning over her shoulder, smelling of break room coffee and toner when the printer exploded from a secret bomb, and gently clicks 'close', and before her eyes, she sees it on three (maybe five by now) TVs, and all sixty-inch LED: all tests passed. "You did it."
She nods, dazed, as she stumbles to her feet and he catches her before she faints (it's been a fucking long testing period and finger cramps hurt) and leads her to the center of the room and she realizes the silence is waiting. For her.
"Passed," she says, voice scratchy and broken, and she swallows frantically before saying again, "Passed. UAT passed."
After a moment, she realizes the noise she hears is applause, louder and louder, and she's unable to stop the tears because yeah, she always knew it was all about the program.
"Not just me," she whispers, looking up at him, and it humbles him how he can see believes it when the truth is, it's her. All her. "We did it."
He won't argue, not now; some people, he suspects, are just too pure to truly grasp how they're the center of all things. But one day, maybe she'll understand. He'll spend his life trying.)
And....they save the world somehow, no idea. Like I said, I should have watched the rest of the show. But this is totally what happened next. If anyone happens to see it, tell me how it ends?
no subject
From:(- reply to this
- thread
- link
)
no subject
From:There may be perfect code, yes, and it's beautiful and everything, but there is nothing--and I do mean nothing--that a user can't figure out a way to fuck up (I do it professionally, I know).
(I do, now, complain about functionality with Microsoft and other programs on a different level. Like WHY DOESN'T THIS WORK combined with MAYBE I SHOULD SEND THEM MY NOTES. Every so often I catch myself validating something I just installed with a mental checklist instead of using it: "Does this work, does this work, is it supposed to" and catching myslef treating Help like a design doc "Where is the reference for this? Is there a link to the decision tables?")
(- reply to this
- parent
- thread
- top thread
- link
)
no subject
From:(- reply to this
- parent
- thread
- top thread
- link
)
no subject
From:(This is totally unlike the oracle ora files, which no one ever erases anything ever because there are so many environments and everyone has their own; on my copy is about eight to ten years worth of username/string changes that are just commented out as they update or change. Even with environments that no longer exist; it's like, sure, we could remove that but why risk the cyberrage of the ghosts of dev8 and LaST6? They want to be remembered at 23.4.67.890; that was theirs, once.)
Though I can't knock the dev team when I see what the front end interface people sometimes do, which is think their css and markup are so bleeping obvious that no, they don't need to explain why surprise!style block shows halfway down the page sandwiched between surprise!javascript and wait, that wasn't there before what the hell? I have yet to actually accuse anyone using Microsoft Word save to web page as their IDE of choice, but it's been a close, close thing.
I get this is modular and ten different people have worked on this, but that's why you comment when you make changes; otherwise, you get me sending everyone on the interface team an email saying "THIS PAGE HAS ALL TAB NAVIGATION DISABLED HOW WHY WHERE DID YOU PUT THAT AND WHY? IT WAS FINE YESTERDAY!" Which variations of that happen like a lot and if I worked on interface, I'd be murderous if I had to find and fix that in that kind of mess (and get emails from the test team going 'did you fix that because the entire testing process is dead in the water until we can actually use that page'.
(- reply to this
- parent
- thread
- top thread
- link
)
no subject
From:(- reply to this
- parent
- top thread
- link
)
no subject
From:Wouldn't it be nice to be abLe to send usability testing notes to all the software companies?
(- reply to this
- parent
- thread
- top thread
- link
)
no subject
From:(- reply to this
- parent
- top thread
- link
)
no subject
From:(- reply to this
- thread
- link
)
no subject
From:(- reply to this
- parent
- top thread
- link
)
no subject
From:Like, I have this one where it opens on a mysterious, dimly-lit room of people hunched over multi-monitor computers and someone in the shadows saying, "Okay, break it." and the room springs into action and tehy're watching a screen at the back of the room and it shows the numbers climbing and suddenly--because audiences need help understanding--SERVER CRASH in red blinks across the screen for each server and the mysterious leader says "We did it" and the room breaks into applause.
Then the door bursts open and the lights come on and a group of harried looking guys come in and join the mysterious leader at the front of the room and regard the monitor sourly and are like, "This doesn't mean--"
"Dude," she says, "it took five minutes for eighteen of us to crash the server testing regular functionality under normal conditions. Did you see the CPU spike during submissions? You can't handle a million users hitting your site like the fist of a pantheon of very demanding gods."
Inspired by the crash of the health care site, where I was almost shouting at every article "DID NO ONE CHECK LOAD BALANCE? WHAT KIND OF BULLSHIT IS GOING ON OVER THERE?"
...sorry, this happens sometimes.
(- reply to this
- parent
- top thread
- link
)
no subject
From:I love the way testers sport those tooled leather bandoliers that hold two dozen flash drives in chrono order.
(- reply to this
- thread
- link
)
no subject
From:(- reply to this
- parent
- top thread
- link
)
no subject
From:(ask me about week five of our one-day system update! ASK ME)
(- reply to this
- thread
- link
)
no subject
From:*SENDS HUGS*
(- reply to this
- parent
- thread
- top thread
- link
)
no subject
From:*boggles*
(- reply to this
- parent
- thread
- top thread
- link
)
no subject
From:(- reply to this
- parent
- thread
- top thread
- link
)
no subject
From:We're having fun with the supplier's API, because allegedly it replicates all the functionality of their direct interface, except that it really doesn't and possibly no one except us has ever even tried to use the API (given how many crucial things just aren't there...)
(- reply to this
- parent
- thread
- top thread
- link
)
no subject
From:May the gods of computers be with you.
(- reply to this
- parent
- top thread
- link
)
no subject
From:I just finished my hellish Goto shift (the daytime oncall developer who is supposed to be the goto person for builds and incidents and general support questions) for a product team that I was moved to a month ago, for a bunch of products I've never used or coded for, while being a remote developer. Guess how much help I was. Go ahead, guess.
To my credit, I only cried my first day. After that, I found I have enough room in my cubicle to spin with both arms outstretched flipping the bird to the world, and that helped a lot.
The pressure eased somewhat when the business analyst realized that we could not make a code change in UAT to meet his ridiculous timeline for the push to PROD (Who approves a release to PROD at end of fiscal? WHO?), so the change had to be made in DEV and promoted back up the line with full QA testing. If it hadn't been for an SSL conflict with an iframe, that flawed code would have made it to PROD and we would have been DOOMED. (I am judging the original programmer so hard. He did bad things and should feel bad.)
I am still struggling with trying to get this razzer-frazzer other build working on UAT, while muttering imprecations about whoever made the web.config changes without leaving any notes or propagating the changes up the line. Thank God for WinMerge.
So yes, this is BEAUTIFUL.
(- reply to this
- thread
- link
)
no subject
From:That is waht makes life worth living.
The pressure eased somewhat when the business analyst realized that we could not make a code change in UAT to meet his ridiculous timeline for the push to PROD (Who approves a release to PROD at end of fiscal? WHO?)
...so it's not just our analysts that do that? They like oh, it's only the second to last week in testing before deployment, LET US THROW THIS IN EASY RIGHT. We were doing a Q&A Tech review--a tech review on non-finalized design--ten days before deployment. They promoted it from DEV to UAT1 in a morning baseline and the code wasn't even done and told me to test it. (Actual words: "It'll be fixed by production." Me: ....)
I have actually said to my boss "Are they drunk?"
If it hadn't been for an SSL conflict with an iframe, that flawed code would have made it to PROD and we would have been DOOMED. (I am judging the original programmer so hard. He did bad things and should feel bad.
I've never worked out whether this is something that kind of needs to happen about once a year just to remind everyone what not to do. Sure, it's hideous and so much overtime, but its a nice few months after where everyrone remembers the rules are there for a reason.
(Ours? Oracle upgrade combined with a major modification release. I did an entry on it and we had to scrub six weeks out testing and data.)
I am still struggling with trying to get this razzer-frazzer other build working on UAT, while muttering imprecations about whoever made the web.config changes without leaving any notes or propagating the changes up the line. Thank God for WinMerge.
*Sends support* Deep breath. All things pass, and this is why the mobile team gets a pizza party after our mobile releases.
(- reply to this
- parent
- thread
- top thread
- link
)
no subject
From:Drunk sounds about right, or secretly participating in a reality show of "how slowly can we boil this pot until the rest of the frogs jump?"
(- reply to this
- parent
- top thread
- link
)
no subject
From:(- reply to this
- thread
- link
)
no subject
From:(- reply to this
- parent
- top thread
- link
)