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
CDKを使ったPagerDuty連携インフラのテンプレート化
shibuya_shogo
0
100
なぜイベント駆動が必要なのか - CQRS/ESで解く複雑系システムの課題 -
j5ik2o
14
4.6k
Amazon Q Developer Proで効率化するAPI開発入門
seike460
PRO
0
120
ナレッジイネイブリングにAIを活用してみる ゆるSRE勉強会 #9
nealle
0
150
CSS Linter による Baseline サポートの仕組み
ryo_manba
1
150
もう少しテストを書きたいんじゃ〜 #phpstudy
o0h
PRO
17
3.9k
Rails 1.0 のコードで学ぶ find_by* と method_missing の仕組み / Learn how find_by_* and method_missing work in Rails 1.0 code
maimux2x
1
170
Rubyで始める関数型ドメインモデリング
shogo_tksk
0
140
Djangoアプリケーション 運用のリアル 〜問題発生から可視化、最適化への道〜 #pyconshizu
kashewnuts
1
260
Introduction to kotlinx.rpc
arawn
0
760
Grafana Loki によるサーバログのコスト削減
mot_techtalk
1
150
2025.2.14_Developers Summit 2025_登壇資料
0101unite
0
180
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
We Have a Design System, Now What?
morganepeng
51
7.4k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
GraphQLとの向き合い方2022年版
quramy
44
14k
4 Signs Your Business is Dying
shpigford
182
22k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
YesSQL, Process and Tooling at Scale
rocio
172
14k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Building an army of robots
kneath
303
45k
Designing Experiences People Love
moore
140
23k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
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. すべての時間を コーディングに