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
iOSCon 2018: Sustainable Releases
Search
Danielle Tomlinson
March 22, 2018
Technology
0
85
iOSCon 2018: Sustainable Releases
Danielle Tomlinson
March 22, 2018
Tweet
Share
More Decks by Danielle Tomlinson
See All by Danielle Tomlinson
KubeCon EU 2018: Write Less Code, Use More Tools
dantoml
0
150
Introduction to Swift Performance - Try! Swift 2016
dantoml
1
18k
NSScotland 2015: AppKit for iOS Developers
dantoml
1
150
Swift Testing and Architecture
dantoml
0
190
Swift, meet Objective-C
dantoml
2
5.3k
Other Decks in Technology
See All in Technology
Claude Codeを使った情報整理術
knishioka
17
11k
AI時代のアジャイルチームを目指して ー スクラムというコンフォートゾーンからの脱却 ー / Toward Agile Teams in the Age of AI
takaking22
3
1k
[Data & AI Summit '25 Fall] AIでデータ活用を進化させる!Google Cloudで作るデータ活用の未来
kirimaru
0
4.2k
ルネサンス開発者を育てる 1on1支援AIエージェント
yusukeshimizu
0
130
ESXi のAIOps だ!2025冬
unnowataru
0
470
Claude Skillsの テスト業務での活用事例
moritamasami
1
130
「リリースファースト」の実感を届けるには 〜停滞するチームに変化を起こすアプローチ〜 #RSGT2026
kintotechdev
0
410
M&Aで拡大し続けるGENDAのデータ活用を促すためのDatabricks権限管理 / AEON TECH HUB #22
genda
0
310
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.9k
202512_AIoT.pdf
iotcomjpadmin
0
180
『君の名は』と聞く君の名は。 / Your name, you who asks for mine.
nttcom
1
140
「エッジ×分散生成AI」の技術と変わる産業、そしてITの未来
piacerex
0
110
Featured
See All Featured
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5k
Technical Leadership for Architectural Decision Making
baasie
0
200
Unsuck your backbone
ammeep
671
58k
How to Ace a Technical Interview
jacobian
281
24k
For a Future-Friendly Web
brad_frost
180
10k
Documentation Writing (for coders)
carmenintech
77
5.2k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
770
Google's AI Overviews - The New Search
badams
0
880
Game over? The fight for quality and originality in the time of robots
wayneb77
1
73
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
27
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Skip the Path - Find Your Career Trail
mkilby
0
29
Transcript
Sustainable Releases A tale of teams and automation @dantoml @dantoml
[she/they] - iOSCon 2018
$ whoami @dantoml [she/they] - iOSCon 2018
CocoaPods @dantoml [she/they] - iOSCon 2018
! fastlane ! @dantoml [she/they] - iOSCon 2018
CircleCI @dantoml [she/they] - iOSCon 2018
! @dantoml [she/they] - iOSCon 2018
!!! @dantoml [she/they] - iOSCon 2018
This is not a talk about how CD will solve
all of your problems @dantoml [she/they] - iOSCon 2018
!" @dantoml [she/they] - iOSCon 2018
!" @dantoml [she/they] - iOSCon 2018
Backstory @dantoml [she/they] - iOSCon 2018
It didn’t build. @dantoml [she/they] - iOSCon 2018
!" @dantoml [she/they] - iOSCon 2018
! @dantoml [she/they] - iOSCon 2018
! @dantoml [she/they] - iOSCon 2018
Sound Familiar? @dantoml [she/they] - iOSCon 2018
! @dantoml [she/they] - iOSCon 2018
! all the things? @dantoml [she/they] - iOSCon 2018
No amount of ! will save you from a dysfunctional
environment. @dantoml [she/they] - iOSCon 2018
It's about delivering value @dantoml [she/they] - iOSCon 2018
@dantoml [she/they] - iOSCon 2018
How often do you ship? @dantoml [she/they] - iOSCon 2018
Release more often @dantoml [she/they] - iOSCon 2018
Every release is an opportunity to make users happy. @dantoml
[she/they] - iOSCon 2018
TypicalCorp: Milestone based releases @dantoml [she/they] - iOSCon 2018
TypicalCorp: Milestone based releases → Y Features need to be
in by X date @dantoml [she/they] - iOSCon 2018
TypicalCorp: Milestone based releases → Y Features need to be
in by X date → On X date we send to QA @dantoml [she/they] - iOSCon 2018
TypicalCorp: Milestone based releases → Y Features need to be
in by X date → On X date we send to QA → After QA we fix bugs @dantoml [she/they] - iOSCon 2018
TypicalCorp: Milestone based releases → Y Features need to be
in by X date → On X date we send to QA → After QA we fix bugs → Then we ship @dantoml [she/they] - iOSCon 2018
Atlassian, the business case for continuous delivery blog @dantoml [she/they]
- iOSCon 2018
@dantoml [she/they] - iOSCon 2018
So what can we improve? @dantoml [she/they] - iOSCon 2018
You can ship smaller changes @dantoml [she/they] - iOSCon 2018
Manage Expectations @dantoml [she/they] - iOSCon 2018
@dantoml [she/they] - iOSCon 2018
You don't need deadlines. @dantoml [she/they] - iOSCon 2018
⚗ Experiment! @dantoml [she/they] - iOSCon 2018
! @dantoml [she/they] - iOSCon 2018
! Metrics @dantoml [she/they] - iOSCon 2018
So what now? @dantoml [she/they] - iOSCon 2018
Release ! @dantoml [she/they] - iOSCon 2018
Some Requirements @dantoml [she/they] - iOSCon 2018
Some Requirements → Automated build + test for branches/prs @dantoml
[she/they] - iOSCon 2018
Some Requirements → Automated build + test for branches/prs →
Automated internal builds @dantoml [she/they] - iOSCon 2018
Some Requirements → Automated build + test for branches/prs →
Automated internal builds → Automated App Store builds @dantoml [she/they] - iOSCon 2018
But it's not just automation @dantoml [she/they] - iOSCon 2018
But it's not just automation → Policy for escalating hot
fix builds @dantoml [she/they] - iOSCon 2018
But it's not just automation → Policy for escalating hot
fix builds → Set release cadence for the App Store @dantoml [she/they] - iOSCon 2018
But it's not just automation → Policy for escalating hot
fix builds → Set release cadence for the App Store → Prioritised backlog of work @dantoml [she/they] - iOSCon 2018
RandomCorp: Release Trains → Sends a nightly internal+qa build →
Releases every other Tuesday w/ CI → Uses a release branch to make pushing hotfixes easier @dantoml [she/they] - iOSCon 2018
!"# @dantoml [she/they] - iOSCon 2018
Testing @dantoml [she/they] - iOSCon 2018
Acceptance Testing @dantoml [she/they] - iOSCon 2018
XCUITest @dantoml [she/they] - iOSCon 2018
! @dantoml [she/they] - iOSCon 2018
Changelog! @dantoml [she/they] - iOSCon 2018
!" @dantoml [she/they] - iOSCon 2018
@dantoml [she/they] - iOSCon 2018
scheme("SnapshotGenerator") devices([ "iPhone 6", "iPhone 6 Plus", "iPhone 5", "iPhone
4s" ]) languages([ "en-US", "de-DE", "es-ES", ["pt", "pt_BR"] # Portuguese with Brazilian locale ]) launch_arguments(["-username Felix"]) output_directory('./screenshots') clear_previous_screenshots(true) @dantoml [she/they] - iOSCon 2018
Localisation @dantoml [she/they] - iOSCon 2018
! @dantoml [she/they] - iOSCon 2018
! Feature Toggles @dantoml [she/they] - iOSCon 2018
Toggles are intentional Technical Debt @dantoml [she/they] - iOSCon 2018
Review Times @dantoml [she/they] - iOSCon 2018
Tooling @dantoml [she/they] - iOSCon 2018
Real World Example* *by which i mean a totally contrived
example. @dantoml [she/they] - iOSCon 2018
@dantoml [she/they] - iOSCon 2018
! @dantoml [she/they] - iOSCon 2018
Thank you @dantoml @dantoml [she/they] - iOSCon 2018