Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Release early and Release often
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Andy Delcambre
October 01, 2011
Programming
560
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Release early and Release often
Reducing deployment friction
Andy Delcambre
October 01, 2011
More Decks by Andy Delcambre
See All by Andy Delcambre
Git and GitHub at YAPC:Asia
adelcambre
1
3.4k
Git, GitHub, Etc
adelcambre
3
260
Systems Programming - SoCoded 2013
adelcambre
2
200
Ruby Systems Programming
adelcambre
4
1.2k
Debugging Production Service Oriented Systems
adelcambre
3
450
Ruby, Rails and Engine Yard - Úll
adelcambre
1
340
SFRuby Nov 2011 - Release Early and Release Often
adelcambre
2
97
Other Decks in Programming
See All in Programming
Build-to-own AI: Agentic Development for Humans
inesmontani
PRO
0
120
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
190
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
560
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
17k
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
480
これって Effect でできたのでは? / TSKaigi Mashup Kansai #2
susisu
0
100
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
2.7k
OpenSpecのproposalにbrainstormingを持たせてみた
tigertora7571
1
150
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
1
3.2k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
440
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
160
php-fpmのプロセスが枯渇した日-調査・対処・そして本当にやるべきだったこと-
shibuchaaaan
0
170
Featured
See All Featured
Information Architects: The Missing Link in Design Systems
soysaucechin
0
1k
The SEO identity crisis: Don't let AI make you average
varn
0
520
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
230
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.7k
Design in an AI World
tapps
1
270
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
430
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
230
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
370
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
190
Transcript
RELEASE EARLY & Reducing Deployment Friction RELEASE OFTEN Saturday, October
1, 11
ANDY DELCAMBRE It rhymes with “Welcome” Saturday, October 1, 11
@adelcambre Saturday, October 1, 11
Saturday, October 1, 11
Saturday, October 1, 11
REDUCING DEPLOYMENT FRICTION Saturday, October 1, 11
REDUCING DEPLOYMENT FRICTION Saturday, October 1, 11
REDUCING DEVELOPMENT FRICTION Saturday, October 1, 11
Saturday, October 1, 11
STARTING A NEW TASK Saturday, October 1, 11
Saturday, October 1, 11
Saturday, October 1, 11
git checkout -b U-666 Saturday, October 1, 11
git commit -m “[U-666] add unicorns” Saturday, October 1, 11
Saturday, October 1, 11
............................. ..*......**.................. ............................. ...................... Finished in 10.809554 seconds 109 examples,
0 failures, 3 pending Saturday, October 1, 11
Saturday, October 1, 11
Saturday, October 1, 11
EyBot Saturday, October 1, 11
require 'ey/irc' run EY::Irc::Receiver.new { |message| case message.body when /^ping$/
message.say(message.to, ”Hello World!”) end end Saturday, October 1, 11
Saturday, October 1, 11
Saturday, October 1, 11
Saturday, October 1, 11
Saturday, October 1, 11
Saturday, October 1, 11
CONTINUOUS INTEGRATION Saturday, October 1, 11
Saturday, October 1, 11
MASON Saturday, October 1, 11
Saturday, October 1, 11
git checkout master git merge U-666 git push origin master
Saturday, October 1, 11
MARK TICKET AS “MERGED” Saturday, October 1, 11
AUTO DEPLOY TO EDGE Saturday, October 1, 11
Saturday, October 1, 11
404 DEPLOYS IN SEPTEMBER Saturday, October 1, 11
~ 20 per week day Saturday, October 1, 11
2-9 Production Deploys per Day Saturday, October 1, 11
EyBot: release awsm production Saturday, October 1, 11
Ensure master is green Saturday, October 1, 11
Tag the release Saturday, October 1, 11
Assign all merged tickets to the version Saturday, October 1,
11
Push tag to the deploy branch Saturday, October 1, 11
Production automatically deploys from the deploy branch Saturday, October 1,
11
Mark all tickets in this release as resolved Saturday, October
1, 11
Send Notifications Saturday, October 1, 11
Hoptoad Airbrake Saturday, October 1, 11
New Relic Saturday, October 1, 11
Email Saturday, October 1, 11
Saturday, October 1, 11
Saturday, October 1, 11
The actual deploy Saturday, October 1, 11
Fairly Standard Deploy Saturday, October 1, 11
current/ releases/ shared/ Saturday, October 1, 11
Unicorn Saturday, October 1, 11
bundle install --deployment Saturday, October 1, 11
Zero Downtime Migrations Saturday, October 1, 11
No Magic, Just a technique Saturday, October 1, 11
Adding a column Saturday, October 1, 11
Add a migration to add the column Saturday, October 1,
11
Ship code that needs the new column Saturday, October 1,
11
Deploy the code Restart the servers Then run migrations Saturday,
October 1, 11
More examples Saturday, October 1, 11
Removing a Column Saturday, October 1, 11
Renaming a column Saturday, October 1, 11
A work in progress Saturday, October 1, 11
Thanks! Saturday, October 1, 11
Questions? twitter.com/adelcambre engineyard.com We’re hiring! Saturday, October 1, 11