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
ヤフーアプリの品質向上戦略
Search
mao
January 07, 2020
Programming
4
2.5k
ヤフーアプリの品質向上戦略
ヤフーアプリの実際の品質改善例について紹介します
mao
January 07, 2020
Tweet
Share
More Decks by mao
See All by mao
モダンなシステム構成を取り入れ続けることができる組織作り #iosdc
nishimao
10
4.6k
ドッグフーディングしやすい環境を整える
nishimao
15
7.1k
Other Decks in Programming
See All in Programming
『改訂新版 良いコード/悪いコードで学ぶ設計入門』活用方法−爆速でスキルアップする!効果的な学習アプローチ / effective-learning-of-good-code
minodriven
28
4.1k
DevFest - Serverless 101 with Google Cloud Functions
tunmise
0
140
Rubyでつくるパケットキャプチャツール
ydah
0
170
Androidアプリのモジュール分割における:x:commonを考える
okuzawats
1
280
Simple組み合わせ村から大都会Railsにやってきた俺は / Coming to Rails from the Simple
moznion
3
2.1k
今年のアップデートで振り返るCDKセキュリティのシフトレフト/2024-cdk-security-shift-left
tomoki10
0
360
ChatGPT とつくる PHP で OS 実装
memory1994
PRO
3
190
Beyond ORM
77web
11
1.6k
ESLintプラグインを使用してCDKのセオリーを適用する
yamanashi_ren01
2
230
asdf-ecspresso作って 友達が増えた話 / Fujiwara Tech Conference 2025
koluku
0
1.4k
PHPUnitしか使ってこなかった 一般PHPerがPestに乗り換えた実録
mashirou1234
0
420
Androidアプリの One Experience リリース
nein37
0
1.1k
Featured
See All Featured
How GitHub (no longer) Works
holman
312
140k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
192
16k
RailsConf 2023
tenderlove
29
970
Building a Scalable Design System with Sketch
lauravandoore
460
33k
Optimising Largest Contentful Paint
csswizardry
33
3k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
Practical Orchestrator
shlominoach
186
10k
Making Projects Easy
brettharned
116
6k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.5k
Why Our Code Smells
bkeepers
PRO
335
57k
Building Your Own Lightsaber
phodgson
104
6.2k
Transcript
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 公開
2020年1⽉7⽇ ⻄ 磨翁 ヤフーアプリの 品質向上戦略
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 公開
2 ⾃⼰紹介 • CTO室アプリ統括部 部⻑ • コマース系のアプリ担当を経て、現在 はヤフーアプリ全体の技術戦略などを 担当してます ⻄ 磨翁(にし まお)
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 公開
話したいこと 3 • ヤフーアプリの実際の品質改善例 • まずは現状把握から • コーディング時間を増やすには
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 公開
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. まずは現状把握から
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 公開
5
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 公開
現状把握の⽬的 6 • 正しいアクションを把握するため • ゴールが明確になることで最後まで⾛りきることが できる • やるべきことの優先順位をつけることができる
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 公開
7
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 公開
AppAnalytics 8 • Appleが提供する分析ツール • Crash数などを把握すること ができる • あまり使わない・・
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 公開
Organizer 9
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 公開
Crashの詳細を⾒ることができる 10 • だけどCrashlyticsや SmartBeatの⽅が使いやす い
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 公開
Metricsを⾒ることができる 11 • Xcode11からの新機能 • リリース済みのメトリクスを 取得できる • ユーザの許可が必要
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 公開
品質に関する項⽬が取得できる︕ 12 • Battery(バッテリー消費量) • Launch Time(起動時間) • Hang Rate(ハング率) • Memory(メモリ消費) • Disk Writes(ディスク書込)
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 公開
ただし⼀覧で⾒ることができない・・・ 13
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 公開
Apple Scriptを使って⾃動取得 14 詳細処理は懇親の時間に林さん に聞いてみてください︕
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 公開
情報を取得して⼀覧にした例 15
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 公開
グラフ表⽰の例 16
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 公開
最終的に可視化している値 17 • Swiftバージョンシェア • クラッシュ率 • 平均レビュー • アプリサイズ • コンテンツレーティング • OSS利⽤数(Carthage/CocoaPods) • エンジニア数 • Firebase利⽤有無 • 起動速度 • Battery(バッテリー消費量) • Launch Time(起動時間) • Hang Rate(ハング率) • Memory(メモリ消費) • Disk Writes(ディスク書込)
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 公開
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. コーディング時間を 増やすには
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 公開
コーディング時間が増えると 19 • リファクタリングに時間をかけることができる • 精神的余⼒が⽣まれる • よくないコードを⾒逃さなくなる
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 公開
コーディング時間を増やしたいけれど 20 • バグ対応 • レビュー指摘での⼿戻り対応 • 擦り合わせMTG • 集中⼒が切れた状態での稼働 • 平⾏開発案件がたくさんある︕
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 公開
コーディング時間を増やしたいけれど 21 • バグ対応 • レビュー指摘での⼿戻り対応 • 擦り合わせMTG • 集中⼒が切れた状態での稼働 • 平⾏開発案件がたくさんある︕
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. A
ฏߦ։ൃखΓͷϦεΫ͕͋Δ リリース⽇
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 結合テスト
B A ฏߦ։ൃखΓͷϦεΫ͕͋Δ リリース⽇
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 結合テスト
B A C ฏߦ։ൃखΓͷϦεΫ͕͋Δ リリース⽇
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. D
結合テスト 結合テスト B A C ฏߦ։ൃखΓͷϦεΫ͕͋Δ リリース⽇
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. D
結合テスト 結合テスト B A C ฏߦ։ൃखΓͷϦεΫ͕͋Δ リリース⽇ ֤ϒϥϯνͰͷ$*࠷ऴՌͰͳ͘ɺޮՌ͕ബ͍
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. खΓݮͷͨΊʹޮՌతͳ$*Λ࣮ࢪ
リリース⽇ A B C D ৗʹ࠷ऴՌͰ$*Λ࣮ࢪͰ͖ΔΑ͏ʹͳͬͨ • ϒϥϯνഇࢭ • ϖΞϓϩͰৗ࣌ϨϏϡʔίϛοτ • ॱ࣍։ൃͷͨΊҰݟ͘ݟ͑Δ͕खΓ͕ൃੜ͠ͳ ͍ͨΊ݁Ռతʹૣ͘ͳΔ
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. ։ൃ్தͰͷϦϦʔεʁ
リリース⽇ A B C D • ػೳϑϥάΛಋೖ͢Δ • Ҋ݅$Λ༗ޮʹ͢ΔϑϥάΛGBMTFͰϦϦʔε リリース⽇ 案件Cの開発中ロジックが⼊ってし まっているが、ユーザからは⾒えな い状態でリリースしている 案件C、案件Dの機能を完成させて 改めて公開される
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. ͦͷଞʹΔ͜ͱ
• υΩϡϝϯτഇࢭʢϖΞϩʔςͰঝʣ • ٿͷಋೖʢ࿈ܞྗ্ʣ • ఆ࣌ୀࣾʢපؾఢʣ • ߴεϖοΫϚγϯͷಋೖʢۚͷؙʣ ίʔσΟϯάΛ࠷༏ઌʹࣄΛߟ͑Ε0,
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 公開
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. どうなったか
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved.
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved.
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved.
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved.
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 公開
まとめ 35 • アプリ/チーム毎に最適なアクションは異なる • まず現状把握。次に改善アクション • 改善実⾏中は数値で可視化する
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 公開
Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. すべての時間を コーディングに