The Unicorn Project: A Novel about Developers, Digital Disruption, and Thriving in the Age of Data
Rate it:
Open Preview
3%
Flag icon
Punishing failure and “shooting the messenger” only cause people to hide their mistakes, and eventually, all desire to innovate is completely extinguished.
4%
Flag icon
Creating software should be a collaborative and conversational endeavor—individuals need to interact with each other to create new knowledge and value for the customer.
5%
Flag icon
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.
7%
Flag icon
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.
9%
Flag icon
Maxine appreciates these reminders about their customers—when engineers think of “the customer” in the abstract instead of as a real person, you rarely get the right outcomes.
11%
Flag icon
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.
12%
Flag icon
if we all want our developers to be productive, they need to be able to perform builds on Day One.
13%
Flag icon
If you don’t find problems quickly, you end up finding them months later. By then, the problem is lost in all the other changes that every other developer made, so the link between cause and effect disappears without a trace.
13%
Flag icon
Dr. Seuss books, Oh, the Places You’ll Go. The book describes the dreaded Waiting Place, where people wait for the fish to bite, wind to fly a kite, for Uncle Jake, for pots to boil, or a better break …
13%
Flag icon
NO! That’s not for you! Somehow you’ll escape all that waiting and staying. You’ll find the bright places where Boom Bands are playing.
15%
Flag icon
why does everything feel like I’m dealing with a government bureaucracy or an uncaring vendor? Maxine ponders. Maybe it’s because when friends do favors for friends, we don’t require them to open a ticket first.
23%
Flag icon
I want to migrate us to MySQL and open-source databases wherever we can, because I’m tired of sending millions of dollars each year to an abusive vendor.
23%
Flag icon
“I want to bring back the days when a developer could actually create value for someone who cares, easily and quickly,” Cranky Dave says. “I want to build and maintain something for the long haul, instead of shipping the ‘feature of the day’ and dragging all this technical debt around.”
24%
Flag icon
we can only win by innovating and understanding our customers, which we can only do by mastering data.
24%
Flag icon
‘Without automated testing, the more code we write, the more money it takes for us to test.’
25%
Flag icon
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.
31%
Flag icon
a system where small teams of engineers are able to work productively and independently of each other, with components painstakingly and splendidly isolated from each other, instead of being complected into a giant, ugly, knotty mess.
31%
Flag icon
“In tightly coupled and complected systems, it’s nearly impossible to change anything, because you can’t just change one area of the code, you must change one hundred, or even a thousand, areas of the code. And even the smallest changes can cause wildly unpredictable effects in distant parts of the system, maybe in something you’ve never even heard of.
31%
Flag icon
“Code deployment lead time, code deployment frequency, and time to resolve problems are predictive of software delivery, operational performance, and organizational performance, and they correlate with burnout, employee engagement, and so much more.
31%
Flag icon
Locality in our code is what keeps systems loosely coupled, enabling us to deliver features faster.
31%
Flag icon
Locality in our organizations allows teams to make decisions without having to communicate and coordinate with people outside the team, potentially having to get approvals from distant authorities or committees so far removed from the work that they have no...
This highlight has been truncated due to consecutive passage length restrictions.
31%
Flag icon
achieving this greatness is never free. It requires focus and elevation of improvement of daily work, even over daily work itself. Without this ruthless focus, every simple system degrades over time, increasingly buried under a tundra of technical debt.
32%
Flag icon
‘technical debt is what you feel the next time you want to make a change.’
32%
Flag icon
you pay down technical debt as a part of daily work. It’s a magnificent example of the First Ideal of Locality and Simplicity in our code and organizations.
32%
Flag icon
“The Second Ideal is Focus, Flow, and Joy.
32%
Flag icon
do we work in small batches, ideally single-piece flow, getting fast and continual feedback on our work?
32%
Flag icon
The Third Ideal is Improvement of Daily Work. Reflect upon what the Toyota Andon cord teaches us about how we must elevate improvement of daily work over daily work itself.
32%
Flag icon
The Fourth Ideal is Psychological Safety, where we make it safe to talk about problems, because solving problems requires prevention, which requires honesty, and honesty requires the absence of fear.
32%
Flag icon
the Fifth Ideal is Customer Focus, where we ruthlessly question whether something actually matters to our customers, as in, are they willing to pay us for it or ...
This highlight has been truncated due to consecutive passage length restrictions.
33%
Flag icon
We all know we need to change how QA does testing, but the best place to start is by changing how Dev does testing.
34%
Flag icon
my job is very simple: listen, do whatever you need me to do to help make you successful, and remove any obstacles in your way.”
39%
Flag icon
They start making a list: Every developer uses a common build environment. Every developer is supported by a continuous build and integration system. Everyone can run their code in production-like environments. Automated test suites are built to replace manual testing, liberating QA people to do higher value work. Architecture is decoupled to liberate feature teams, so developers can deliver value independently. All the data that teams need is put in easily consumed APIs
39%
Flag icon
“Innovation and learning occur at the edges, not the core. Problems must be solved on the front-lines, where daily work is performed by the world’s foremost experts who confront those problems most often.
39%
Flag icon
the Third Ideal is Improvement of Daily Work. It is the dynamic that allows us to change and improve how we work, informed by learning. As Sensei Dr. Steven Spear said, ‘It is ignorance that is the mother of all problems, and the only thing that can overcome it is learning.’
39%
Flag icon
“The famous Andon cord is just one of their many tools that enable learning. When anyone encounters a problem, everyone is expected to ask for help at any time, even if it means stopping the entire assembly line. And they are thanked for doing so, because it is an opportunity to improve daily work.
39%
Flag icon
“The opposite of the Third Ideal is someone who values process compliance and TWWADI,” he says with a big smile. “You know, ‘The Way We’ve Always Done It.’ It’s the huge library of rules and regulations, processes and procedures, approvals and stage gates, with new rules being added all the time to prevent the latest disaster from happening again.
39%
Flag icon
“You may recognize them as rigid project plans, inflexible procurement processes, powerful architecture review boards, infrequent release schedules, lengthy approval processes, strict separation of duties …
39%
Flag icon
As Sensei W. Edwards Deming once observed, ‘a bad system will beat a good person every time.’
40%
Flag icon
the Fourth Ideal of Psychological Safety. No one will take risks, experiment, or innovate in a culture of fear, where people are afraid to tell the boss bad news,”
40%
Flag icon
Researchers at Google spent years on Project Oxygen and found that psychological safety was one of the most important factors of great teams: where there was confidence that the team would not embarrass, reject, or punish someone for speaking up.
40%
Flag icon
John Allspaw says, every incident is a learning opportunity, an unplanned investment that was made without our consent.
40%
Flag icon
“Picture this scenario: You are in an organization where everyone is making decisions, solving important problems every day, and teaching others what they’ve learned,” Erik says. “Your adversary is an organization where only the top leaders make decisions. Who will win? Your victory is inevitable.
40%
Flag icon
Psychological safety slips away so easily, like when the leader micromanages, can’t say ‘I don’t know,’ or acts like a know-it-all,
41%
Flag icon
Safety is a precondition of work.’”
44%
Flag icon
a joke: “A QA engineer walks into a bar. Orders a beer. Orders zero beers. Orders 999,999,999 beers. Orders a lizard. Orders negative one beer. Orders a ‘sfdeljknesv.’”
46%
Flag icon
what’s the plural of ‘developer’?” says Maxine. “A ‘merge conflict.’”
49%
Flag icon
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.
50%
Flag icon
the developers will eventually be responsible for testing their own code, with QA taking a more strategic role, coaching and consulting.