Skip to content

Commit 015fa0b

Browse files
committed
2 parents 07b24f5 + 2620a9e commit 015fa0b

File tree

8 files changed

+65
-38
lines changed

8 files changed

+65
-38
lines changed
-645 KB
Binary file not shown.

_includes/conventions.html

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<h1><a id="conventions">Conventions</a></h1>
2+
3+
<p>This book shares many real life anecdotes to help illustrate a point or provide additional context.</p>
4+
5+
<p>These anecdotes are indicated by the following icons, and written in italics:</p>
6+
7+
<div><img class="icon" alt="Anecdotes Icon" src="images/anecdote.png"/></div>
8+
9+
<p>
10+
<i>This is a real life story or example that relates to the main text.</i>
11+
</p>

_includes/pe_value.html

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ <h2>Platform Engineering by the Numbers</h2>
4848
hours on undifferentiated efforts weekly, or roughly 10% to 20% of their week on things that are not related to
4949
building new products. Another survey found that engineers spend 30% of their time on "repetitive tasks."</p>
5050

51-
<p>The article goes on to list the six tenants used by the ASBX team:</p>
51+
<p>The article goes on to list the six tenets used by the ASBX team:</p>
5252

5353
<ol>
5454
<li>Software builders across Amazon require consistent, interoperable, and extensible tools to construct and operate
@@ -130,22 +130,20 @@ <h2>Quantifying the Business Value</h2>
130130
increases. It is harder to show independent increases to shareholder value, but it is included here for
131131
completeness.</p>
132132

133+
<div><img class="icon" alt="Anecdotes Icon" src="images/anecdote.png"/></div>
134+
133135
<p><i>Emma Maslen, the author of the post above, included shareholder value to capture cases where businesses were
134136
working towards efforts like environmental initiatives or diversity, equity and inclusivity that may not necessarily
135137
impact risk, cost, or revenue. In most cases, shareholder value is a consequence of changes to the other three pain
136138
points.</i></p>
137139

138-
<p>The chapter “Planning your Internal Developer Platform” notes that a clear mission and focus are vital to a
139-
successful IDP implementation. The mission statement is also an opportunity to address one or more of these four
140-
pain points.</p>
141-
142140
<p>Fortunately, an IDP has plenty of scope to impact business value positively. By infusing best practices at scale
143141
throughout your DevOps teams, it is reasonable to argue that your IDP directly reduces friction, improves DevEx,
144142
improves deployment frequency, or improves compliance. Importantly, these improvements are repeatable and scalable.
145143
The final step is to describe these improvements in terms of business concerns like risk, cost, or revenue.</p>
146144

147-
<p>Unlike the mission statement, the business value captured in this process must be expressed as a number to ensure it
148-
is measurable. Defining measurable values involves answering questions like:</p>
145+
<p>The business value of a platform team must be expressed as a number to ensure it is measurable. Defining measurable
146+
values involves answering questions like:</p>
149147

150148
<ul>
151149
<li>How much money will be earned from new features delivered as a result of the increased performance of DevOps

_includes/pe_vs_devops.html

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -22,51 +22,50 @@ <h2>What is DevOps Not?</h2>
2222
href="https://oc.to/r2TWX0">https://oc.to/r2TWX0</a>), where generative cultures high
2323
in trust and low in blame exhibit higher performance.</p>
2424

25-
<p>These definitions show us that the processes and cultural foundations that support and improve the delivery of
26-
features, reduce defects, and reduce the time to resolve issues are all the responsibility of DevOps teams.</p>
25+
<p>So the DevOps lifecycle makes DevOps teams responsible for tooling and processes, Westrum's organizational
26+
cultures makes them responsible for all human interactions, and the DORA metrics makes them responsible for all
27+
measurable outcomes.</p>
2728

28-
<p>And these are just two of the more popular interpretations of DevOps. One of the great successes of the DevOps
29+
<p>And these are just three of the more popular perspectives on DevOps. One of the great successes of the DevOps
2930
movement is that it encourages new perspectives on the metrics, processes, ideals, and cultural underpinnings of the
3031
field.</p>
3132

32-
<p>But even with just the DevOps lifecycle, DORA metrics, and Westrum organizational culture, we can attempt to answer
33+
<p>But even with just the DevOps lifecycle, DORA metrics, and Westrum's organizational culture, we can attempt to answer
3334
the question “What is DevOps not?”</p>
3435

35-
<p>There is no satisfying answer to that question. The term DevOps has become almost unfalsifiable, but this is quite by
36+
<p>There is no satisfying answer to that question.</p>
37+
38+
<p>The term DevOps has become almost unfalsifiable, but this is quite by
3639
design. DevOps has unashamedly sought to break down silos and absorb responsibilities that previously separated
37-
teams
38-
creating and delivering technical solutions, while simultaneously building a culture of psychological safety to
39-
encourage creative problem solving. The ideal DevOps team is self-sufficient, with the ability,
40-
willingness, confidence, and responsibility to tackle any and every problem.</p>
40+
teams creating and delivering technical solutions, while simultaneously building a culture of psychological safety
41+
to encourage creative problem-solving. The ideal DevOps team is self-sufficient, with the ability, willingness,
42+
confidence, and responsibility to tackle any and every problem.</p>
4143

4244
<p>But for every ideal DevOps team thriving on the responsibility of owning their own destiny, there is another team
43-
slowly
44-
drowning under the constant need to resolve every brittle process and incorporate every new responsibility
45-
encountered in the DevOps lifecycle. The mental
46-
burden of this undifferentiated and unsatisfying work has come to define their existence, leading to a downward
47-
spiral of dispirited and low performing teams. Or, put more simply, teams with an unsatisfactory developer
48-
experience.</p>
45+
slowly drowning under the constant need to resolve every brittle process and incorporate every new responsibility
46+
encountered in the DevOps lifecycle. The mental burden of this undifferentiated and unsatisfying work has come to
47+
define their existence, leading to a downward spiral of dispirited and low performing teams. Or, put more simply,
48+
teams with an unsatisfactory developer experience.</p>
49+
50+
<div><img class="icon" alt="Anecdotes Icon" src="images/anecdote.png"/></div>
4951

5052
<p><i>
5153
I found myself working as a developer on a codebase whose test suite would fail far more often than it passed. A few
52-
manual retries
53-
would solve the issue and ensure that pull requests could progress, although retrying the tests could take days.
54+
manual retries would solve the issue and ensure that pull requests could progress, although retrying the tests could
55+
take days.
5456
</i></p>
5557

5658
<p><i>
5759
The suggestion proposed by the engineering leadership at the time was that everyone should stop what they were doing
58-
and fix the
59-
tests. This is typically sound advice and very much in line with practices like Test Driven Design (TDD).
60-
Unfortunately, every developer
61-
on the team intrinsically understood that fixing the tests was a dedicated project it its own right. There were no
62-
quick wins.
60+
and fix the tests. This is typically sound advice and very much in line with practices like Test Driven Design
61+
(TDD). Unfortunately, every developer on the team intrinsically understood that fixing the tests was a dedicated
62+
project it its own right. There were no quick wins.
6363
</i></p>
6464

6565
<p><i>
6666
This forced everyone to quietly calculate the tradeoffs between wasting days on test retries and devoting weeks to
67-
undertaking
68-
the unplanned work of fixing the tests. Needless to say, we ended up wasting a lot of time clicking that retry
69-
button.
67+
undertaking the unplanned work of fixing the tests. Needless to say, we ended up wasting a lot of time clicking that
68+
retry button.
7069
</i>
7170
</p>
7271

@@ -130,7 +129,9 @@ <h2>What is Platform Engineering?</h2>
130129
</ul>
131130

132131
<p>It is easy to see that common solutions to common requirements are the only sustainable path for growing
133-
DevOps teams.
132+
DevOps teams. While the unfalsifiability of the responsibilities assigned to DevOps teams is still a concern, common
133+
solutions to common requirements do reduce the scope of those responsibilities that DevOps teams must
134+
actively focus on.
134135
</p>
135136

136137
<p>In our hypothetical scenario, the obvious solution is to deploy a CI server. But CI servers had to start somewhere.
@@ -146,10 +147,9 @@ <h2>What is Platform Engineering?</h2>
146147
<p>Thus a common solution to a common requirement was born. It is also no coincidence that Jenkins was born to improve
147148
Kohsuke's DevEx.</p>
148149

149-
<p>While CI servers are a solved problem (at least from the point
150-
of most DevOps team), environments with multiple DevOps teams working side by side will no doubt
151-
have many more common requirements. Addressing these common requirements with artifacts generated by your IDP
152-
is the goal of a platform team.
150+
<p>While CI servers are a solved problem (at least for most DevOps teams), environments with multiple DevOps teams
151+
working side by side will no doubt have many more common requirements. Addressing these common requirements with
152+
artifacts generated by your IDP is the goal of a platform team.
153153
</p>
154154
<p>
155155
Common artifacts generated by an IDP include:
@@ -168,7 +168,7 @@ <h2>What is Platform Engineering?</h2>
168168
<h2>Conclusion</h2>
169169

170170
<p>DevOps is arguably the best philosophy we have to build high performing teams to deliver technical solutions. But
171-
while DevOps can be used as the foundation for great teams, the demands placed on teams must be matched
171+
while DevOps can be used as the foundation for great teams, the demands placed on them must be matched
172172
by their capability. Asking DevOps teams to provide their own unique implementation to every requirement leads to
173173
inconsistent solutions at best and eventually creates an unsustainable environment. This in turn leads to
174174
frustration and poor DevEx.</p>

_includes/planning.html

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,8 @@ <h2>User Interviews</h2>
112112
<p class="quote">It has to solve a need, it has to be compelling, and you need to treat it like a
113113
product.</p>
114114

115+
<div><img class="icon" alt="Anecdotes Icon" src="images/anecdote.png"/></div>
116+
115117
<p><i>For those from an engineering background, talking to customers can elicit a feeling of dread. As an engineer, I
116118
never wanted to talk to customers because every customer I ever interacted with asked me to fix a bug or solve a
117119
problem. This order-taking was tolerable via asynchronous communication like email, but face-to-face conversation
@@ -163,6 +165,8 @@ <h2>Documentation and Training</h2>
163165
understand and implement the solution without requiring a personal demonstration every time. Documentation and
164166
training are two proven solutions for upskilling customers at a time and pace that suits them.</p>
165167

168+
<div><img class="icon" alt="Anecdotes Icon" src="images/anecdote.png"/></div>
169+
166170
<p><i>"Any product that needs a manual to work is broken." It's a catchy quote from Elon Musk, and yet the first time I
167171
caught a Tesla Model 3, my Uber driver had to open the door for me because I didn't know how the handles worked.
168172
Thankfully, and ironically, Tesla's online owner's manual has excellent documentation on how to open the doors. I'll
@@ -211,6 +215,8 @@ <h2>Issue Tracking and Feature Requests</h2>
211215
will likely have an issue tracker already in use by your DevOps teams, and reusing it for your IDP is a natural
212216
choice.</p>
213217

218+
<div><img class="icon" alt="Anecdotes Icon" src="images/anecdote.png"/></div>
219+
214220
<p><i>Be confident enough to admit you must wait to implement new features. While working in product teams, I was
215221
overwhelmed with requests for new features and improvements and felt that confessing that we wouldn't consider even
216222
great ideas for at least 6 to 12 months was admitting defeat. Often, I just ignored these requests, but that was a
@@ -233,6 +239,8 @@ <h2>Marketing</h2>
233239
changes. Lunch-and-learn sessions are another excellent way to reach your internal customers. Also, consider
234240
recording a demonstration of the new features and sharing it as a monthly webinar.</p>
235241

242+
<div><img class="icon" alt="Anecdotes Icon" src="images/anecdote.png"/></div>
243+
236244
<p><i>One of the tips I learned when I moved to a sales team was the value of existing, general-purpose meetings
237245
preallocated in a team’s calendar. Never underestimate how hard it is to find a time for everyone to meet. Being
238246
able to present at a lunch-and-learn is an incredible opportunity for your marketing efforts.</i></p>
@@ -267,6 +275,8 @@ <h2>Feedback</h2>
267275
rather than second hand via channels like social media, platform teams benefit from the opportunity to resolve these
268276
issues directly rather than hearing from the CTO that their IDP is not meeting expectations.</p>
269277

278+
<div><img class="icon" alt="Anecdotes Icon" src="images/anecdote.png"/></div>
279+
270280
<p><i>A common pattern I have noticed in many mobile apps is a two-step feedback process. The first question is designed
271281
to gauge whether the customer would provide a positive or negative rating. Those that indicated they would provide a
272282
negative rating are redirected to an internal feedback channel, while those providing positive feedback are

book.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
</head>
1010

1111
<body>
12+
{% include conventions.html %}
1213
{% include introduction.html %}
1314
{% include pe_vs_devops.html %}
1415
{% include pe_value.html %}

images/anecdote.png

2.26 KB
Loading

style.css

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,3 +87,10 @@ h2, h3 {
8787
.quote {
8888
margin-left: 2em;
8989
}
90+
91+
.icon {
92+
width: 32px;
93+
height: 32px;
94+
margin-left: unset;
95+
margin-right: unset;
96+
}

0 commit comments

Comments
 (0)