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 Faster
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
David Cramer
September 14, 2013
Programming
1.5k
12
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Release Faster
PyCon APAC 2013
David Cramer
September 14, 2013
More Decks by David Cramer
See All by David Cramer
Mastering Duct Tape (PyCon Balkan 2018)
zeeg
2
920
Open Source as a Business (PyCon SG 2014)
zeeg
0
410
Angular.js Workshop (PyCon SG 2014)
zeeg
0
280
Redis Hacks
zeeg
3
270
Architecting a Culture of Quality
zeeg
2
340
Open Source as a Business (EuroPython 2013)
zeeg
18
17k
Building to Scale (PyCon TW 2013)
zeeg
18
1.4k
Building to Scale
zeeg
28
24k
Lessons in Testing - DjangoCon 2012
zeeg
8
1.5k
Other Decks in Programming
See All in Programming
AIキャラアプリkaiwaの低遅延音声通話基盤をどう作ったか - AWS Gravitonで支える低遅延・低コストAI Agent基盤
mogamit
0
170
共通化で考えるべきは、実装より公開する型だった
codeegg
0
250
そのテスト、説明できますか?~LWテスト戦略FW~のご紹介
nakahara
0
210
LaravelLive Japan の裏方のすべて — 第188回 PHP勉強会@東京 (2026-06-24)
suguruooki
2
150
型も通る、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
360
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
510
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
3
1.5k
鹿野さんに聞く!『TypeScriptコードレシピ集』で磨く実践力
tonkotsuboy_com
4
1.1k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
270
SLOをサービス品質の共通言語にするために 取り組んできたこと
wakana0222
0
510
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
170
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
460
Featured
See All Featured
Code Review Best Practice
trishagee
74
20k
Between Models and Reality
mayunak
4
370
Code Reviewing Like a Champion
maltzj
528
40k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.3k
Automating Front-end Workflow
addyosmani
1370
210k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
360
Producing Creativity
orderedlist
PRO
348
40k
From π to Pie charts
rasagy
0
240
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
370
Prompt Engineering for Job Search
mfonobong
0
380
Skip the Path - Find Your Career Trail
mkilby
1
170
Transcript
RELEASE FASTER David Cramer twitter.com/zeeg Sunday, September 15, 13
Sunday, September 15, 13
I work on "Developer Productivity" Sunday, September 15, 13
(No one knows what that means) Sunday, September 15, 13
I also build Sentry Sunday, September 15, 13
"How do we release faster?" Sunday, September 15, 13
Continuous Deployment (n) Shipping new code as soon as it's
ready Sunday, September 15, 13
# Update the site every 5 minutes */5 * *
* * cd /www/example.com \ && git pull \ && service apache restart Sunday, September 15, 13
Continuous Deployment (n) Shipping new code as soon as it's
ready Sunday, September 15, 13
Review Integration Deploy Failed Build Reporting Rollback Commit Sunday, September
15, 13
Better Testing Simplify Development Automate Releases Feature Gates Code Review
Sunday, September 15, 13
A Dropbox tale.. Sunday, September 15, 13
"Go through these [extremely manual] instructions to setup a development
VM" Sunday, September 15, 13
Sunday, September 15, 13
"Why don't we just use Vagrant?" Sunday, September 15, 13
Optimize the Bootstrap Sunday, September 15, 13
Bootstrap affects newly hired developers Sunday, September 15, 13
Bootstrap affects rebuilding environments Sunday, September 15, 13
Bootstrap affects time to run tests Sunday, September 15, 13
Bootstrap affects our sanity Sunday, September 15, 13
vagrant up ⇢ provision.sh Sunday, September 15, 13
Remove Dependencies Sunday, September 15, 13
You cannot reproduce your production environment Sunday, September 15, 13
Stop Trying Sunday, September 15, 13
Do you really need Apache? RTQDCDN[PQV Sunday, September 15, 13
Do you really need HAProxy? UGTKQWUN[! Sunday, September 15, 13
Do you really need RabbitMQ? JQYCDQWV4GFKU! Sunday, September 15, 13
Do you really need Zookeeper? PQRG Sunday, September 15, 13
Do you really need Hadoop? NQN Sunday, September 15, 13
Do you really need Anything? Sunday, September 15, 13
Utilize your build servers for complicated dependencies Sunday, September 15,
13
Find Your Bottlenecks [QWRTQDCDN[FQP VPGGFC8/KH[QWJCXGGPIKPGGTU Sunday, September 15, 13
Better Testing Simplify Development Automate Releases Feature Gates Code Review
Sunday, September 15, 13
Culture vs Tooling Sunday, September 15, 13
Make Testing Easier Ensure you want to write tests Sunday,
September 15, 13
"Oh look, a test I can copy/paste" Sunday, September 15,
13
Encourage building better testing tools and paradigms Sunday, September 15,
13
pip install pytest Sunday, September 15, 13
pip install flake8 Sunday, September 15, 13
pip install mock Sunday, September 15, 13
Your goal is to make testing accessible Sunday, September 15,
13
Automatically test individual commits to ensure every change is stable
Sunday, September 15, 13
Sunday, September 15, 13
Test Continuously Before code review (lint) Sunday, September 15, 13
Test Continuously During code review Sunday, September 15, 13
Test Continuously Post-code review (merge) Sunday, September 15, 13
Optimize test execution time to deliver feedback ASAP Sunday, September
15, 13
Sunday, September 15, 13
Keep a tight Feedback Loop PQQPGYCPVUVQHKPFQWVVJGPGZVFC[VJCVVJGKTEQFGYCUDTQMGP Sunday, September 15, 13
Prevent mistakes by blocking commits which fail the build cycle
Sunday, September 15, 13
Failed builds won't deploy Sunday, September 15, 13
Failed builds won't merge Sunday, September 15, 13
Better Testing Simplify Development Automate Releases Feature Gates Code Review
Sunday, September 15, 13
Mandatory Code Review Sunday, September 15, 13
Sunday, September 15, 13
Use Code Review to sanity check code Sunday, September 15,
13
Use Code Review to influence testing culture Sunday, September 15,
13
Use Code Review to educate developers Sunday, September 15, 13
Use Code Review to decrease cycle time Sunday, September 15,
13
"Does this change look sane?" Sunday, September 15, 13
"No, this will break X, Y, and Z" FKF[QWGXGPMPQY:YCUCVJKPI! Sunday,
September 15, 13
Aim for Quality Patches Sunday, September 15, 13
Changes happen outside of master causing master to be the
new stable CMCVKRQTVTWPM Sunday, September 15, 13
Better Testing Simplify Development Automate Releases Feature Gates Code Review
Sunday, September 15, 13
Choose your Audience Sunday, September 15, 13
Releasing a feature internally can be as effective as externally
Sunday, September 15, 13
Use feature gates to limit the audience your change affects
Sunday, September 15, 13
Gargoyle at Disqus Sunday, September 15, 13
from gargoyle import gargoyle def my_view(request): if gargoyle.is_active('awesome', request): return
'my new awesome feature' else: return 'boring old version' Sunday, September 15, 13
Better Testing Simplify Development Automate Releases Feature Gates Code Review
Sunday, September 15, 13
Look at Heroku Sunday, September 15, 13
$ heroku create sushi Creating sushi... done http://sushi.herokuapp.com/ |
[email protected]
:sushi.git
$ git push heroku master ----> Heroku receiving push ----> Rails app detected ----> Compiled slug size is 8.0MB http://sushi.herokuapp.com deployed to Heroku Sunday, September 15, 13
Continuous deployment is not deploying every commit Sunday, September 15,
13
Focus on the ability to release every commit, not actually
doing it Sunday, September 15, 13
Review Integration Deploy Failed Build Reporting Rollback Commit Sunday, September
15, 13
Stage Release TGNGCUGECPOGCPYJCVGXGTKVPGGFUVQYKVJKP[QWTQTICPK\CVKQP Sunday, September 15, 13
Closing Thoughts Sunday, September 15, 13
Quality over Quantity PQUGTKQWUN[ Sunday, September 15, 13
Scale culture through tooling Sunday, September 15, 13
Your problems are not unique Sunday, September 15, 13
Thank You! (p.s. Tokyo is amazing) twitter.com/zeeg Sunday, September 15,
13