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
200
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
モバイルでもエリートDevOpsチームを目指そう
ko2ic
October 06, 2023
More Decks by ko2ic
See All by ko2ic
50回面接して学んだ強い技術者チームを作る採用とオンボーディング
ko2ic
0
970
段階的な技術的負債の解消方法.pdf
ko2ic
2
2.4k
ビジネス中心に7年間走り続けたAndroidをリアーキしてる話
ko2ic
0
74
Other Decks in Programming
See All in Programming
go-spidermonkeyでAIエージェントのCode Modeを実装する
syumai
3
1.2k
S3 を使うアプリケーションをローカル完結で動かすことに全力を注いでみた / Running S3 Apps Offline
contour_gara
0
650
Dockerfile CMD for Node.js
grazie1999
0
130
属人化した知識を、 AIが辿れる地図にする
pkshadeck
PRO
1
220
AWS DevOps AgentのAzure接続機能を検証して見えた活用法/Use Cases Verified for the AWS DevOps Agent's Azure Connectivity Feature
masakiokuda
1
270
freeeにおけるEvalsの実践例の紹介
freee
PRO
0
150
AI Engineeringは、AIプロダクトだけのものか? 〜AIがソフトウェアを作る時代の新しい当たり前〜 / No AI in your product. AI Engineering in your development.
rkaga
5
540
関東Kaggler会_NVIDIA_Nemotron_コンペ_振り返り
rick_ds
0
730
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
5
1.8k
片田舎のおっさん、 Swift Buildのダイアモンド問題解決の不具合修正PRを出すが、解決方法がキャッシュをしないようにすることであり、ビルド時間が伸びると言われてマージされないので高速化もする/swiftbuild
yimajo
0
300
MySQLとPostgreSQLって何が違うの?
akagami
0
140
Discordを用いたラボオートメーション関連情報収集の自動化
noguhiro2002
0
450
Featured
See All Featured
Tell your own story through comics
letsgokoyo
1
1k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.4k
Balancing Empowerment & Direction
lara
6
1.2k
New Earth Scene 8
popppiees
3
2.5k
Docker and Python
trallard
47
4.1k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
[SF Ruby Conf 2025] Rails X
palkan
2
1.3k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
650
RailsConf 2023
tenderlove
30
1.5k
Building Applications with DynamoDB
mza
96
7.2k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
580
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
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. エンジニア 募集中 ご清聴ありがとうございました