Chapter 13: Thursday, November 6th – The Unicorn Project

CHAPTER 13

• Thursday, November 6th

It’s six thirty on Thursday evening, and Maxine is again in a conference room, along with the entire extended Data Hub team. Everyone is tense and on edge, looking at a large screen that has all the production telemetry and dashboards showing the health of the test and production Data Hub services. Maxine is pretty sure that everyone is holding their breath, just like she is.

The team had been deploying into a Test environment for weeks before having the confidence to start deploying into Production, which required days of negotiations with seemingly every area of the business. An agreement was reached that production pushes would occur after business hours, after internal business users had gone home but before thousands of internal batch jobs run at midnight.

For the past two days, at the same time each day, as a test, they’ve been pushing “whitespace changes” into production—adding a couple of blank lines to the end of HTML or configuration files, which in theory should not change functionality in any way.

Of course, reality is much, much messier. It was the “world as imagined” colliding violently with the “world as it actually is.” They discovered that they accidentally forgot some critical files in their container images, which knocked Data Hub offline for nearly a half hour. Three hours later, after a painstaking investigation, they were able to execute the whitespace deployment without crashing anything.

The next day, they performed a second whitespace deployment, but absolutely nothing happened. It took them another hour to discover a configuration error they had made earlier in the day had broke all their pipelines. It was messy and imperfect, but the fact that they were quickly solving these problems gave Maxine confidence that they were on the right track.

Today, Tom and Brent are about to start the first push of Data Hub application code into production.

“Okay, here we go,” says Tom. “Starting code deployment.” He clicks a button and some new boxes appear on the CI/ CD pipeline page, showing that a new deployment has been initiated. They all watch with bated breath as the log files start scrolling by.

Over the next ten minutes, Maxine sees notifications of the tests being run, the tests passing, files being copied onto the production system, Data Hub being restarted, more log messages as it starts up, and then the log messages stop.

On the screen in front, the big circle representing the health of Data Hub goes from green to red, and stays red.

“Uh oh,” Tom says. “Data Hub just crashed on startup …” He types quickly into a terminal window.

Maxine hears people swearing all around her, and Maxine joins Tom at his laptop as he tries to figure out what went wrong. She sees him scrolling through seemingly endless Java stack traces, looking for any clue on why Data Hub crashed. He yells out, “It’s some type of uncaught exception, but I can’t find a useful error message …”

Shannon calls out from the other side of the table, “Folks, I’m not seeing any active connections to the database.”

Brent looks up with an expression of horror on his face. “Shit, did I forget to change the database connection string?”

When he just stares off into space, Maxine gently asks, “Good hypothesis, Brent. What are you thinking? How can we test your idea?”

As if jolted out of a trance, Brent looks back at Maxine. “I can’t remember where the database connection string is stored! Is it an environment variable? Or is it in a configuration file? Does anyone know?”

“It’s an environment variable. I’m pasting where it’s set in the chat room,” Purna says. Maxine watches as the team jumps into action.

Twenty long minutes later, the necessary fixes are made, and Data Hub is back up and running. Everyone breathes a sigh of relief. The transactions that had been blocked have all been processed and everything is green again. “Okay, we found two other places where we missed some configuration settings in environment variables. Those are now all in version control. It should work this time. Is everyone ready to try again?” Tom asks, and everyone gives a thumbs up, if not as confident as earlier.

Again, they watch as the Data Hub deployment starts … tests are run in the test environment, files are pushed into the production server, Data Hub is stopped, the new files copied onto the server, Data Hub is restarted, and the startup messages start to scroll by.

This time, there is only a half-second pause where they got stuck before, and then screenfuls of logging messages scroll by faster than anyone can read. Tom whoops in delight, but he still watches his laptop, knowing that lots of things still need to go right before Data Hub is properly handling requests again.

Moments later, the red indicator next to the Data Hub health turns green. Some people clap, but most people realize that any celebration is premature as eyes quickly turn toward the production telemetry. Maxine sees the logging messages come to a crawl and then stop, and the production graphs start climbing again.

The entire room erupts in cheers. Almost the entire room. Maxine notices that Brent looks upset, as if he’s angry at himself for the first database connection error.

Tom confirms, “Data Hub is processing transactions again. We’re in the deployment business!” He looks around with a big smile. “Who wants to go to the Dockside to celebrate?”

“Now that everyone is here, I can properly hoist a glass to all of you for your amazing work!” says Kurt with a big smile. “Rest assured that you’ve earned the attention of some very important people who have decided to join us today!”

Kirsten raises her glass. “My congratulations to you, everyone. And you did it all without even one project manager from my team, which makes it even better!”

Everyone laughs and applauds. Even Brent is smiling now.

“Ah, what great timing,” Kurt continues, raising his glass to someone walking toward them

Maxine turns around to look. Holy cow, she thinks.

It’s Maggie Lee. The crowd at the Dockside keeps getting classier and classier. Kurt smiles and says, “Meet our newest visiting VIP.”

“Hello, everyone,” Maggie says, sitting next to Maxine. “I’m delighted to be here to celebrate the successful Data Hub code push.”

Kurt introduces all the Data Hub team members to her, and Maggie stands up and introduces herself to everyone. “What you’re doing with Data Hub is amazing, and trust me, all my product managers are incredibly excited about how what you’re doing could help us quickly create new product bundles,” Maggie says. “We know so much about our customers, and we want to use that information to help them solve their problems. If we do this right, this will naturally lead to achieving our revenue goals. That’s the bet we’re making. I don’t need to tell you all how important the upcoming Thanksgiving and Christmas season is.

“I just want to thank you for being willing to help us, and I’m really looking forward to working with you all,” Maggie says. “The work you’re doing is important, and I think it’s critical to the success of the company.”

She raises her glass to everyone’s loud applause.

Over pitchers of beer and glasses of wine, Maggie tells the group more about their struggles, some of which surprises and worries Maxine. They have only completed integrations with two systems of record. They are still waiting for nearly twenty API integrations, including product, pricing, promotions, purchases …

They’ve hired a bunch of data scientists to help create more effective offers, but they’re still waiting on the Data Warehouse team: purchasing history from all of the disparate systems, car service histories, their customer loyalty programs, and their branded credit cards. When it’s not an executive asking for data for a board presentation, even the simplest data requests take six months, as their requests lumber through the Data Warehouse Dev and QA processes. And like Brent found, the data they get is often malformed, unreadable, incomplete, or, worse, inaccurate.

When Maggie and team complain, the Data Warehouse manager emails everyone a graph showing that they’re keeping up with incoming data requests, but that’s only because people have given up and stopped asking them for anything.

After the challenges in front of them become clear, Kurt turns to Maxine. “Maggie already has a bunch of development teams assigned to support the Promotions effort, but they clearly need some help. Based on what you’ve heard, who would you want to take with you to make the biggest difference?” He gestures at everyone around the table. “You have the pick of the entire litter. You can have anyone from the Data Hub Dev and QA teams. Heck, anyone from the Rebellion.”

“Pick of the litter. Nice, Kurt,” Maxine snorts, trying not to picture their best engineers as if they were a basket of puppies at the Humane Society.

She ticks through the mental list she’s been accumulating. “We’ll need someone with experience with architecture and decoupling components that are deeply entangled with each other. We’ll need someone really good at databases, because we’ll probably need to reduce our reliance on the big, centralized Phoenix databases and all those systems of record. We’ll need some serious infrastructure skills to support a new deployment and operations model. And because we’ll likely be running things in production ourselves again, we’ll need people with superb skills in Security and Ops.”

She thinks for a minute. “I’d take Cranky Dave, Adam, and Purna on Dev and architecture. Dwayne and Brent on databases, infrastructure, and Ops. Shannon on security and data.”

As she calls off people’s names, they smile, sitting up straighter. She points at Dwayne and Brent. “I think we’ll probably need two or three more people on infrastructure and databases, since we’ll probably be spinning up a bunch of new things, probably in the cloud. Can you think of anyone you’d want on the team?”

Dwayne and Brent look at each other. Dwayne says, smiling, “I think we can come up with a short list of awesome engineers.”

To Kurt, she says, “I haven’t met any of the Promotion developers, so I don’t know their skill levels. Ultimately, if we need to make a difference in time for Thanksgiving, we need to get heads-down in the code soon and ensure that all those Promotions teams are productive—either we onboard them onto the platforms we’ve already built or we build or buy what they need.”

She points at Tom. “I’d want to take three or four developers to go native in the Promotions teams. Tom, do you know who you’d pick?”

When he nods, she says to Kurt, “That’s twelve people. I have no idea how you’re going to convince everyone to let us strip the benches. None of those managers will want to lose their best people.”

Kurt looks at Maggie. “We’ll have to convince the higher-ups to make a massive investment in speed to achieve your goals. Do you think you can swing that?”

“Hang on a second. You’d all do that for me?” Maggie said, suddenly looking a little suspicious. “What’s in it for you?”

Kurt smiles. “Ma’am, you’re looking at a renegade group of engineers who want to solve big problems that actually matter to the business. Our attempts to go through the normal channels haven’t worked, so here’s our chance to work directly with the business instead of through technology middle managers. If we succeed, we get credibility. We’d love your endorsement supporting these new ways of working.”

Kurt shrugs, continuing, “If it doesn’t work, we all pretend like it never happened and promise not to bug you again.”

“You’ve got a deal,” Maggie says after thinking a moment. “And here’s the good news. I don’t need approval from anyone—it’s my call. Sarah is already onboard. It’s my belief that the survival of the company depends on this.”

Almost on cue, Maggie looks down at her phone, saying, “Hang on a second, it’s Sarah,” as she taps out a reply. “Uh, she’s getting heat from some people because Data Hub was down earlier today, and she wants to know what’s going on, who caused the problem, and if we need to make an example of them.”

Oh great, Maxine thinks. By working with Maggie, they’re falling even deeper into Sarah’s orbit.

The next morning, Kurt, Maxine, Kirsten, and Maggie are once again in front of Chris. When Kurt proposes temporarily swarming the Promotions efforts, not surprisingly Chris seems exasperated.

“You want my job, Kurt? Cause you’re sure acting like it,” he grumbles. But Maggie implores him on the importance of the need for accelerating the work to support the Black Friday holiday promotions and how it could generate very visible and quick wins, and Kirsten reassures him that the other efforts can absorb the temporary reassignments.

Chris furrows his brow. Just like last time, he turns to Maxine. “What do you think, Maxine? Do we really need to do this?”

Maxine studies him, realizing how uncomfortable he is with the constantly changing plans, very different from the static plans that characterized the Phoenix Project.

“Without a doubt, Chris. This is clearly where the company needs developers most. We can’t be hamstrung by our org chart or, for that matter, the annual plan we made last year,” Maxine says, reassuringly.

He looks at her for another moment, grunts his approval, and again briskly shoos them out of his office.

Maxine and Kurt give each other discrete thumbs-up as they walk out.

Despite Sarah’s loud demands to find someone to blame on the temporary Data Hub outage yesterday, Kurt refuses to do anything along those lines. Instead, he gathers everyone in a conference room.

Kurt starts the meeting, saying, “Every time we have an outage, we’ll be conducting a blameless post-mortem like this one. The spirit and intent of these sessions are to learn from them, chronicling what happened before memories fade. Prevention requires honesty, and honesty requires the absence of fear. Just like Norm Kerth says in the Agile Prime Directive, ‘Regardless of what we discover, we understand and truly believe that everyone did the best job they could, given what they knew at the time, their skills and abilities, the resources available, and the situation at hand.’

“Let’s first start by assembling a timeline and gathering details on what happened. To help with the process, Maxine pulled together our production telemetry and logs, as well as our chat rooms, just to provide a framework for discussion. The goal is to enable the people closest to the problem to share what they saw, so we can make our systems safer. The only rule is that you can’t say ‘I should have done X’ or ‘If I had known about that, I would have done Y.’ Hindsight is always perfect. In crises, we never actually know what’s reallyl going on, and we need to prepare for a future where we have an equally imperfect understanding of the world.”

He looks over at Maxine, indicating for her to proceed. Maxine is impressed and wonders briefly if Kurt has been coached by Erik before this meeting. If so, she’s glad. But despite Kurt’s strenuous declaration that people shouldn’t be afraid to talk, everyone seems reticent to react … even the members of the Rebellion. Given the ever-growing culture of fear and blame, Maxine has been prepared to model the behaviors you’d see where there’s real psychological safety—Erik’s Fourth Ideal.

But before Maxine can start, Brent blurts out, “I’m so sorry, everyone. It was all my fault. I can’t believe I missed the database connection string. I never make that type of mistake, but I was in such a hurry …”

Brent looks so distraught, as if he’d been wanting to make this confession for days. Kurt puts his hand on Brent’s shoulder and says, “Brent, let’s go back to the Agile Prime Directive. No one is at fault. Everyone did the best they could, given what they knew. Let’s just stick with assembling the timeline. Maxine, please lead the way.”

“My pleasure,” Maxine says, winking at Brent, projecting her laptop on the TV. “I’m choosing to start our timeline at 6:37 p.m., which is after Tom initiated the deployment, after all the tests passed but the app failed to start. The health indicators went red, and Tom was the first to notice. Tom, what exactly did you see?”

“I was watching the logs scroll by in the deployment tool, and I saw the startup messages, as you’d expect, and then I saw a bunch of error messages and a stack trace,” he says, his face darkening, reliving the crisis.

“Got it,” she says, adding to her notes that everyone can see on the TV in the front of the room. “What happened next? I remember feeling almost borderline panic, because despite all our preparation, we were clearly in uncharted waters.” With a wry smile, she adds, “Umm, that’s code for ‘I was so scared I was crapping in my pants.’”

People around the table laugh, and Tom says, “Yeah, me too. I’ve spent decades looking at stack traces, but I’ve never seen them in our deployment tool. I couldn’t stop the window from scrolling on me, and I couldn’t see anything long enough to read it.”

Maxine had no idea, because Tom had seemed so calm and was so effective at making sense of the logs. She is typing when Tom says, “You know, I should have rehearsed looking at logs in this new tool.”

“I totally get that, and I’ve been there … and it totally sucks to feel that way,” Kurt responds. “But remember, we’re doing this so that we can be better prepared for the next crisis, when we will be equally ignorant of entirely new things that are just as important and will be just as obvious in hindsight … This is great stuff, Tom. Keep going. What happened next?”

Over the next hour, Maxine and the group assemble an amazingly detailed and vivid timeline of what actually happened. Once again, she marvels that anything can run in production at all given all the imperfections and sharp edges present in their daily work. Log files scrolling by too fast to read, configuration settings scattered across scores of locations, potential failure points hiding in almost every nook and cranny, surprises lurking around every corner … Given all this, it’s amazing that Data Hub has worked mostly without incident for over a decade, she thinks.

Maxine is certain that everyone has learned something about how Data Hub actually works, in stark contrast with their mental models of how they thought it works. She records a list of five things people will change right away that will likely prevent future outages and will certainly make fixing certain problems faster in the future.

As they adjourn, Maxine smiles and says to Kurt, “Nice job running the meeting.” She means it. It was a pitch-perfect example of improving daily work and fostering a culture of psychological safety, as Erik described in the Third and Fourth Ideals.

Reflecting on the meeting, Maxine now appreciates how tenuous and fleeting the conditions that enable psychological safety can be. It depends on the behavior of leaders, one’s peers, their moods, their sense of self-worth, wounds from their pasts … Given all this, it’s amazing that psychological safety can be created at all, she thinks.

Later that day, Kurt, Maxine, and the rest of the newly selected team are gathered in a conference room to meet with Maggie and the rest of the Promotions team leads.

During introductions, Maxine notes that most of the twenty people in the existing Promotions team are front-end developers—they own the mobile application, the product landing pages for the e-commerce site, in-store applications, and all the applications that Marketing staff use to manage the product promotions lifecycle.

Maggie is presenting. “Thank you to Kurt, Maxine, and the rest of the engineers from the Data Hub team who have volunteered to help us achieve some badly needed near-term wins. I put together some slides to frame some of the higher-level business outcomes that this team was created to make happen.

“Our market share is declining, primarily because we have little presence in the e-commerce market, the fastest growing part of the broader market,” she says. “This is where our competitors and the e-commerce giants are taking share from us. The good news is that we have fiercely loyal customers … the bad news is that the average age of our customer base continues to increase. Our competitors are clearly winning younger customers, a real market segment, despite declining car ownership because of the rise of ride-sharing, such as Uber and Lyft. But the number of car-miles driven per year keep growing, although who’s doing the driving is definitely changing. But without doubt, demand for car maintenance should grow, not shrink.”

Maggie continues, “For our loyal customers, we know what they buy and how frequently they buy it. We’re focused on enabling personalization and knowledge of current inventory to drive promotion. Until recently, we’ve never been able to use this information to create compelling offers for them.

“We know from our customer research that our core market uses mobile phone apps extensively—in fact,” she points to the projected slide, “here is a picture of Tomas, a customer we interviewed during our market research. He’s a fifty-two-year-old public school teacher. For decades, he’s done all his own car maintenance. It’s something he did with his dad and now it’s something he does with his two teenage daughters and son. He wants his kids to focus on STEM, but he insists that they understand mechanical basics and learn self-reliance.

“He also maintains his wife’s car, and when he has time, his parents’ cars too,” Maggie says. “Tomas doesn’t consider himself to be very technical, but he has six computers at home that he supports for his entire family.

“Right now, he uses a spiral notebook and these file folders to keep records for each car he maintains. He uses his mobile phone all the time, primarily for messaging but also Amazon. He would love to have more of the maintenance routine codified. He loves using Parts Unlimited, but he says he would far rather look in the app for parts rather than having to call the store. He says he likes the in-store employees and knows many of them by name, but complains about our terrible automated phone system and hates having to listen for which button to push to get to a real person.”

Maxine laughs. No one likes those things.

“For the Thanksgiving and Christmas season, we want to find inventory that we have too much of, combine it with our personalization data, create compelling promotions, and deliver them through our e-commerce site, email, and our mobile apps. We want to drive real revenue through these promotions and increase the average monthly usage of the app to prove that we’re actually building something that they value.

“The Phoenix teams have already identified all the needed interfaces to all the various systems where this data is stored: the customer and orders database, the POS transactions, fulfillment systems, the e-commerce website, and the ad campaign data from the Marketing team.

“One of the most critical sources of data is the in-store inventory systems. We want to promote overstocked items, but we’ve got to be very careful that we don’t promote items that we don’t have on hand in that region.

“We finally rolled out a customer relationship management or CRM system a couple of years ago. But as I described last night, connecting data about the customers, such as which automobiles they own and some demographic information, with the vast wealth of other data we have is a real struggle.

“You can see what we’re trying to achieve, right? If only we had a single view of the customer: top of funnel, bottom of funnel, as well as their complete history with the company. Not only what they purchased, but also what they did on our site, what they browsed, searched for, their credit card transactions, repair history … There’s so much potential!

“If we could combine all this information, we would know so much about what they need, and we’d be so much better able to help them,” she says, almost wistfully.

Maxine nods, impressed. She says, “After analyzing even the small amount of data that we’ve been able to combine, we’ve built some customer profiles based on their behavior. The archetypes we’ve created so far are: Racing Enthusiast, Frugal Maintainer, Meticulous Maintainer, Catastrophic Late Maintainer, and Happy Hobbyist.”

“For now, we are focusing on the Meticulous Maintainers and the Catastrophic Late Maintainers, because we think these groups have the highest probability of buying for the types of campaigns we’re thinking of,” Maggie says. “We know the Meticulous Maintainers purchase things like oil change products every month without fail. On the other hand, the purchase history of Catastrophic Late Maintainers suggests that they are constantly accumulating more expensive tools and engine parts, just needing a nudge to complete their work.

“On the screen, you can see a bunch of hypotheses we have. These are offers we think will be a big hit with these customer segments. And this report shows the attributes of customers that we’re at risk of losing entirely,” Maggie says. “The problem is that executing on any of these ideas requires months. Anytime we want to do something, we’ve got to make a million changes across all of Phoenix. Phoenix has been rolling for three years, and we haven’t made one targeted promotion yet. And if we can’t experiment, we can’t learn!”

“You haven’t been able to execute even one of these promotion ideas?” Maxine asks, surprised. “How is that possible?!”

Maxine hears grumbles from around the room from the Promotions team. They start describing why.

“We’re still waiting for access to all those back-end systems. The only one we have access to is the inventory management system,” someone complains. “We already have all the data from the TOFU—top of the funnel. We need information about the customer lifetime value from BOFU—bottom of the funnel.”

“The integration teams take six to nine months to create any new integration for us,” says someone else.

“When we do query the inventory management systems, they often shut us down because of the CPU load we generate or the amount of data we copy,” says a third person.

“The APIs from many of the back-end systems don’t deliver the data we need. We’ve been waiting for months for those teams to implement the necessary API changes.”

“We’re still waiting for correct data from the Data Warehouse team, because their reports are always wrong. Last time we found people’s last names in the zip code field.”

“We’re still waiting on getting new database instances created for us.” And on and on.

There were twenty developers on the Promotions team, with a ton of good ideas that could deliver on so many of the Phoenix promises, but they were all bottlenecked on the back-end systems.

Suddenly, Maxine is very sure that they can help. But another part of her is aghast at how helpless these developers have been, unable to complete their work.

Maxine and the rest of the engineers from the Data Hub team smile at each other. Seeing this, Kurt folds his hands in front of himself, smiling. “I think we can help.”

After nearly ninety minutes of excited discussion and brainstorming, everyone adjourns. Maggie takes Kurt and Maxine aside. “That was amazing. We’ve been crying out for help for so long, but this was the first time that we’ve been able to engage like this with anyone.”

“Well, we haven’t done anything yet,” Kurt says. “But hopefully by the end of next week, we’ll have something that we can point to as progress.”

Maxine nods emphatically. She looks at Maggie for several moments and then asks the question she’s been wanting to ask since last night. “Just what does it take to build great products? And how can we as developers help?”

“Where do I start?” Maggie says. “It usually begins with understanding who our customers are, both current and desired. Then we typically segment the customer base, so we know what set of problems each faces. Once we know that, we can understand which of those problems we want to solve, based on market size, ease of reaching them, and so forth. Once we know that, we think about pricing and packaging, offer development, and more strategic issues, such as the overall profitability of the product portfolio and how it affects the achievement of strategic goals.

“I need each of my product managers to be able to live in this domain,” Maggie continues. “Almost all great product organizations create customer personas so that everyone can better understand and relate to the people who you’re building products for. That’s the reason behind so much of the UX and ethnographic research we do. For these personas, we articulate their goals and aspirations, figure out what causes problems for them during a typical day, and describe how they do their daily work. If we do things well, we end up building a set of user stories, framed inside of the business outcomes we want. We should be testing and validating all these assumptions in the marketplace and learning all the time.”

Maxine says, “I love this relentless focus on understanding the customer—it reminds me of the Fifth Ideal.”

Maggie looks at her quizzically.

“I’ll explain later,” Maxine says.

“You know, if you’re that interested in the customer, you could do the same in-store training that all employees and managers do. Two weeks ago, all the new sales managers flew here to headquarters to spend a week with our local store. You missed that, but if you want, there’s a new employee training happening on Saturday. Want to join them?” Maggie asks.

Maxine’s jaw drops. She’s always been envious of people who have been able to do this program, and Maggie just offered her the chance to take part in it. “Holy cow, I’d love to. Frankly, I’m a little bummed that I’ve been here for almost seven years and have never been offered this.”

“I require all my product owners and everyone at the manager level and above to go through it,” Maggie says. “I’d be happy to get it arranged.”

“Sign me up!”

It’s Saturday morning. Maxine is in front of the bathroom mirror making sure her “Hello, My Name Is Maxine: How Can I Help?” name tag is straight.

She’s very excited to finally take part in this program. Famously at Parts Unlimited, every leader at the director-level or higher must work in the stores as a front-line employee twice a year. Not as a high-falutin’ store manager, but as a regular employee behind the register or out on the floor. This is something that Parts Unlimited has been doing since they opened in 1914.

Maxine quickly says goodbye to her family, who are lounging in the living room on various forms of technology, and dashes to her car. She doesn’t want to be late for her first day of in-store training. Maxine is a stickler for punctuality and expects that the store manager she’ll be reporting to is likely the same way.

The previous evening, she spent three hours watching YouTube videos on home car maintenance with her kids. She’s relieved that changing the oil on a 1984 Toyota Tercel is exactly the same as it was twenty years ago. An oil change is an oil change since the invention of the internal combustion engine. Even now, Maxine still refills the windshield wiper fluid in her family’s cars, refusing to pay someone to do it for her. However, it’s been decades since she’s changed her own oil or transmission fluid.

When Maxine walks into the store, she immediately feels out of place. She sees four young men and one woman, all in their twenties, and an older man in his forties.

Mildly irritated that she’s not the first person here, she joins the semi-circle facing the store manager, Matt. Maxine recognizes him from having been in the store before. He’s in his early thirties and looks almost like a drill sergeant. He glances at his watch and gives Maxine a small nod and smile of recognition.

“Good morning. I’m Matt, the store manager. I’m here to help orient all of you, our new employees, who will be working at either this store or one of the four stores within a sixty-mile radius. You’re all lucky; since Elk Grove is where our corporate headquarters is, there are some store amenities here that none of the other nearly one thousand stores have.

“Parts Unlimited was started in 1914, and we still pride ourselves on being the very best at catering to the needs of the home mechanic. We don’t sell luxury items to the rich and famous. We serve the needs of people like us, who depend on our cars to get to work every day, to drive our kids to school, who need reliable transportation to go about our daily lives.

“At our stores, we aim to provide our customers the parts they need to keep their car running. Often, we are all that exists between a working car and a very expensive trip to the garage or service station that ties up their car for days. Our job is to help them avoid that fate.”

Maxine has goosebumps. She is struck by how consistently Matt communicates the company vision. It could be Steve delivering these lines from the Town Hall. It’s so great to hear this from the store managers. It’s very different from hearing executives or plant managers say it, because it’s here on the front lines where it matters most.

“Over the next two days, I’ll be showing you the duties of working at a Parts Unlimited store and all the tools you need to become experts at helping our customers,” Matt says. “And there is a test at the end, so pay attention—nearly one-quarter of the people who go through this training do not pass their first time. So to help you keep notes and prepare for the exam, here’s a set of Parts Unlimited manuals and notebooks and pens so you can take notes. There is a prize for the highest score.”

She looks around at her fellow students, resisting the urge to view them as the competition. They’re just kids, she thinks.

Matt begins a tour of the store floor, describing the broad categories of items and why they stock them. He points to a rack of large, thick books. “These are the books that you’ll use to help your customers.” They look like the huge phone books Maxine grew up with, four inches thick with razor thin newsprint paper.

“Your customers will often come in looking for a replacement part or with a problem that you need to diagnose,” Matt explains. “Your job is to help them find what they need. If we have it in stock, you will sell it to them. If we don’t have it in stock, you will do what it takes to find one of our stores that does stock it. We have a website that anyone can use, but it’s very difficult to actually source the parts you need. The best way to find the answers are in these books.”

Maxine looks dubiously at the row of books. She hates the idea of technology being beaten by a pile of books and makes a note to find out what makes the current application so cumbersome to use.

“It is very important that you get this part right,” he says. “If you sell someone the wrong brake pads, they may find out only after they’ve jacked up their car, taken all the wheels off, and struggled to figure out why the parts won’t fit. Or worse, they find out when they are trying to slow down on a highway or after they’ve crashed into a tree.

“We think of ourselves like doctors,” Matt continues. “We do not want to hurt our customers. And the best way to avoid doing that is by making sure we get them the right parts the first time. We do that through these books.”

Matt picks one up and asks everyone to do the same. “You have a customer that has a 2010 Toyota Tacoma, and he needs floor mats for the back seat. What part number should we sell them?”

Maxine reluctantly picks up one of the books. In this century, she thinks, in a modern commercial enterprise, we still rely on looking up things in a paper book? This is like using a card catalog at the library. Which, she remembers, her kids have never heard of.

She flips through the book. It’s organized alphabetically by make, then model, and then by year. She flips three-quarters through, jumping to the Toyotas, the Tacomas, and then 2010.

She groans at what she sees. Even for the 2010 model year, there’s table after table of all different configurations. Number of engine cylinders, size of engine, standard cab, extended cab, short wheelbase, long wheelbase … and for variation, there are a bunch of parts.

One of the younger men says, “Depends on what configuration the truck is. What kind of cab is it?”

“Exactly,” Matt says, smiling. “Finding the right part is based on a number of factors. And often, the customer won’t know. When that happens, you walk out to their car with them and help them find the information. The fastest way is to record all the information on this little sheet.” He holds up a piece of paper. “This helps ensure you only have to go out to their car once.”

“Yes, Maxine?” Matt says when Maxine raises her hand.

“Isn’t there a way to use the computer to find out this information?” she asks, not wanting to give away that she already works for Parts Unlimited.

Matt chortles. “Trust me, this is so much easier. After I show you how to do this on paper, we’ll use the computer systems and you’ll see why we recommend everyone just do it by hand.”

This is embarrassing, she thinks. We go through all the trouble of building these systems to serve our employees, but what we generate for them is so inadequate that they still use antiquated paper systems.

By the end of the day, Maxine is exhausted. She’s learned far more about car maintenance and diagnosis than she expected. She had no idea how much time the in-store employees spend helping customers figure out why cars won’t start or what the strange noises coming from their engines mean.

Accurately diagnosing the problem is important, because they can help the customer avoid going to a service station. There are many examples of service stations taking advantage of their customers, charging for work they don’t need.

Helping their customers fix problems themselves often saves them thousands of dollars. On the other hand, employees also need to know which problems are way beyond the scope of do-it-yourselfers, such as when there is actual damage to an engine or when the problem involves the electronic engine management systems.

But Maxine is also exhausted from seeing the constant inadequacies of the computer systems supporting in-store employees. Matt was right—using the system was a nightmare. Once you knew the VIN and the part you needed, looking up certain out-of-stock parts required using a 3270 terminal session and keying in commands. This is the famous “green screen” mainframe interface, which most people have seen but few have used.

Maxine is always in awe when she sees the best airline gate agents use systems like this for making complex flight changes at the airport. Someone needs to book a flight to Boston, because their flight was canceled, but needs contiguous seats for their family, but doesn’t want to incur a change fee. An experienced agent will rapidly type out all the keystrokes required to find what options are available, running circles around another agent using the “modern graphical user interface.”

There’s no question that with practice some of these in-store applications are extremely efficient. After all, Maxine loves the SPSS statistics package that was born during the mainframe era, battle-tested for decades, so she can run circles around people using the more modern tools, such as Jupyter notebooks, Python, R, and Tableau. But despite her evangelizing and objective evidence of superiority, people find SPSS alien and strange.

That’s why Maxine knows that some of these in-store systems prolong the period required for employees and managers to learn how to effectively manage a Parts Unlimited store. And she knows people on many mainframe teams want to improve their UX but have been denied budget for years.

The process of ordering out-of-stock parts is even worse. You pull up inventory reports from other stores, which are months old. Then you need to pick up the phone and call each store to verify that they have a certain part, reciting eleven-digit product codes.

If the part is in stock, the person on the other end of the phone keys in a parts transfer order into the system. The easiest part in the entire process is carrying the part to the loading dock, where it will be picked up by a delivery truck and delivered in the next day or two.

When she couldn’t take it anymore, she asks Matt, “If you could have a system that, you know, looked like Amazon to do parts lookups and execute transfer orders, would that be useful to you?”

Matt immediately answered, “Oh, my gosh, yes. I don’t actually want my employees spending twenty minutes looking things up in books or talking to other store employees by phone. I want them in front of our customers. In our regional operations meetings, we’ve complained endlessly about it for years, but corporate keeps saying they’re working on it. It would be a gamechanger for us. We’d have faster service, happier customers, and the right parts in-stock more often.”

He points at the counter behind the register. “Inside those cabinets are racks of tablets that corporate deployed to the stores. Trouble is, all the apps make you fill out so many fields that they’re even harder to use than the computers. At least the computers have real keyboards. No one has used a tablet in months.”

In her head, Maxine does a silent face-palm. Clearly, not enough technologists are spending time in the stores observing the outcomes of the products they create.

After she gets home, she plays with their second new puppy, Marshmallow, a dog disguised as a big, cute, white ball of fluff. Incredibly, it was Jake’s idea, and Maxine couldn’t believe that they drove two hours yesterday to pick him up with their kids.

After the kids disappear into their rooms and her husband insists on taking the two dogs for a walk, Maxine takes out her laptop and spends an hour typing up a trip report. She lists all her observations divided by area of the store employee’s daily work and applications they have to interact with. It’s nearly twelve pages by the time she’s done.

She’s always been a prolific notetaker. She remembers reading somewhere, “In order to speak clearly, you need to be able to think clearly. And to think clearly, you usually need to be able to write it clearly.” Which is why she takes the time to write out the document, so that people can understand what she observed. She objectively describes what she observed, often attaching pictures she took with her phone, and in other places she makes recommendations.

Before Parts Unlimited, Maxine worked for a CEO who actually wrote white papers himself, which were widely read among their customers and employees. She once asked why he bothered to spend time writing when he had Marketing staff to do things like that.

He said he thought it was important to think through problems clearly, and for him, writing things down enforced a logical rigor that he thought was very important for leaders to have. “How can you send a company down a strategic path when you haven’t thought through what all the implications are?”

That left a lasting impression on Maxine. Ever since then, especially as she has become more senior, she makes sure that she takes the time to write things out, which also enables her to more broadly influence things.

She knows some things that she observed yesterday don’t belong in her head. They need to be in front of the people whose daily work it is to write and maintain the applications that the in-store employees rely on.

When she finishes her draft an hour later, she closes her laptop. She knows everyone won’t read her document, which means she’ll have to give a presentation on it. Luckily, she took lots of pictures today, but far fewer than she normally would have—none of the other trainees were taking any and she didn’t want to stand out.

She quickly sends a note to Kurt and Maggie in a chat room:

Here’s my Day 1 trip report. I’m seeing tons of things I can’t unsee. Lots of easy things we can address that will help advance Promotions’ goals.

I’m attaching my unedited report. Kurt, can you join me in training tomorrow? There’s a bunch of things that we could help with, even if it’s not right away.

The next morning, Maxine takes the shirt she was wearing yesterday out of the dryer, cursing when she realizes she’s going to need to iron it. There’s no way I’m showing up in a wrinkled shirt, she thinks.

She shows up at the store fifteen minutes early, just as she likes it. To her delight, Kurt says he’ll be able to make it later in the morning.

When the other trainees arrive, they all follow Matt to the service garage. There has been a multi-year pilot to outfit some of their larger stores with these garages. They’ve been an incredible hit with customers.

This morning’s training was diagnosing car batteries. One of the top reasons customers come to the stores is because their cars won’t start.

“This is just an introduction to the basics. You won’t be able to do this solo until you work with someone who’s already been trained and certified.” They stand next to a fifteen-year-old Honda Accord with a technician wearing a Parts Unlimited coverall uniform working on attaching cables to the battery and connected to a stack of instruments.

Matt explains the steps as the technician works. “And now she enters the data into the computer, which we use to generate a diagnostic report for the customer.” Maxine watches with interest as Matt continues his explanation, occasionally asking the technician questions about the work she is doing.

Kurt walks into the service bay while they’re watching the technician work. He’s wearing a Parts Unlimited uniform just like her, complete with a “Hi, My Name Is Kurt” name tag. His shirt is slightly wrinkled. He must have been in a hurry this morning because he’s typically pretty fastidious.

Kurt stands next to Maxine, and Matt nods at him and smiles.

Maxine watches the technician work. After a minute, she can’t help asking, “Why do we have to enter so much data? If this person is a repeat customer, do we still have to type all of this in?” Maxine tries to sound as much like her peers as possible. This is their onboarding experience that she is intruding upon, and she doesn’t want to do anything that will detract from it.

Matt laughs, turning to the technician, “How much rekeying of information do you have to do for each diagnostic?”

The technician, wearing a “Hi, My Name Is Emily” name tag, shakes her head. “It feels like a lot. Typing the customer address takes time, but the Vehicle ID Numbers are the worst. They’re seventeen characters and very easy to mistype. And I still have to put in the make, model, and year. In most of our other systems, all that is filled in for us from the VIN. Some people around here just put garbage into the VIN fields, but that doesn’t seem right to me.”

“I still don’t get it. Why do we have to type in so much information?” the youngest trainee asks.

“Corporate wants us to,” Matt says, eliciting laughs from the trainees. Even the twenty-somethings seem world-weary, as if they’ve already dealt with back-office bureaucrats.

They have no idea what being trapped in a real corporate bureaucracy is like, Maxine thinks, recalling her ordeal in the Phoenix prison.

“Seriously, though,” Matt continues, “we want this information because the company is working on customer profiles. Someday, when a customer walks into a store, we’ll know who they are, what cars they own, what the makes and models are … so that eventually we won’t have to rekey that information. I know there’s an initiative, years in the making, to get portable scanners in here so that we can just scan the VINs.”

Maxine sees Kurt purse his lips in frustration, even though he’s been here less than five minutes. Good, Maxine thinks. Now I’m not the only one who is frustrated. She has confidence Kurt will translate that frustration into action, somewhere, somehow.

Maxine peers at the computer in the diagnostic rack. It’s some sort of desktop PC attached to an LCD screen, as well as some sort of peripheral bay that has USB and serial ports and some other attachment that she doesn’t recognize.

She hears Matt say, “When you’ve got customers coming in repeatedly for battery problems, it’s probably because they’re not driving the car frequently, letting the battery charge drop below the levels needed to start it.” He continues, “When you see this, recommend getting a car battery charger that can keep those batteries topped off. I love mine, and since I’ve had it, I’ve never had to jump-start any of my cars. We have a bunch of different types, from twenty-five to a hundred dollars. I bought this forty-nine dollar model.”

Maxine notes how Matt has repeatedly linked the customer symptoms with car parts that they likely need. She sees why certain store managers outperform others, not just in customer satisfaction, employee productivity, and retention, but also with the best sales per square foot. Matt is teaching all these desired behaviors to the new employees.

“It would be great if the computer systems could tell us who’s purchased multiple batteries so that we could proactively make that recommendation,” Kurt adds.

“That would be terrific,” Matt says. Turning to include the trainees in the discussion, he continues, “As you know, we don’t pay sales commissions, because we’ve found that this sometimes leads people to do things that aren’t in the best interest of our customers. But everyone gets a handsome bonus if we exceed our sales targets, and that will naturally happen if we all do what’s right for them.

“So now you know something about battery inspection, which results in this report that you’ll give the customer,” Matt says, showing a sevenpage report.

As her second training day winds down, Maxine thinks about the hardships the in-store employees face when using the systems they’ve built. Instead of feeling discouraged, Maxine is inspired. Fixing these problems will make the jobs of in-store employees easier, who will then be able to better keep their customers’ cars running.

Throughout the weekend, Maxine had also been getting a steady stream of updates from the rest of the Rebellion. They’ve been working furiously to help the Promotions teams get the data they need for the big, upcoming Black Friday holiday campaign. But they’re starting to encounter challenges, including conflicting definitions of data across all the enterprise silos, tough choices about what database technologies would best support the Promotions effort, and lots of unanticipated problems now that they’re working directly with the data scientists and analysts.

Maxine is looking forward to seeing everyone tomorrow and seeing everything up close and personal. There are so many exciting things to do!