The Unicorn Project
Page 20
We don’t even need guards anymore. We love being prisoners so much, we just think the bars are there to keep us safe.
She is about ready to leave when a young man with a ponytail and a laptop underneath his arm enters the conference room followed by two people.
“Oh, no,” Maxine accidentally says aloud. This is Jared?
He’s even younger than the intern who helped her on her first day here. She has nothing against young engineers. On the contrary, her fondest hopes and aspirations lay in the hands of the next generation, and she does everything she can to help them achieve their goals. But it’s so difficult for Maxine to think that Jared is more qualified to resolve this outage than everyone else in the room. If Jared can deploy changes, we should be able to too, she thinks.
Maxine watches as he sets up his laptop to perform the code push. It takes him ten minutes to get successfully logged in, get the link to the code that needs to be pushed, confirm with everyone that it’s actually the right code … Just like in all the movie scenes about coding that Maxine poo-pooed, a crowd gathers behind Jared, waiting in breathless anticipation as he performs his work. When he finally says, “It’s in,” people clap him on the back.
Maxine rolls her eyes in frustration. She’s glad Jared performed the work, but come on, all he did was a bunch of copying and pasting and clicking a button.
When Maxine asks the middleware manager if the problem has been resolved, the manager replies, “Not yet. Now that Jared put it into the last release branch, he needs to work with the Ops people to get it deployed into production.”
The patient still hasn’t been saved. He needs to be transported to the next department for that. She decides to follow Jared, more out of a sense of morbid curiosity then any sense of adventure.
Four hours after following Jared out of the room, Maxine is dazed and disoriented. Any sense of well-being and excitement that Maxine had working on the Data Hub environments has vanished. And Maxine is missing something else—she is no longer certain about what is good, what is bad, and the processes that govern her world.
She also feels distinctly unwell. Am I running a fever?
It all started when she followed Jared two floors down to the ground floor, where Operations resides. In an Ops conference room, she recognized Wes and Patty, but almost no one else, although they all looked uncannily similar to each other.
The room looked almost the same as the merging war room upstairs. Same furniture, same speaker phone on the table, same projector on the ceiling. But sitting around the table are a completely different group of people discussing the exact same topic as upstairs: how to get this urgent change deployed. Only they’re discussing slightly different obstacles: No changes outside of the maintenance windows. ITIL. Security. Change Management. Compliance. Different ticketing system. Same number of fields that need to be filled in, and the same errors when you miss a field. Same escalation processes but different people.
They’ve pushed an emergency change request to Bill Palmer, the VP of Operations, and Maggie Lee, the senior director of product marketing. And just like upstairs, everyone is standing around waiting for approval.
At five o’clock, someone orders pizza. Maxine follows everyone to the lunchroom, identical to the one upstairs. When she sees the pizza, she almost trips and falls—it’s from the same place as the pizza brought in for the merging lunch yesterday.
The same pizza, being eaten by different people, complaining about the same problems. It is then that Maxine starts to really feel sick, the room spinning slightly. Maybe I’m just hungry? But the look of the pizza instantly turns her stomach.
Maxine feels like she’s replaying the same scene of a movie that she just lived through six hours earlier. Like some horrible version of Groundhog Day, she thinks. Like Bill Murray’s character, she is doomed to replay the same day over and over. But for Maxine, they keep changing all the actors. First, they’re Dev, then they’re QA, and they’re Ops. But it’s all the same.
Up until now, deep down Maxine suspected developers were being imprisoned by a heartless, evil, uncaring bureaucracy. Maybe it was run by Operations or a secret ITIL change management cabal. But after following Jared into the heart of Operations, she sees that Ops is imprisoned by the same wardens as the developers upstairs.
Who profits from all of this? Who benefits by oppressing everyone in the technology organization? Maxine doubts that Chris or Bill are the wardens of this endless sea of prisons. If anything, they’re prisoners too.
Maxine throws away her slice of pizza before even taking a bite. Back in the conference room, Wes announces the urgent change was just approved. Maggie (the person who needed to approve the change) had missed their first calls because she was at her own birthday party, but she’s stepped out now to join the conference call.
It takes forty minutes to push out the change. Maxine watches as the teams rummage in network shares, wiki pages, source code repositories … Patty then confirms that the problem has been resolved.
Wes thanks everyone for staying so late, and people start to disperse. Soon, Maxine is alone in the conference room. The lights start to turn off as motion sensors no longer detect movement. In the dark, Maxine wonders how the oppressive bureaucracy gained so much control.
It’s just like Erik said. This is the opposite of the Third Ideal, where instead of improving the processes we work within, we blindly follow them, she thinks. And now the process has fully imprisoned us, sucking out all the joy from our daily work, pushing us ever further away from the Second Ideal.
In the darkness, Maxine picks up her phone and texts Kurt and the rest of the Rebellion:
Anyone else still here? I really need some help. And a drink. Can anyone meet me at the Dockside?
CHAPTER 11
• Wednesday, October 1
Kurt is already at the brightly lit Dockside, a couple pitchers and a bottle of wine on the table, when Maxine shows up. She’s glad to see him, and those pitchers, because it means other Rebellion members are coming. She’s grateful for their company.
Maxine rarely drinks to self-medicate, but as soon as she sits down, she does exactly that. She works through two pinot noirs in short order, despite the fact that she knows she’ll suffer tomorrow morning.
But tonight it doesn’t matter, because the wine is definitely making her feel better. The combination of sugar and alcohol is helping her combat the jarring and jangling emotions she’s been reeling from ever since she followed Jared to the Ops Bizarro World.
As people arrive and sit down, the mood around the table is upbeat. Tom and Brent are working at the table with their laptops open, having made terrific progress on getting Data Hub running in a slimmed-down environment. They can’t stay long. They’re meeting with the QA team tomorrow morning to get them up and running, with the hopes that they can start their testing soon. Apparently, Purna and her team might swing by later.
Shannon has written up her notes from interviewing the Phoenix teams, identifying nearly ten developers who want to use what the Rebellion has created to address problems they face on a daily basis. And with Project Inversion fully underway, they have the time to do it.
Maxine smiles blearily as she listens to everyone sharing stories. Eventually, Kurt pours another round for everyone and turns to Maxine. “So, what’s up, Maxine?”
“Kurt, we are so screwed up.” She runs her hands through her hair in frustration.
Maxine tries to explain. She’s usually extremely articulate and precise, but as she listens to herself talk, she is acutely aware that she sounds raving mad.
Starting over, she tries hard to convey how much this afternoon disturbed her. “Ever since I was exiled to the Phoenix Project, I’ve opened up hundreds of tickets, trying to get things done. I’ve followed those tickets around, seeing where they went. Many of them went to Ops, some went to QA. Then, when I joined the Data Hub team, I opened more tickets. But more importantly, I got to work the other side of those tickets
, doing work that people needed. But to get that work done, I had to open more tickets. It’s just a giant circle of tickets, Kurt, being created and passed around, over and over again, without end.
“Who did this to us?” she finally asks.
Adam smiles sadly. “We did it to ourselves. Long ago, QA used to be a part of Dev, but when I joined, QA had been made independent. We made a bunch of rules about how we needed to be separate from Dev concerns, you know, to protect the business from all those crazy, reckless developers. Each year, we used anything that went wrong as an excuse to create more and more rules to ‘make developers more accountable,’ which just slowed us down even more. What makes me so excited about the Rebellion is that we’re trying to undo all of that.”
Dwayne nods. “Adam’s right. In Operations, we did it to ourselves too. It started for all the right reasons—we brought in ITIL processes that created some sense of order, which was infinitely better than the chaos we had before. In Ops, it’s worse, because we have so many areas of specialization. Complex work like deployments hit every one of those areas. We have servers, databases, networks, firewalls … heck, in the last decade, we’ve created even more silos, like storage, VLANs, automation teams, virtualization, hyperconverged infrastructure, and who knows how many more.
“And with the modern technology stacks, we need people with deep expertise in containers, logging, secrets management, data pipelines, NoSQL databases. No one can be an expert in all of those!” Dwayne says. “So we need a ticketing system to manage those complex flows of work. But it’s so easy for people to lose sight of what the purpose of all this work is. It’s why the Rebellion is so important. Look how many people are working late to help with the Data Hub effort.”
Everyone around Maxine raises their glasses, yelling out, “Hear, hear! To overthrowing the ancient, powerful order!” Maxine raises her glass as well, but says nothing.
She’s often heard that IT is the nerve center of the entire organization, because over the last thirty years almost every business process has been automated through IT systems. But for whatever reason, businesses have allowed their nervous system to become degraded, like multiple sclerosis disrupting the flow of information within the brain and between the brain and the body.
Maxine pours one more drink, but she only takes a sip. Suddenly, she doesn’t feel well. It has nothing to do with what she drank. She is definitely coming down with something. She quickly bids farewell to everyone, thanking them for joining her tonight.
When she gets home, she hugs her husband, says goodnight to her kids, and is relieved when she crawls into bed after taking a shower.
Later that night, Maxine starts to sweat uncontrollably, then is overcome by chills and chattering teeth, then back to a fever. She has succumbed to the illness that decimated the ranks of her teammates after the Phoenix release.
That night, she has unending dreams about being trapped in a bureaucracy, handed off from one desk to another, put on hold, asked to fill out more forms, shuffled from one department to another, and put back into another line with more forms to fill. The forms go into vast data warehouses where they are pulverized, turned into a steaming, greasy miasma of comma-separated text files, spiked with random byte-order marks.
She sees the heartless machinery of bureaucracy turning, with helpless people trapped inside the countless gears. She hears their helpless screams, until they fall silent, all energy sucked out of them only to be periodically revived to fill out their timecards.
She pushes mountains of paper tickets up a set of stairs, across a section of cubicles, and down more stairs, doomed to traverse this Square of Sisyphus forever as punishment for the payroll outage.
When she wakes up, the sun is rising. Her pillow is drenched with sweat. Her sinuses and lungs are congested. Her chest hurts from coughing so hard. She can barely move.
She forces herself to get out of bed and shower. The hot steam feels good, but when she gets out, another cycle of uncontrollable sweating and chills begins. She shambles downstairs to eat a piece of toast and drink some water only to realize how much her throat hurts.
Her husband tells her to stay in bed, that he’ll make sure the kids get off to school on schedule. Grateful, she mumbles thanks. She makes it halfway up the stairs before having to take a break, eventually crawling back into bed.
Barely able to read the phone screen, she texts everyone to let them know she’s unable to come into work. She falls asleep and bolts awake, realizing that she left the office without filling out her timecard. But she’s too weak to do anything about it. She finally falls back to sleep, groaning from the aches everywhere.
The next day Maxine can barely get out of bed. She has become one of the walking wounded, joining the ranks of the people unable to do their jobs, whether due to illness, bureaucracy, or being stuck in the Waiting Place.
Desperate for more cold medication, she ventures out and walks around the store’s aisles huddled in five layers of clothing, looking for relief. To keep her family from getting sick, she buys a surgical mask as if she were a Japanese office worker on a subway. When her husband sees her wearing it, he just laughs.
By midday Friday Maxine starts to feel mildly better, finally able to stay awake for more than an hour during the day. She hasn’t touched her phone in nearly two days and, in fact, has hardly spoken at all, except to her husband in forced monosyllables. Tired of reading novels in bed, she heads downstairs and texts Kurt and Purna:
Are the developers done merging yet?
Within seconds, Maxine receives a reply from Kurt:
Hahahahaha! Sorry, no. Maybe Monday. But Data Hub and its environment are almost ready to be tested. QA likely starting this evening! If you want to hear more, call me! Hope you’re feeling better.
Maxine dials his number. He doesn’t even say hi. “Brent and Tom have been working non-stop. They’re close to getting Data Hub running in the new, smaller environment. All the Data Hub developers are working with the QA team to write automated tests together. Adam and a bunch of developers are leading coding classes, and some of the QA folks are writing tests without any help. You might have seen those tests being checked into the source code repo.”
“And Shannon is paving the road for Security,” Kurt says. “Environment images will be automatically patched daily, and maybe soon, application dependencies too!”
Maxine tries to smile. She’s impressed by how much they’ve achieved while she was sick. She looks in the chat channel and sees exciting messages about the progress they’re making. She loves seeing all the code commits from both the Dev and QA teams.
Without doubt, Maxine knows that the developers will eventually be responsible for testing their own code, with QA taking a more strategic role, coaching and consulting. It means all the automated tests they’re writing will soon run with every check-in once they get their centralized build and continuous integration (CI) server going. They’re so close!
“This is great,” she croaks, which makes her teeth hurt so much that she tells Kurt that she’ll see him next week and hangs up.
Maxine crawls back into bed and closes her eyes, thinking about what’s next. If they could get Ops to agree, they might even be able to automate deployments to the production Data Hub service. And, although this seems like a long shot, maybe they could even run the production Data Hub services from their cluster.
It would make things so much easier for everyone, even Operations. For starters, they’d be able to test and deploy their changes immediately after working on them, instead of waiting two weeks for the next test cycle.
The real question, Maxine realizes, is which features they should be working on. She wonders what features in Data Hub would be most important for the business. And which business unit they should focus on. Data Hub is unique in that it touches so many areas of Parts Unlimited, each with their parochial needs and priorities.
She tries to go back to sleep, but she keeps thinking about what the highest bus
iness value activity is for Data Hub. Curious, she sits up and opens her laptop, bringing up the ticketing system. But instead of opening a new ticket or working on a ticket from someone else, she just looks around. It’s the first time she’s done that since her exile.
With a couple of clicks, she figures out how to view all the open Data Hub tickets. There are hundreds of them, nicely color-coded based on what business systems they touch. She winces when she sees how many of these tickets are over a year old. No wonder everyone seems so frustrated.
She wonders which features in this backlog are most important for the company. That last part is easy. Steve tells everyone what the company’s top priorities are in the Town Halls. Steve and Sarah consistently talk about the importance of helping customers keep their cars running and providing a way for customers to easily buy what they need. Doing this well should increase revenue per customer, average customer order size, and overall revenue and profitability.
With this in mind, she scrolls through pages and pages of features. It’s difficult to know what the features really are from the ticket name or reading their contents. They’re long on what and how, but not on why.
Maxine eventually notices a term that comes up over and over: “Item Promotion.”
She sees a bunch of tickets related to a summer promotion, offering discounted product bundles of battery replacements, air conditioning, and cooling system maintenance items. They were never started. Maxine sighs. Given that it’s already fall, the opportunities associated with that campaign have come and gone.
She wonders what the process is for deleting features that are no longer relevant. There’s a very real cognitive and spiritual burden of having to carry so many unfulfilled promises forever into the future, where anyone can ask at any time “Where is my feature?”
Curious, she searches for “Winter Promotion” and sees a string of tickets. She starts clicking into them. One ticket marked as complete was to create a SKU for a bundle of wiper blades and ice scrapers. A ticket still in work is to create a discounted price for the bundle.