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
94
モバイルでもエリートDevOpsチームを目指そう
ko2ic
October 06, 2023
Tweet
Share
More Decks by ko2ic
See All by ko2ic
50回面接して学んだ強い技術者チームを作る採用とオンボーディング
ko2ic
0
490
段階的な技術的負債の解消方法.pdf
ko2ic
2
1.8k
ビジネス中心に7年間走り続けたAndroidをリアーキしてる話
ko2ic
0
19
Other Decks in Programming
See All in Programming
大規模Reactアプリのリアーキテクチャ~8万行のTanStack Query移行の軌跡~
kj455
4
1k
スクラムガイドのスプリントレトロスペクティブを改めて読みかえしてみた / Re-reading the Sprint Retrospective Section in the Scrum Guide
mackey0225
3
490
効率化に挑戦してみたらモバイル開発が少し快適になった話
ryunakayama
0
140
Anthropic Cookbook のおすすめレシピ
schroneko
7
1.2k
Native Federation: The Future of Micro Frontends in Angular
manfredsteyer
PRO
0
110
PHPはいつから死んでいるかの調査
chiroruxx
2
420
2 週間で Twitter Bot を作ってみた
contour_gara
0
780
SIMD Parallel Programming with the Vector API
josepaumard
0
230
新宿ダンジョンを可視化してみた
satoshi7190
3
400
WebGLで始める コンピュータグラフィックス入門
heller77
0
300
Elm 0.19.0 Changes
bkuhlmann
0
510
DMMプラットフォームがTiDB Cloudを採用した背景
pospome
9
4.3k
Featured
See All Featured
Debugging Ruby Performance
tmm1
70
11k
GraphQLとの向き合い方2022年版
quramy
33
12k
Optimising Largest Contentful Paint
csswizardry
13
2.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
14
1.5k
Fireside Chat
paigeccino
22
2.6k
Ruby is Unlike a Banana
tanoku
96
10k
Navigating Team Friction
lara
179
13k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.1k
[RailsConf 2023] Rails as a piece of cake
palkan
28
4k
Designing for Performance
lara
601
67k
For a Future-Friendly Web
brad_frost
172
9k
No one is an island. Learnings from fostering a developers community.
thoeni
16
2.1k
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. エンジニア 募集中 ご清聴ありがとうございました