Archives for category: Uncategorized

SCENE: A meeting room of an Agile company – white board, projector. 12 people are gathered. It’s a sprint planning session.

WIDOW CRANKY: Oh, I need to have all of my Jira tickets done! They’re all very important!
PRINCIPAL BOY “HELLZAPOPPIN:” But what am I to do? I don’t have enough time or resources to meet your goals!
EVIL WIZARD AVABANANA: We will make everybody work longer only we’ll call it working smarter! That way, if they don’t get the work done it’s because they’re stupid! BWAH HAH HAH!
[AUDIENCE boos, only silently because they are afraid.]
PRINCESS JAZZHANDS: Hasn’t anybody noticed we didn’t get everything done last sprint, or the sprint before that?
AVABANA: Wait, you say there is unfinished work?
AUDIENCE: It’s behind you!
AVABANANA: Where are those missed targets again?
AUDIENCE: It’s behind you!
[EVERYBODY laughs]
SWISHY WASHEE: So how about we sit around and endlessly discuss one of these tickets? I’ve got all day!
HELLZAPOPPIN: Shouldn’t we have done this during sprint planning?
WIDOW CRANKY: I’m visibly aging during these meetings! Isn’t there something we can do?
AVABANANA: Oh no there’s not!
AUDIENCE: Oh yes there is!
AVABANANA: Oh no there’s not!
AUDIENCE: Oh yes there is!
AVABANANA: Perhaps you’d like to rub my magic lamp?
SWISHY WASHEE: I think you need a little bit of my facial cream! [SMASHES A WHIPPED CREAM PIE IN AVABANANA’S FACE.]
GENIE [appearing out of nowhere]: When in trouble you are found, try to turn yourself around! Let me hear your tearful plea, for you now have wishes three!
WIDOW CRANKY: I want infinite knowledge!
AVABANANA: I want people to work eighty hours a week!
HELLZAPOPPIN: I want someone else to blame our problems on!
JAZZHANDS: Can someone drop me off in a nearby dark cave?
SWISHY WASHEE: Oh thank God, I can finally take a toliet break!
GENIE [morphs into an unspeakable horror}: Ieeya! Ieeya! Cthulu p’thang!
AUDIENCE: Oh no you don’t!
GENIE: Oh yes I do! [Eats the audience and cast]

We’re having some problems. Problems with time. Problems with capacity. Problems with promises. Problems with saying no. Ultimately, I kind of see them as problems with reality.
ichabod_crane
Six months ago, this company was trying to do everything without magic at all. Nothing was being delivered, the customers were abandoning ship, and the cabal of developers who had held the whole thing together with duct tape and chewing gum decided to take their 100000 lines of spaghetti code and call it a day. The people who ran the company – those C level people – were left in a desperate place. Looking at a future of poverty and misfortune – or becoming just oh so slightly less rich than they were – it was probably a fairly easy choice to go the black magic route. I mean, everybody’s seen Harry Potter, nobody is too concerned about a little bit of spell casting here and there. We’re just not allowed to mention Death Eaters, or blood sacrifice, or the possibility of everything going tits up once Article 50 is invoked. I mean, shit, how did Brexit get approved, anyway? How did Donald Trump get elected? These are indications of black magic as clear as three “hundred year” floods in a decade are a marker of global warming. Only fools believe in coincidences; practitioners look for the patterns.

The demon-possessed head of development sat at a table surrounded by us, his unwilling minions. We’d had a few of these meetings, and each time he’s made a few subtle changes. I caught that the cables on top of the conference room table now formed a five pointed star, and that one of the ten slides showing our progress was actually a flickering invocation of some sort, the kind that had people chanting as they washed their hands in the bathrooms … completely without realizing it. None of the other managers seemed to have noticed an alteration in how things were being done, and all happily put on white robes and embroidered sashes as they walked in to our “weekly catchup.” I dropped my silver ward beneath my shirt and hoped it was enough.

We sat down and began to go through the progress reports. Line after line, the individual teams’ Jira tickets were called out. A rythm began to form, and the team leaders began to recite the words on the screen in unison. “Over the line,” the dev master said. “Over the line,” everyone repeated. We were lulled into a haze. And suddenly ….

We were in a wagon, with the back covered in white cloth. Each of the so called “scrum masters” sat quietly, holding hands, facing forward. while the man in the driver’s seat cracked his whip. The horses pulling us were black, their hooves shooting sparks as they hit the rocks of the plateau we were careening across, their eyes blood red and glowing. Nothing about them was of the planet I grew up on. And in the distance, I saw the edge, a great gaping maw waiting for our little white Conestoga to arrive.

Behind us, I watched as a tiny man on a donkey galloped along behind us. What would it have taken to have stopped this chase? A peashooter? A particularly juicy clump of grass? The simple word, “No?” But the demon mastered were under the spell. I could not stop my lips from mouthing, “Over the line! Over the line!” as we barreled forward, even though I kept my vocal cords silent. And in the split second before the wheels parted from the earth I grabbed my stop watch and hit go … because I had promised I would do performance testing and this was the only fucking environment to do it I would ever get.

My neck snapped backwards as we collapsed into a singularity and I was back in the room. Everyone looked up, their eyes shining. We were going to do eight projects with only enough time and staff for six, really really honestly, and everyone was saying it and believed it. But on a tiny piece of paper, I scribbled the number, “5,” and tucked it behind the case of my phone. Time had stopped. The meeting was over. We all walked outside to meet our doom. And I had a tiny memorial of the truth that everyone had chosen to believe in the moment of group madness: the time/cost/quality triangle was a reality that no team of supernatural horses could truly escape, no matter how perfectly in unison we chanted. Two projects would die, one would fail due to shifting priorities, and I would get the prize out of a crackerjack box when I reminded myself that I had escaped the group think and kept true to the One True Path of the Triangle. Also, I had my performance metrics. Five: the perfect number.

We had a staff meeting today on the ground floor today, where we keep the veil of secrecy about the rest of our operations quite thick. It was conducted by people with that gleam in their eyes I tend to associate with too many Red Bulls or perhaps that joy backsliding vegans get when they manage to have a sneaky bite of bacon without being called up by the thought police. And it was policing our thoughts they were here to talk to us about – not just our thoughts but our words. Words, you see, make things come to life; and to not say certain words helps make certain things not true. When speaking, we needed to make sure the messages we were sharing were positive, that we spoke well of our environment, projects, and capabilities; because talking negatively helped create bad things. It actually brought them into existence. Whereas if we spoke positively, we would create the positive world of which we spoke.

Sadly, these women knew nothing of more complex sorcery; without blood sacrifice, proper tools, and a strong grasp of Latin or other inherently powerful languages, their belief that “speaking makes something real” was, simply, wishful thinking. They probably also think that a magic eight ball is a valid way of predicting the future. But they spoke their words as if they truly believed – though they could no more make what they said true by speaking it that they could convert a Big Mac and fries into chateaubriand with peppercorn sauce. But all of us knew that to break this code of hypocrisy was to put our jobs at threat.

I walked out the door with the guy who started the same day I did. We got into the cursed elevators – the ones that are slightly out of synch with reality – and somehow managed to trigger the slide out of standard space and time and int an alternate world, one normally only accessible by careful ritual. The door opened and we discovered we were on the icy plains, the one with the altar and the frozen soldiers and the view of the earth, the dead earth, hovering over us in the night sky.

“Well,” I said to him, “the sky sure is clear out here.”

“Yep. Absolutely no air pollution at all. And so silent. This is an amazing place to get work done.”

For a second, I thought I saw a shift in the light on one of the helmeted soldiers, waiting for aeons for the right moment to come back to life and serve their master.

My colleague and I stood silent for a second. His Adam’s apple bobbed as he swallowed.

“I imagine you could really learn a lot about the stars from here.”

And the doors to the elevator reopened, and the light came beaming out, and we took one step back and suddenly it all disappeared.

“Wasn’t that talk so inspiring?” chirped one of the customer support reps who had not noticed the extra stop between floors 3 and 4. “And look! Starbucks is doing pumpkin spice! I just love the holidays. So much to be excited about!” A slight shimmering of dust as the door shut briefly marked the line between planes of existence, than winked out of existence. Perhaps banality really did kill the negative spaces in the world. But nah. I was unconvinced.

It is of no surprise to anyone who practices software as a dark art that, whether engaging in data migration or a much needed exorcism, there is always such a thing as best practice. These are the things you do to keep every one safe. In one case, the failure to impose larger size constraints on a table than on a web form might lead to failure for a user attempting to send a package from point A to point B; in another, the user might, say, find the Shoggoths have gone from serving canapes to removing the heads of the dinner guests.

Everyone is aware of best practice. But in some cases, it’s there more as a gloss to cover the taint of incipient failure – to give a sense of confidence to the less technically inclined. For those of us who are darned well aware of what good looks like (not to mention what evil looks like), our ability to waft a tiny scent of best practice is about as helpful as carrying a rabbit’s foot to the betting shop – although, to be honest, a rabbit’s food can actually be useful for many arcane practices. In other cases, hitting one of the ten best practices you need in order to, say, cast a successful spell is as much good as shoe inspection at airport security. Ain’t nobody’s life been saved from this bullshit.

gypsysigilsSo one of the best practices we want to follow are doing things in the right order and following an accepted pattern that helps build strength. For example, one FINISHES testing before telling people to release a project to live (or to any group of users likely to complain about a lack of perfection); any attempt to have an overlap increases not just the likelihood of duplicate defects being found but of something actually catastrophic making it out there into the real world. Similarly, one first draws the pentagram AND SEALS it before conjuring demons, and does not stop midway through and start chanting and burning offerings thinking it will save five minutes and you can always close the figure later. BAD PLAN.

So today we were engaging in sprint planning, which, apparently, consists of looking at a variety of tickets in varying states of completion and from varying springs. Best practice says DON’T START THE NEW SPRINT UNLESS YOU’VE CLOSED OUT THE OLD, but no, there we were, with the dead of a millennia clogging Jira with their rotting corpses while we attempted to cook up a fresh new meal. Yes, we’re engaging in systemic necromancy. Our plan had been to work through sample sections of the dead in order to prove the value of servants from varying aeons, but what has happened is that our early tasks, to create the potions that will animate the dead, is now suffering from having feet, elbows, eyes, and fingers littering our workroom. In some cases the partially animated bodies are attempting to “help” us with our tasks; in other cases, they’re simply quietly decomposing while nobody bothers to clean up the mess because we’re too busy making a new one. Yes, we’re suffering not just from thaumaturgical debt, but also from creature creep. My interview suit will never be the same, and yes I wore it or the reasons you might suspect.

It’s been a few years. I’ve been at a few companies. I’ve leveled up. I’ve tried to learn certain lessons. Software development can take place without necromancy. But as I have attempted to blaze a path of good … fighting for the new grail of the white ones, the mystic trinity of DevOps/Continuous Delivery/Continuous Integration … I’ve found the old dark ways have wound their way in deeply. This is the church of JFDI. There are no prisoners.

I hadn’t realized I had inadvertently accepted a position with the Lords of Blackware until I went to my first backlog grooming session. There, amidst subtle attempts to warp the space time continuum and overwrite all standard notions of best practices, I caught, out of the corner of my eye, the senior development manager trying and failing to hold on to his human form. At one minute, he was a likeable guy fallen foul of a softening rugby physique; and then, over the top of my wish-they-were-bifocals, I could see the red scaled skin and suppurating sores of a programmer who had long ago signed a contract he truly could not break.

The kicker came when he described joyously the recent conquest of his life partner. “She set a meeting outside of core hours, and one of the developers refused to attend, claiming child care conflicts! Well! I’ll have you know she bit his head off right there and then! Blood on the carpet!”

My god, the man had married a lamia. I can see how they’d be really excellent project managers, but their inability to control their tempers and their taste for human flesh – especially that of children – makes them hideously difficult to control in the corporate environment. Chances are she had to arrange things to ensure she was able to keep in her human-acceptable form, and this person’s attempt to get her to operate OUTSIDE of that time period put her at risk of discovery. A quick and painful death doubtlessly served as a great object lesson to his peers, and I’m sure the fact he was a Salesforce expert meant his absence would be mourned by few of the other members of the team. But my God, to gloat about this in front of us? I briefly saw small trickles of ichor glazing down from the ceiling … only to disappear as I looked through, not around my glasses.

The H. P. Lovecraft Institute of Software Design is now officially BACK IN SESSION.

It’s easy to fall into a humming endless sameness, of up and in and do and listen and finish and leave and sleep. You lose your sense of accomplishing any goal other than making it to the end of each day, then somewhow managing to make it to the start of the next day.

But for me, it all changed the day my boss’ boss came to work riding a polar bear.

I’d spent day after day fashioning a mithril chain blanket, supposedly a more effective defense than a mere firewall for DOS attacks. In the tradition of the modern office economy, I’d made a project plan, scoped the effort, found resources (human, financial, and some kind of exchange with some Elbonian dwarves who were willing to sell us smithed mithril at former European bloc prices in exchange for building them a comprehensive payment processing system that accepted multiple currencies, Paypal, Bitcoin, electrum pieces and first born children), and managed it on a daily basis.

And then one day Uberboss came in on the ultimate carbon neutral transportation device, all white fur and shiny teeth and gleaming blue eyes. His helmet looked great on him – it showed off his beard – but he’d completely changed his mind about the defenses I’d been building for the last four months. Suddenly me and the only other woman on the floor were supposed to turn it into a couple of chain mail bikinis. And we weren’t supposed to be defending the core code base … no, suddenly the most important thing we could possibly be doing is raising the company profile, so that we could get some more investor money.

That’s right, he wanted us to be booth babes.

Now, I’ve attacked invasions of sentient species without question … shared my test plans with hostile “friendlies” I suspected were stealing the bodies of the homeless people in the nearby alleys … posted fake cheerful tweets and blog posts when I couldn’t find a positive bone in my body or any of the animated corpses running the financial team. But not only did he want me to cut up a cloaking device I’d poured my heart into (actual blood was involved but was nothing compared to the endless revisions of that damned Powerpoint presentation I had to give) … but now I was supposed to “big up” Lovecraft Software while 1) freezing my butt off in 2) unfunctional supposed protective gear while 3) men assumed we were ignorant because we were, well, women. And I didn’t take up sword fighting just so a bunch of assholes could check me out and make hunr hunr noises: I did it because it was fun and I liked excitement and I had a bad-assed sparring partner to work with twice a week. And she didn’t want to wear the bikini, either.

Suddenly, I just didn’t care any more. The endless arguments about trying to make things right, the horrible compromises I’d made, the knowledge that without the application of my own blood in three months time that the mithril would magically disappear and my team would be back to fighting off hordes of imps (released when the accounting software did its nightly batch run) using the plastic cutlery we’d stockpiled from the company picnic. Sure, the dwarves were going to get my first child, but I knew darned well that if I didn’t reproduce, the agreement would die when I did.

I opened up a wormhole, tripped a monk seal that had been sunning itself so it fell through, and let the polar bear blunder its way across the office on a killing spree. Then I spoke the words that unbound our careful mail work from its symbiotic connection to my soul. Finally, I took the Stapler of Power – the one I’d inherited from the old test manager – and smashed the RFID memory chip in my ID badge. It had been carved from flakes of fossilized Shoggoth and set of a tiny, black flare that left a smell of burnt hope in the air.

I was free. Time to update my resume and get back on the job hunt!

It’s that time of the year when across the multiverses (at least the ones in which Christianity is celebrated) the online retailers are having a code freeze in order to give people a chance to shop freely. This is a wonderful time for us, when we sit around and go OH MY GOD OH MY GOD CUSTOMER COMPL… oh wait no we don’t care (unless it really is a catastrophe in which case we do care and will sit here for 24 hours at a time until it’s fixed). And so it has been at the HP Lovecraft Institute of Software Design, where our content management system has been … frozen, and we have all been moving slowly.

But … there’s something I’ve been a bit suspicious about. It’s the slowness. It seems to have affected the whole office. At first I thought it was just me, something bought on by the horrible collapse of my immune system that set in shortly after the American election season passed. But then I realized … it’s not just me that can’t think very well anymore … everyone I work with has slowed down. (Except for the people who gave notice – I’m not sure how they got immunity, but I wish whatever they had could be served to me in a cup like Lemsip.)

Now that I’m coming out of my own coma, I’m testing this theory. It appears that in order to maintain the stability of our code, which is abysmal to begin with, we had to put in some tweaks. Our code is now being held together with transdimensional duct tape. In essence, we are borrowing the power that is keeping us from falling apart by tapping into other universes and using THEIR power to stave off OUR entropy. Slowly, ice is creeping across distant planets … delicate life forms are being wiped out … oxygen is escaping from the atmosphere of worlds that are spinning more and more slowly … all so OUR code can hold itself together.

So far, it seems to be working. But obviously there is a cost. And it’s clear that our little “cheat” to get through the holidays was anticipated ages ago. Yes, indeed, tomorrow the bubble gum will snap, and the poorly written spells that have held us in place will bounce back, causing the end of this universe, as anticipated by the Mayans over a thousand years ago. It’s a little embarrassing that we played right into this without realizing it. On the other hand, we’re not really a company that learns from history: and we’re also one that will always take the easy way out if it’s available. I suspect somewhere in a great Godly plain someone places a rook on a giant chess table, and down here someone saw it as an easy capture, thus setting our entire universe up for checkmate.

Yes, we at the H.P. Lovecraft Institute apologize for causing the end of life as we know it. But we wanted to make sure you all had an easy time shopping. And that’s what it’s all about, right? And with that, Merry Christmas, and if any of you figure out how to disconnect our power lines into the world of Nyarlathotep before 2:30 AM EDT, I’d be really grateful if you just went for it. My team is willing to let it pass without any QA; we don’t want the tequila drinking at our annual tamalada to be disturbed, because, when discorporation happens, I want a belly full of of masa and a head full of imaginary mariachi music. The end of the world: lick it, slam it, suck it!

One of the major problems I’ve been dealing with lately has frequently seemed to me to come down either to living in parallel universes that briefly touch or to the tracks of time looping too closely together. When I hear people asking for conflicting things and then repeatedly coming back to the same problem they keep blaming me for (it’s always “Why are things taking so long? Why can’t we release this sooner? Why do we want to make such a strong containment field for a second level mind rotting mold – can’t we just spray the inside of a jam jar with Lysol and call that good?” followed by “Why didn’t you test that? Don’t you always try all four thousand arcane summoning languages when you’re verifying the address validation fields?”), I am not sure if I’m reliving the month of July all over again (same on the inside, gloomy office building, but the outside now features less sun) or if in one universe eveyrone wants something fast, and in the other universe everyone wants things done right, and I’m the one that keeps getting shifted between the two. The alternate is that people want two things that are in conflict and that they’ve never read the really basic stuff about how you can have TIME COST or QUALITY but not all three fixed. IT’S A TRIANGLE PEOPLE AND THE GLOP HAS GOT TO MOVE SOMEWHERE.

So I’m in a world where the glop stops here, on my lap, and I can’t figure what the fuck to do about it because, try as I might, I can’t get locked into one of the universes that is run by sane people and every day when I open the door and walk in I have no idea if it’s going to be normal boss or the one with three heads breathing fire, nerve gas, and electriity (and on the good days I think they eyes might be seeing eldritch beings floating behind me, only they’re actually imaginary as opposed to the real ones I get in Flaming Boss Universe). I have all of the insanity to deal with and it doesn’t want to go away. No wonder I keep having group outings to buy bacon sandwiches: each bite is proof of a better universe existing somewhere, if only in my mouth.

All seemed to be truly lost when I did some simple arithmetic and proved that, basically, now that my left hand man had been sacrificed to Mammon, it was going to be impossible to ever reduce the heaving mass of evil down to something that wouldn’t randomly wipe out the grain harvests of entire nations every time we did an upgrade. My thought was to lock myself into a titanium lined garbage can with a few hundred Jane Plan meals and keep the lid down tight until the Christmas season was over. By that time I figure the universe would have reorganized itself so many times that I might actually emerge into one of the more positive world, possibly one of the ones where people believe in refactoring code AND good bagels are readily available. Or, you know, I could walk into the world in which the government has decided to trade away all workers’ rights legislation in exchange for a handful of magic beans.

And then … it seemed that the god Mammon did speak to me. For lo, the following things did occur:
1. In a bloody duel to the death between lesser mage one (fire breathing) and lesser mage two (Wondertwin Powers Activate!), I used Elixir of Elderflower Tea to placate the second, and was given an audience with Ultimate Lord of Darkness but mis-sold it as a chance to trial run a presentation I was hoping to give to a test conference in two months time. I quickly donned my runic robes, grabbed a +2 magic harp … and darned if the magic harp wasn’t into bebop, JUST LIKE U.L.D.

2. U.L.D. saw that the “if I only had a brain” joke slide was actually a desperate plea for investment in test automation … DISGUISED AS a free improv on “Night in Tunisia.” The room full of big execs was sitting there, nodding their heads, the smoke coming out of the censers waving in harmony … and as I walked out of the room I had two wristbands of artifice placed on me, like Wonder Woman getting her Amazonian birthright restored. The U.L.D. was pleased. Woohoo! And as they say, that and a dollar will get you a cup of coffee, if you can time travel to 1985.

3. The next week I went into a meeting (it’s called “resourcing” but it’s really “putting you off until you give up”), received some electrified darts of disaster from the organizer … which bounced off of my wristbands and embedded themselves into one of my tailing invisible horrors (never know which days those have decided to manifest themselves). The tagged horror followed me back to my desk and stood there, moaning piteously, until I removed the dart. But this gave me an idea. I gathered up all of the spent darts from the previous month’s meetings (it wasn’t difficult to figure out where they were based on the moaning level), then waited until the person who ran said meeting went on vacation the next week. Then 4. I represented my idea, lightly enchanted with an accompanying plate of chocolate chip cookies … and flicked darts into everyone there. My piece de resistance: telling everyone my project would SAVE THE COMPANY MONEY.

By the end of the week, when I tugged the little strings attached to the darts, everyone was nodding their heads like Pinocchio at the puppet show, or the press corps in Kander & Ebb’s Chicago. My project was approved, everyone agreed it was necessary, and with a little bit of magic with colored markers, it had been squeezed onto the schedule for the end of the year. Who would think that when I thought I needed a major alteration to people’s pictures of reality, that all I needed to do was to appeal to greed in order to become the great puppet master? I’ve still got a huge stock of the Jane Plan meals to get me through Christmas, but hey: they’re saving me money, and maybe even helping me slim down. Or they would be if I could keep away from the bacon sandwiches. But life’s too short to make certain sacrifices, especially when it’s your team that starts buying them for you.

Somewhere in a parallel universe to mine someone is dreaming of a dusty plain. I look out from mine and see the dead on the ground, victims of too much infighting. When faced with an enemy, we turned on each other. I am left standing with my few trusted team members: I’ve somehow managed to not buy into the “point fingers at who I’m willing to have exterminated in order to protect myself” management mantra, and my worthy sergeants and foot soldiers are still standing. But I can feel them drifting away … not abandoning me, just trying to find safer places to hide.

Then from a distance a column of dust rises into the air. As it gets closer, I realize what is approaching me is the most feared mobile metal object of all times: a clown car. Contained within the Herbie the Wonderbug exterior is a carnival of horrors: twenty four developers in Juggalo clown paint.

The car pulls up in front of me. The door opens. I am dragged inside, kicking and screaming, into the swirling madness of the clown programmers.

They want one thing and one thing only. They want me to test their code. Because, you see, you CAN test quality in if you shove hard enough.

It’s another scary day at Lovecraft Software. The chief necromancer was listening to a groveling status report from a bunch of his lesser flunkies describing the architecture of our billing database. As near as I could tell, when some of the more obscure settlement features were ran, the entire thing would freeze up. This had been managed by the creation of a sanity-stealing demon horde emitting from the computer terminal if anyone happened to check to see if the batch job was running. The necromancer roared, “How dare you deliberately misarchitect this!” Of course, my problem was that I hadn’t noticed it was happening (I was fortunately always out to lunch when the key process crapped out), but for once the blame was being placed on the people who had made it work wrong in the first place and I was feeling the schadenfreude all the way to the bottom of my shoes.

Comically enough, the NEW way of handling it is that they’ve built in a class three imp that is released with a paralysis dart they use to stab the person sitting in front of the monitor. The freeze still happens, but the user recovers (an hour or two later) and is able to continue making sure that all of the various magical things that accounting departments do can take place. Given their reputation for unresponsiveness, this is considered to be a change that will be invisible to our end users.

The cause of the chief necromancer’s rate was NOT the deliberate misarchitecture: it’s that, when the accounting departments of our clients slowly went, one by one, batshit mental, we weren’t getting our money from them. Now, well, our software won’t work any better, but we’ll still get paid.

And I think at times that we’re not making any progress at improving our software.