Book Read Free

The Unicorn Project

Page 24

by Gene Kim


  That sea of blue cards is a part of the tool that the product managers use to manage the funnel of ideas to achieve business outcomes. This is a process that starts long before a feature is created in the Dev ticketing system. She logs into that tool using the credentials that Tom gave her. Browsing around, she can see when ideas were first conceived and brainstormed and all the various phases until it becomes an approved feature.

  She searches for the first feature that she worked on with Tom about extended warrantee programs. When she finds it her jaw drops. That feature was first discussed almost two years ago. It started off as a small feature but was rolled up into a larger warrantee initiative, which then had to be pitched to a steering committee. When it was approved, they wrote up detailed specifications, which were pitched six months later. Only then were they approved (a second time) and finally funded.

  This idea bounced around in the marketing and project management organization for almost two years, and then turned into a super-crash priority feature that had to ship by the end of the year.

  For something this important, we wasted almost two years, she thinks. In the ideal, they should have just assigned a team that included developers to explore the idea and build a solution together. Instead of one product manager working on this the entire time, we could have had five people working on it. And we could have been learning the whole time, Maxine thinks.

  She wonders how much of this specification document that was written two years ago is now out of date.

  She pulls up the Dev and QA ticketing system and copies some dates into the spreadsheet. She spends nearly ten minutes Googling around, trying to remember how to do date conversions and date arithmetic correctly.

  She stares at the screen, shocked. She does the formula a couple different ways, but she still gets the same number.

  She texts Kurt:

  We’ve got to meet tomorrow. I have something to show you.

  Maxine is with Kurt, Tom, and Kirsten in a conference room projecting her laptop on the screen. Everyone is staring at it in disbelief, which she totally understands. She’s been thinking about this number all night. “Can that actually be right?” Kurt finally asks.

  “I’m afraid so,” says Maxine. Kurt looks over at Kirsten, who is still staring at the numbers.

  “Only 2.5 percent of the time required to go from concept to customers actually using the feature is spent in Development?” she finally asks, the disbelief evident in her voice. She stands up and walks to the large TV screen to look more closely at the spreadsheet. “Where is all the time going?”

  Maxine says, “Long before the feature ever gets to Development, it goes through the funding approval process, which often takes over a year. And then once the feature is created, most of the time isn’t spent in-work, it’s waiting for a product manager to respond to a question. It’s the Square again. Teams are spending too much time waiting for product managers to get them what they need …

  “And then once they’re done with the feature, they’re waiting for QA and deployment,” Maxine says. “This is terrible. We’ve spent all this time hiring more developers, but they often don’t have things ready to be worked on. And when they do finish a feature, it takes forever to actually get things into production so that our customers can use it. And often the only feedback we get are the annual focus groups.

  “We don’t have a fast value stream,” Maxine says. “What we’ve got is more like a stagnant value pond, full of scum, breeding malaria.”

  “Time to call Maggie,” Kurt says.

  That afternoon, Maggie comes up with an elegant solution. She decides to move the Data Hub product manager from the Marketing building to a desk right by Maxine starting Monday.

  In the conference room, Maggie tells him, “You’re the bottleneck. Your top priority now is to make sure any questions that the technology teams have are quickly answered. Nothing else takes priority over that.”

  He balks and then proceeds to describe all the other demands on his time. Talking with customers, helping sales with negotiations and trying to break them of bad habits, briefing internal executives, working with business operations, arguing with business stakeholders to agree on a product roadmap, escalating things up the chain to get approvals for urgent issues … And way down the list was answering questions from developers.

  Maxine listens with interest, realizing that no one can get anything done when you’re pulled in that many directions. Maggie also listens patiently, nodding and occasionally asking questions.

  When he’s done, she says, “If you’re too busy to work with the technology teams, I’ll move you into a pure product marketing role, and you don’t have to move your desk. Right now, I need product managers who are working side by side with the teams who are building what will achieve our most important business objectives. If you still want to be a product manager, I’ll figure out how to clear your plate and get those other responsibilities assigned to someone else.

  “Don’t give me an answer right now,” Maggie says. “Think about it and let me know first thing Monday morning.”

  Maxine is impressed. Maggie does not mess around, she thinks.

  By mid-day Monday, that product owner moved his desk right next to Maxine. The dynamic immediately shifts. To get answers, things no longer wait on tickets. Engineers are able to just swivel their chairs around and ask him. Things that normally took days are being resolved in minutes. And better yet, engineers start gaining a much better understanding of the business domain.

  Maxine smiles. The team of teams keeps growing, and it feels good.

  From:

  Alan Perez (Operating Partner, Wayne-Yokohama Equity Partners)

  To:

  Dick Landry (CFO), Sarah Moulton (SVP of Retail Operations),

  Cc:

  Steve Masters (CEO), Bob Strauss (Board Chair)

  Date:

  7:45 p.m., November 5

  Subject:

  Strategic Options **CONFIDENTIAL**

  Dick and Sarah,

  For our next meeting, I’ve asked an investment banker we’ve used in the past to brief us on the market outlook for the retail and manufacturing sides of the Parts Unlimited business. Could you present a high-level briefing on the Phoenix initiative so we can get their thoughts?

  Given the criticality of the upcoming holiday sales performance, I thought it might be useful to introduce ourselves to them sooner rather than later. Hopefully any valuation estimates will be anchored before any disasters. (You never want to talk to bankers when you really need them. They can always smell fear.)

  Sincerely, Alan

  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 architectur
e. 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.”

 

‹ Prev