Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
ヤフーアプリの品質向上戦略
mao
January 07, 2020
Programming
4
2.2k
ヤフーアプリの品質向上戦略
ヤフーアプリの実際の品質改善例について紹介します
mao
January 07, 2020
Tweet
Share
More Decks by mao
See All by mao
モダンなシステム構成を取り入れ続けることができる組織作り #iosdc
nishimao
10
4.1k
ドッグフーディングしやすい環境を整える
nishimao
15
6k
Other Decks in Programming
See All in Programming
NGK2023S - OCaml最高! スマホ開発にも使えちゃう?!
haochenxie
0
120
PHP でガチの電卓を作る
memory1994
PRO
1
110
良質な技術記事を量産する秘訣 / #MeetsPro
jnchito
11
3.8k
tidy_rpart
bk_18
0
600
Spring BootとKubernetesで実現する今どきのDevOps入門
xblood
0
390
OSSから学んだPR Descriptionの書き方
fugakkbn
4
140
Rust、何もわからない...#6発表資料
ryu19
0
130
Functional Data Engineering - A Blueprint for adopting functional principles in data pipeline
vananth22
0
190
Showkase、Paparazziを用いたビジュアルリグレッションテストの導入にチャレンジした話 / MoT TechTalk #15
mot_techtalk
0
120
僕が考えた超最強のKMMアプリの作り方
spbaya0141
0
180
ペパカレで入社した私が感じた2つのギャップと向き合い方
kosuke_ito
0
290
フロントエンドで学んだことをデータ分析で使ってみた話
daichi_igarashi
0
180
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
508
38k
Why Our Code Smells
bkeepers
PRO
326
55k
The Straight Up "How To Draw Better" Workshop
denniskardys
226
130k
How to Ace a Technical Interview
jacobian
270
21k
Clear Off the Table
cherdarchuk
79
290k
Mobile First: as difficult as doing things right
swwweet
213
7.8k
Designing with Data
zakiwarfel
91
4.2k
In The Pink: A Labor of Love
frogandcode
132
21k
Testing 201, or: Great Expectations
jmmastey
25
5.7k
Fontdeck: Realign not Redesign
paulrobertlloyd
74
4.3k
Bootstrapping a Software Product
garrettdimon
299
110k
Building Better People: How to give real-time feedback that sticks.
wjessup
346
17k
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. すべての時間を コーディングに