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
モバイルでもエリートDevOpsチームを目指そう
Search
ko2ic
October 06, 2023
Programming
0
130
モバイルでもエリートDevOpsチームを目指そう
ko2ic
October 06, 2023
Tweet
Share
More Decks by ko2ic
See All by ko2ic
50回面接して学んだ強い技術者チームを作る採用とオンボーディング
ko2ic
0
680
段階的な技術的負債の解消方法.pdf
ko2ic
2
2k
ビジネス中心に7年間走り続けたAndroidをリアーキしてる話
ko2ic
0
31
Other Decks in Programming
See All in Programming
Jakarta EE meets AI
ivargrimstad
0
150
みんなでプロポーザルを書いてみた
yuriko1211
0
260
watsonx.ai Dojo #4 生成AIを使ったアプリ開発、応用編
oniak3ibm
PRO
1
100
TypeScript Graph でコードレビューの心理的障壁を乗り越える
ysk8hori
2
1.1k
Duckdb-Wasmでローカルダッシュボードを作ってみた
nkforwork
0
120
RubyLSPのマルチバイト文字対応
notfounds
0
120
初めてDefinitelyTypedにPRを出した話
syumai
0
400
ヤプリ新卒SREの オンボーディング
masaki12
0
130
.NET のための通信フレームワーク MagicOnion 入門 / Introduction to MagicOnion
mayuki
1
1.5k
2024/11/8 関西Kaggler会 2024 #3 / Kaggle Kernel で Gemma 2 × vLLM を動かす。
kohecchi
5
920
Jakarta Concurrencyによる並行処理プログラミングの始め方 (JJUG CCC 2024 Fall)
tnagao7
1
290
macOS でできる リアルタイム動画像処理
biacco42
9
2.4k
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
52
13k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Code Review Best Practice
trishagee
64
17k
Git: the NoSQL Database
bkeepers
PRO
427
64k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
The Language of Interfaces
destraynor
154
24k
Bash Introduction
62gerente
608
210k
What's in a price? How to price your products and services
michaelherold
243
12k
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
410
Teambox: Starting and Learning
jrom
133
8.8k
Transcript
モバイルでもエリートDevOpsチームを目 指そう 2023.10.06 Koji Ishii
1. 自己紹介・ニューズピックスについて 2. Four Keysへ計測を変えたきっかけ 3. Four Keysのおさらい 4. Four
Keysへ計測方法を変えた効果 5. 改善するためのモバイルでの具体的な例 6. まとめ 00 目次 ©NewsPicks Inc. All Rights Reserved.
©NewsPicks Inc. All Rights Reserved. 01 自己紹介 ニューズピックスについて
01 自己紹介 ©NewsPicks Inc. All Rights Reserved. 石井幸次 株式会社ユーザベース NewsPicksプロダクトチーム
VP of Mobile Engineering (iOS 6名 Android 6名) エンジニアリングマネージャーでもありますが、 めちゃくちゃプレイヤーです。 経験として、iOSもAndroidもガッツリと開発してきた人間です。 Android中心に開発してます。iOSは全然書いてない こんな本を書いてました (古すぎるけど、まだ売れてるので一応宣伝)
01 NewsPicksについて ©NewsPicks Inc. All Rights Reserved.
01 ©NewsPicks Inc. All Rights Reserved. NewsPicksについて みんな視点 コメントから多少な視点をえる 提携メディアの視点
読んでおきたいニュースを 厳選してお届け NewsPicksの視点 コンテンツの力で、 日本に希望を灯す
©NewsPicks Inc. All Rights Reserved. 02 Four Keysで計測を始めたきっかけ
02 Four Keysで計測を始めたきっかけ ©NewsPicks Inc. All Rights Reserved. モバイル開発の 生産性どうやって計測してます?
02 Four Keysで計測を始めたきっかけ ©NewsPicks Inc. All Rights Reserved. ベロシティで生産性を測定するのはアンチパターン?
02 Four Keysで計測を始めたきっかけ ©NewsPicks Inc. All Rights Reserved. ベロシティで生産性を測定するのはアンチパターン?
チーム同士で比較なんてしないよ! 信頼無くす行動なんてし ないよ!!
02 Four Keysで計測を始めたきっかけ ©NewsPicks Inc. All Rights Reserved. 左のグラフは •
一部機能をリアーキしたときに生産性が爆上がりした (1.7倍〜10倍) • リアーキしたことによって iOSのスクロールにカクツキが 起きたことでその対処をしてたことで生産性が落ちた 実際ベロシティで測ってました • ベロシティは毎スプリントでとっている • 残業時間もわかる • 1時間あたりの消化ポイントがわかる 詳しくはブログで https://tech.uzabase.com/entry/2022/05/20/112737
02 Four Keysへ計測を変えたきっかけ ©NewsPicks Inc. All Rights Reserved. でも・・・
02 Four Keysへ計測を変えたきっかけ ©NewsPicks Inc. All Rights Reserved. ポイントの基準を変えたい!
02 Four Keysへ計測を変えたきっかけ ©NewsPicks Inc. All Rights Reserved. きっかけなんてこんなのものw
03 ©NewsPicks Inc. All Rights Reserved. Four Keysのおさらい
03 Four Keysのおさらい ©NewsPicks Inc. All Rights Reserved. • デプロイ頻度
(高い) • リードタイム (短い) • 変更障害率 (低い) • 平均修復時間 (短い) これが高いレベルでできているチームを エリートチームとしている エリートチームは、KPIを達成する可能性 が2倍高かったという事実
03 Four Keysのおさらい ©NewsPicks Inc. All Rights Reserved. • デプロイ頻度
(高い) • リードタイム (短い) • 変更障害率 (低い) • 平均修復時間 (短い) これが高いレベルでできているチームを エリートチームとしている エリートチームは、KPIを達成する可能性 が2倍高かったという事実
04 ©NewsPicks Inc. All Rights Reserved. Four Keysへ計測方法を変えた効果
04 Four Keysへ計測方法を変えた効果 ©NewsPicks Inc. All Rights Reserved. リリースとデプロイの分離をすること に意識が向いた
04 Four Keysへ計測方法を変えた効果 ©NewsPicks Inc. All Rights Reserved. マージを早くしたいから・・・
04 Four Keysへ計測方法を変えた効果 ©NewsPicks Inc. All Rights Reserved. マージを早くしたいから・・・ •
PRを小さく作る ◦ レビューが早く終わる ◦ 品質維持が容易になる • すぐにマージできる仕組みにする
04 Four Keysへ計測方法を変えた効果 ©NewsPicks Inc. All Rights Reserved.
05 ©NewsPicks Inc. All Rights Reserved. 改善するためのモバイルでの具体的な例
05 Four Keysへ計測方法を変えた効果 ©NewsPicks Inc. All Rights Reserved. マージを早くしたいから・・・ •
PRを小さく作る ◦ レビューが早く終わる ◦ 品質維持が容易になる • すぐにマージできる仕組みにする
05 改善するためのモバイルでの具体的な例 ©NewsPicks Inc. All Rights Reserved. マージを早くしたいから・・・ • PRを小さく作る
◦ レビューが早く終わる ◦ 品質維持が容易になる • すぐにマージできる仕組みにする
05 改善するためのモバイルでの具体的な例 ©NewsPicks Inc. All Rights Reserved. Feature Toggleを簡単に実装/操作できるようにした
分岐したいところで 呼び出すだけ
05 改善するためのモバイルでの具体的な例 ©NewsPicks Inc. All Rights Reserved. サーバーで設定されるトグルも変更可能
05 改善するためのモバイルでの具体的な例 ©NewsPicks Inc. All Rights Reserved. でもマージとリリースの時間軸が 乖離してたら生産性が高い とは言えない
05 改善するためのモバイルでの具体的な例 ©NewsPicks Inc. All Rights Reserved. リリース作業の負担は極力0へ
05 改善するためのモバイルでの具体的な例 ©NewsPicks Inc. All Rights Reserved. 1.Visual Regression Testingの導入
重要な画面はVRTで確認。リリース前に手動で確認するよりも正 確。 詳しくは次のブログ参照 いつでもリリース可能にするためにやったこと 深夜に大量のテストを動かしてるよ 2.ログのテストはUIテストで自動化 広告ログや分析ログで絶対にデグレ回避なものを自動テスト化。 詳しくは次のブログ参照
05 改善するためのモバイルでの具体的な例 ©NewsPicks Inc. All Rights Reserved. 3.E2E / UIテストの高速化
プログラムの変更だけで 40%高速化。 詳しくは次のブログ参照 いつでもリリース可能にするためにやったこと 緊急時でも負担少なくリリースできるよ 4.E2E / UIテストのリトライ処理 UIテストは、クラウド上の端末を使ってると安定しない。 いちいち、それを気にしてられないので、いい感じにリトライをして くれる仕組み化してます。 詳しくは次のブログ参照
05 改善するためのモバイルでの具体的な例 ©NewsPicks Inc. All Rights Reserved. 4. Slackのスタンプを貼ることで翌日リリース 直前状態にできます
いつでもリリース可能にするためにやったこと ちょっとでも面倒なことは自動化 (Zapierで簡単にできる時代) 5. 緊急リリースやテスト環境のビルドも Slack から可能 バージョンコードも指定できるよ
05 改善するためのモバイルでの具体的な例 ©NewsPicks Inc. All Rights Reserved. いつでもリリース可能にするためにやったこと ちょっとでも面倒なことは自動化
(Zapierで簡単にできる時代) 5. リリースノート作成の自動化 Fastlaneでリリースノート用の独自 laneを作り、GitHubの Releaseに対象のdeploygateのQRコードやPRタイトルやそのリ ンクを貼ってある。 5. 結果はSlackに投稿
05 改善するためのモバイルでの具体的な例 ©NewsPicks Inc. All Rights Reserved. ユーザはしょっちゅうリリースされるのを望ん でないのではないか問題
06 ©NewsPicks Inc. All Rights Reserved. まとめ
06 まとめ ©NewsPicks Inc. All Rights Reserved. Four Keysを改善して エリートDevOpsになろう
©NewsPicks Inc. All Rights Reserved. エンジニア 募集中 ご清聴ありがとうございました