My ‘Phoenix
Project’—One
Developer’s
Evolutionary
Journey
Presentation by Burr Sutter @BurrSutter for ATO2016
Based on the ‘Real’ Phoenix Project by Gene Kim (et al.), @RealGeneKim
In this industry, we all know
Gene Kim
(He’s everywhere!)
But what if he has a doppelgänger …
…the UnReal Gene Kim?
But what if he has a doppelgänger …
Real vs.
UnReal
Let’s see how they compare …
Developer
Advocate,
Red-Hatter
Entrepreneur,
King of DevOps
Let’s see how they compare …
Developer
Advocate,
Red-Hatter
Entrepreneur,
King of DevOps
Let’s see how they compare …
Developer
Advocate,
Red-Hatter
Founder,
DevNexus
Developer
ConferenceWorld-Famous
Author
(Wrote Some
Tweets)
Founder, DevOps
Enterprise Summit
Entrepreneur,
King of DevOps
Let’s see how they compare …
Developer
Advocate,
Red-Hatter
Founder,
DevNexus
Developer
ConferenceWorld-Famous
Author
(Wrote Some
Tweets)
Obviously
Awesome
Goatee
Founder, DevOps
Enterprise Summit
Entrepreneur &
King of DevOps
Let’s see how they compare …
Developer
Advocate,
Red-Hatter
Founder,
DevNexus
Developer
ConferenceWorld-Famous
Author
(Wrote some
Tweets)
Obviously
Awesome
Goatee
C’mon, Even More
Awesome Goatee!
Founder, DevOps
Enterprise Summit
Entrepreneur &
King of DevOps
Let’s see how they compare …
Developer
Advocate,
Red-Hatter
Founder,
DevNexus
Developer
ConferenceWorld-Famous
Author
(Wrote Some
Tweets)
Obviously
Awesome
Goatee
C’mon, Even More
Awesome Goatee!
Founder, DevOps
Enterprise Summit
Entrepreneur,
King of DevOps
And for something else in common … they
both love the hands-on heroes of this story!
Let’s see how they compare …
My Personal
Phoenix Project—
Quick Thoughts on
the Power of DevOps
Deployment forced
by the business
Brand new, sight-
unseen system
Moving from old
character UI to web
(allowing web-based
customer self service)
Given scope, time box,
and direction to move
straight to production
(no running in parallel,
no migration … )
Tasked with a midnight
cut-over w/ $5M at risk
I said, ‘It won’t be done.
It can’t fit. We wouldn’t
have time to sleep.’
He said …
You can sleep when you’re dead
We co-located our desks, kept in
constant contact with the client
We invented our own ‘burn-down’
chart; focused on weekly deliverables
Everyone demo’d weekly (often to
the CEO, who remained available)
We hit the midnight deadline &
pushed to production (gasp …)
We killed their POS, their 3rd party
integrations … all hell broke loose
We crippled their business—
seriously, we sent them back to
recording refunds on slips of paper
It was very, very ugly, there was
some finger pointing, and some
screaming, but …
“We quickly understood that the only way out was
forward—together—devs, ops, DBAs, and our
business people—the whole team.”
We co-located our desks, kept in
constant contact with the client
We invented our own ‘burn-down’
chart; focused on weekly deliverables
Everyone demo’d weekly (often to
the CEO, who remained available)
We hit the midnight deadline &
pushed to production (gasp …)
We killed their POS, their 3rd party
integrations … all hell broke loose
We crippled their business—
seriously, we sent them back to
recording refunds on slips of paper
It was very, very ugly, there was
some finger pointing, and some
screaming, but …
We rolled out patches overnight.
We made sure every developer
knew exactly how their code
was being used.
We worked cheek-to-cheek with
our ops team—all night when
we needed to.
We declared ‘bug-fix Saturdays’
for high-priority items that were
not ready to ship on Friday.
It only took a couple of
Saturdays until the devs started
writing vastly better, more
stable code that was ready to go
the next morning when the
business came online.
“We hero’ed up—we worked in a fundamentally
new way—and we succeeded at the impossible.”
We rolled out patches overnight.
We made sure every developer
knew exactly how their code
was being used.
We worked cheek-to-cheek with
our ops team—all night when
we needed to.
We declared ‘bug-fix Saturdays’
for high-priority items that were
not ready to ship on Friday.
It only took a couple of
Saturdays until the devs started
writing vastly better, more
stable code that was ready to go
the next morning when the
business came online.
For the Darwinian Developer—
An Evolutionary Journey
For the Darwinian Developer—
An Evolutionary Journey
Self-Service,
On-Demand,
Elastic,Infrastructure as Code
Embrace
DevOps
For the Darwinian Developer—
An Evolutionary Journey
Self-Service,
On-Demand,
Elastic,Infrastructure as Code
Embrace
DevOps
Automation:
Puppet, Chef,
Ansible
For the Darwinian Developer—
An Evolutionary Journey
Self-Service,
On-Demand,
Elastic,Infrastructure as Code
Embrace
DevOps
Automation:
Puppet, Chef,
Ansible
CI & CD
Deployment
Pipeline
For the Darwinian Developer—
An Evolutionary Journey
Self-Service,
On-Demand,
Elastic,Infrastructure as Code
Embrace
DevOps
Automation:
Puppet, Chef,
Ansible
CI & CD
Deployment
Pipeline
Containers &
Microservices
For the Darwinian Developer—
An Evolutionary Journey
Self-Service,
On-Demand,
Elastic,Infrastructure as Code
Embrace
DevOps
Automation:
Puppet, Chef,
Ansible
CI & CD
Deployment
Pipeline
Containers &
Microservices
Mythical
Beast
For the Darwinian Developer—
An Evolutionary Journey
Self-Service,
On-Demand,
Elastic,Infrastructure as Code
Embrace
DevOps
Automation:
Puppet, Chef,
Ansible
CI & CD
Deployment
Pipeline
Containers &
Microservices
Mythical
Beast
For the Darwinian Developer—
An Evolutionary Journey
Self-Service,
On-Demand,
Elastic,Infrastructure as Code
If you have not yet
read these, do it.
(Then read them
again in 6 months!)
When we are no longer
able to change a situation,
we are challenged to
change ourselves.
― Viktor E. Frankl,
Man's Search for Meaning
“
Everything can be taken from a
man but one thing: the last of
the human freedoms—
to choose one’s attitude in any
given set of circumstances, to
choose one’s own way.
― Viktor E. Frankl,
Man's Search for Meaning
“
Thank you!
burrsutter@gmail.com | @BurrSutter

My 'Phoenix Project'—One Developer's Evolutionary Journey