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
170
モバイルでもエリートDevOpsチームを目指そう
ko2ic
October 06, 2023
Tweet
Share
More Decks by ko2ic
See All by ko2ic
50回面接して学んだ強い技術者チームを作る採用とオンボーディング
ko2ic
0
840
段階的な技術的負債の解消方法.pdf
ko2ic
2
2.2k
ビジネス中心に7年間走り続けたAndroidをリアーキしてる話
ko2ic
0
54
Other Decks in Programming
See All in Programming
monorepo の Go テストをはやくした〜い!~最小の依存解決への道のり~ / faster-testing-of-monorepos
convto
2
460
チームの境界をブチ抜いていけ
tokai235
0
160
Django Ninja による API 開発効率化とリプレースの実践
kashewnuts
0
1.2k
What's new in Spring Modulith?
olivergierke
1
140
CSC305 Lecture 05
javiergs
PRO
0
210
iOSアプリの信頼性を向上させる取り組み/ios-app-improve-reliability
shino8rayu9
0
170
株式会社 Sun terras カンパニーデック
sunterras
0
270
Building, Deploying, and Monitoring Ruby Web Applications with Falcon (Kaigi on Rails 2025)
ioquatix
4
1.8k
なぜあの開発者はDevRelに伴走し続けるのか / Why Does That Developer Keep Running Alongside DevRel?
nrslib
3
390
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
160
「ちょっと古いから」って避けてた技術書、今だからこそ読もう
mottyzzz
10
6.5k
GraphQL×Railsアプリのデータベース負荷分散 - 月間3,000万人利用サービスを無停止で
koxya
1
1.2k
Featured
See All Featured
A designer walks into a library…
pauljervisheath
209
24k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Raft: Consensus for Rubyists
vanstee
139
7.1k
How to train your dragon (web standard)
notwaldorf
96
6.3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
The Cult of Friendly URLs
andyhume
79
6.6k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
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. エンジニア 募集中 ご清聴ありがとうございました