used for sprint planning. The team
makes an explicit commitment to a
set of tasks from the backlog and in
return gets an uninterruptible window of protected time, a sprint, in
which to work with as much speed as
possible. Following the conclusion
of this blissfully uninterrupted and
churn-free period, the sprint demonstration shows the commitments that
the team met.
Before the cycle continues with the
next sprint-planning meeting using
a course-corrected product backlog,
the team holds a retrospective. This is
an introspective session in which the
team assesses the velocity reached and
identifies ways to increase velocity in
subsequent sprints. An honest retrospective, grounded in trust and self-awareness, can be used to figure out
how to “sharpen the saw” before moving on to the next sprint.
Focus. Focus is necessary for achieving high velocity.
While Round was dreaming of a
time when his team might be able to
deploy their software to the Amazon
website independently in less than a
minute without needing to gain the ap-
proval of or even to notify anyone else,
Andy Jassy was working on a vision doc-
ument for a new business that would
serve the needs of developers. In time,
Jassy’s AWS (Amazon Web Services) vi-
sion would coalesce around the need
to help developers avoid “undifferenti-
ated heavy lifting.”
Teams want to focus on solving
their customers’ problems and on
implementing, at high velocity, the
business logic that is uniquely their
responsibility. The heavy lifting of
procuring, provisioning, and oper-
ating data centers, servers, and net-
works is a burden that they would
rather not bear. They also want to
avoid if at all possible being blocked
by any people or processes they don’t
control (that is, that lie outside of
their own team). As Bezos put it,
“Even well-meaning gatekeepers slow
innovation.” 2 Cloud computing is an
enabler for permissionless innova-
tion and for moving toward software
architectures that have a marked ab-
sence of gatekeepers and in which
gatekeeping controls, such as access
controls and compliance assertions,
are programmatically enforced.
Culture. A high-velocity team pays
attention to fostering a culture that
encourages the team’s talent to flourish and deliver results. This is self-re-inforcing: teams with a culture that
enables high velocity tend to disproportionately attract top talent. It’s
important to start with the presumption that people are talented, aligned
with the mission, and want to work
at high velocity. Some aspects of culture that positively impact velocity
include diversity and inclusion, humility, trust, openness to learning,
willingness to move with “urgency
and focus,” 7 ownership, autonomy,
and willingness to collectively commit to delivering results.
Enablement. To achieve high velocity, it’s necessary to invest in systems
that enable engineers to work at speed
and to maximize the percentage of
their time spent working on their area
of unique responsibility. The obvious
starting points are the tools and processes that they use to build, integrate,
and deploy their code, and those used
to operate their code after it has been
released to ensure that it meets its requirements for availability, reliability,
performance, and security.
Less obvious is the need to enable
observability; while a services-based
architecture may bring the benefits
of autonomy and velocity, failures
across service boundaries can be
much more difficult to troubleshoot.
It’s helpful if metrics collection and
propagation, monitoring, alarming, and issue tracking are common
across services. Observability capabilities should enable distributed
tracing, facilitating the precise detection of critical signals and indicators,
and the progressive refinement of the
search space, leading to pinpointing
the root cause.
Experimentation. In the race to increase the rate at which they innovate,
many companies actively seek to reduce the cost of running experiments
so that they can do more of them. A
higher rate of experimentation can facilitate more frequent course correcting. It’s worth noting that a high rate
of experimentation can be viewed as a
high volume of discarded ideas, dead
code, and failures.
Successful teams embrace failures,
knowing that their models may be
incomplete and that most of the in-
correct choices they make are easily
reversible. Ed Catmull, cofounder of
Pixar, said, “Failure, when approached
properly, can be an opportunity for
growth. But the way most people in-
terpret this assertion is that mistakes
are a necessary evil. Mistakes aren’t a
necessary evil. They aren’t evil at all.
They are an inevitable consequence
of doing something new and, as such,
should be seen as valuable; without
them, we’d have no originality.” 4
Conclusion. Software engineering occupies an increasingly critical
role in companies across all sectors,
but too many software initiatives end
up both off target and over budget. A
persistent myth is that effective delivery involves a perfect vision of what
is needed combined with a plodding
and unblinking march toward that vision, blind to all distractions or new
information. A surer path is optimized for speed, open to experimentation and learning, agile, and subject
to regular course correcting.
A Conversation with Werner Vogels
Conversations with Technology
Leaders: Erik Meijer
Meet the Virts
1. Arkko, J. Permissionless innovation. IETF; https://
2. Bezos, J. Annual letter to Amazon shareholders, 2012.
3. Brooks Jr., F. The Mythical Man-Month.
Addison-Wesley, 1975, 1995.
4. Catmull, E. Creativity Inc. Random House, 2014.
5. Killalea, T. The hidden dividends of microservices,
acmqueue 14, 3 (2016); https://queue.acm.org/detail.
6. Netflix Culture. Netflix Jobs; https://jobs.netflix.com/
7. Stripe. A quick guide to Stripe’s culture; https://stripe.
8. Vogels, W. Working backwards. All Things Distributed
(Nov. 1, 2006); https://www.allthingsdistributed.
Tom Killalea was with Amazon for 16 years and now
provides advice to technology-driven companies and sits
on the boards of Akamai, Capital One, Carbon Black, and
Copyright held by author/owner.
Publication rights licensed to ACM.