The Unicorn Project: A Novel about IT, DevOps, and Helping Your Business Win
von Gene Kim
Without constant feedback from a centralized build, integration, and test system, they really have no idea what will happen when all their work is merged with everyone else’s.
Maxine loves coding and she’s awesome at it. But she knows that there’s something even more important than code: the systems that enable developers to be productive, so that they can write high-quality code quickly and safely, freeing themselves from all the things that prevent them from solving important business problems.
But deep down, she’s a developer. She’s a developer who loves functional programming because she knows that pure functions and composability are better tools to think with.
“I like to think that companies have two modes of operations: peacetime and wartime. Peacetime is when things are going well. This is when we are growing as a company and can continue business as usual. During these times, the CEO is often also the board chairman. However, wartime is when the company is in crisis, when it is shrinking or at risk of disappearing entirely, like what’s happening to us now.
Everyone around here thinks features are important, because they can see them in their app, on the web page, or in the API. But no one seems to realize how important the build process is. Developers cannot be productive without a great build, integration, and test process.
“But whatever language you’re using, the most important thing is to run your program all the time,” she says. “When I’m doing something for the first time, I run my program every time I change anything, just to make sure it still compiles and runs. That way, I don’t make the same mistake for hours without knowing. Better to catch the mistake the first time you make it, right?”
Maxine can’t stop smiling. She’s so excited to share this lesson, because over the decades, she’s learned that state mutation and looping is so very, very dangerous and difficult to get right.
Functional programming is truly a better tool to think with.
Over the years, she’s used this program every day to help her run most of her professional and personal life. It’s where she sends all her tasks. It’s her master inbox, where she can see all her work and move work between all the systems that she works with.
So, when this started happening to her project, she spent every evening for weeks rearchitecting her system so that people could quickly, easily, and safely make the changes they wanted.
But in almost every other domain, especially when you have customers, change is a fact of life. A healthy software system is one that you can change at the speed you need, where people can contribute easily, without jumping through hoops.
She is able to build things with focus, flow, and joy. She had fast feedback in her work. People were able to do what they wanted without being dependent on scores of other people. This is what great architecture enables.
“This company is run by a bunch of executives with no clue about technology, and project managers who want us to follow a bunch of arcane processes.
I’ve finally found my tribe, she thinks. And this is what an effective network is all about—when you can assemble a group of motivated people to solve a big problem, even though the team looks nothing like the official org chart. I’m pretty sure I’ll learn and achieve more with this group then I would by having lunch with Sarah,
She turns to Kurt. “What was that term you used? Watermelon projects? Green on the outside, but red on the inside? That’s what every one of our IT projects is these days,” Kirsten observes wryly.
He said, ‘technical debt is what you feel the next time you want to make a change.’
The First Ideal—Locality and Simplicity The Second Ideal—Focus, Flow, and Joy The Third Ideal—Improvement of Daily Work The Fourth Ideal—Psychological Safety The Fifth Ideal—Customer Focus
Technology needs to be embedded in the business, not external to it or merely “aligned with it.”
Maxine is excited that there is finally a career ladder for individual contributors and brilliant technologists without having to become managers. Her job is not is to come up with the best ideas. It’s to ensure that the entire company can ship the best ideas, wherever they come from, quickly, safely, and securely. She made a note to herself to find the best designer in the company. After spending two days at an interactive design conference, she knows that this discipline is critical to the company’s success too.
Parts Unlimited is now being valued at six times trailing sales, almost four times higher than before. Parts Unlimited now has one of the highest multiples of any physical store retailer, making them the talk of the industry and an emerging success story of surviving and thriving in the era of digital disruption.