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
戦って品質保証を勝ち取る/Fight_for_quality_assurance
Search
mamy1326
July 21, 2020
Technology
2
770
戦って品質保証を勝ち取る/Fight_for_quality_assurance
吉祥寺.pm23 でお話しする
「戦って品質保証を勝ち取る」
のスライドです
mamy1326
July 21, 2020
Tweet
Share
More Decks by mamy1326
See All by mamy1326
PHPer が知るべき MySQL クエリチューニング/What PHPers Need to Know about MySQL Query Tuning
mamy1326
18
7.3k
MySQLでGROUP BY と ORDER BY を同時に使いたくなったら/If_you_want_to_use_GROUP_BY_and_ORDER_BY_at_the_same_time_in_mysql
mamy1326
4
5.9k
初めてのMySQLパフォーマンスチューニングーデータベースは怖くない!/mysql-performance-tuning-basics-in-db-study-chugoku-chiho
mamy1326
8
2.7k
アウトプットを継続するためにやる10箇条-吉祥寺.pm-/10_things_practicing_to_continue_output-in_kichijoji.pm
mamy1326
4
2.2k
MySQLパフォーマンスチューニングの基本ー実際のトラブルシュートから my.cnf までー/MySQL_Performance_Tuning_Basics_in_OSC_Niigata
mamy1326
2
3.5k
アウトプットを継続するためにやっている 10 のこと/10_things_practicing_to_continue_output
mamy1326
21
9.5k
アプリケーションエンジニアが知るべきDNSの基本/Basics_of_DNS_that_application_engineers_should_know
mamy1326
113
47k
dns-penetration-problem-why-can-not-i-say-penetration-kichijojipm15
mamy1326
5
3.5k
DNS_penetration_problem_Why_can_not_I_say_penetration
mamy1326
7
1.3k
Other Decks in Technology
See All in Technology
MIMEと文字コードの闇
hirachan
2
1.4k
What's new in Go 1.24?
ciarana
1
110
プルリクエストレビューを終わらせるためのチーム体制 / The Team for Completing Pull Request Reviews
nekonenene
1
260
事業モメンタムを生み出すプロダクト開発
macchiitaka
0
100
Amazon Athenaから利用時のGlueのIcebergテーブルのメンテナンスについて
nayuts
0
110
AI Agent時代なのでAWSのLLMs.txtが欲しい!
watany
3
350
Cracking the Coding Interview 6th Edition
gdplabs
14
28k
技術スタックだけじゃない、業務ドメイン知識のオンボーディングも同じくらいの量が必要な話
niftycorp
PRO
0
120
困難を「一般解」で解く
fujiwara3
7
1.6k
サバイバルモード下でのエンジニアリングマネジメント
konifar
15
3.9k
Охота на косуль у древних
ashapiro
0
120
IAMのマニアックな話2025
nrinetcom
PRO
6
1.4k
Featured
See All Featured
Adopting Sorbet at Scale
ufuk
75
9.2k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
Product Roadmaps are Hard
iamctodd
PRO
51
11k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
GitHub's CSS Performance
jonrohan
1030
460k
It's Worth the Effort
3n
184
28k
Scaling GitHub
holman
459
140k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
10
520
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
11
1.3k
Transcript
戦う 兵站部隊で 品質保証 を 勝ち取る ー 僕が追求する QA (Quality Assurance)
2020-07-21 @ 吉祥寺.pm23 まみー (@mamy1326) / Lancers
Twitter Work Like ✔ 2017年の趣味:MySQL ✔ 2018年の趣味:DNS ✔ 2020年の趣味:CakePHP4 :@mamy1326(まみー)
:Lancers,Inc. @ PHPer :cune.jp 自己紹介 2
✔ リファクタリング したい →事業優先・予算の都合で手が出せない… ✔ 品質 を上げたい →開発速度低下、データの劣化、etc… ✔ 経営層を納得
させたい →メリデメを数値で示したいが… こんな悩みありませんか? 3
僕も 似たような 悩み があります 4
✔ 品質保証に課題 がある ・レガシー脱却したい ・運用しんどい ・チーム連携をもっと密にしたい ✔ QA (Quality Assurance)
って? ・品質保証って範囲広くない? ・各社でやってること違くない? ・テストを徹底すればいいの? 想定オーディエンス 5
こんな 疑問 と 僕なりに 向き合った 半年の話をします 6
一般的な QA とは ✔ 開発段階での仕様の確認・評価 ✔ テストケースの設計・実行 ✔ テスト結果と不具合分析 ✔
テスト自動化 ✔ 開発プロセスの見直し ✔ チーム横断で品質マネジメント 7
一般的な QA とは ✔ 開発段階での仕様の確認・評価 ✔ テストケースの設計・実行 ✔ テスト結果と不具合分析 ✔
テスト自動化 ✔ 開発プロセスの見直し ✔ チーム横断で品質マネジメント 8 ちょっと待って!
一般的な QA とは ✔ 開発段階での仕様の確認・評価 ✔ テストケースの設計・実行 ✔ テスト結果と不具合分析 ✔
テスト自動化 ✔ 開発プロセスの見直し ✔ チーム横断で品質マネジメント 9 全ての組織・ サービスに 同じこと言える?
一般的な QA とは ✔ 開発段階での仕様の確認・評価 ✔ テストケースの設計・実行 ✔ テスト結果と不具合分析 ✔
テスト自動化 ✔ 開発プロセスの見直し ✔ チーム横断で品質マネジメント 10 段階が あるよね
じゃあ サービスの 段階とは 11
1 → 100 サービスが 軌道に乗る ✔ パフォーマンスが気になり始める →想定のトラフィックを超え始める ✔ インフラ増強を考え始める
→インスタンスを大きくしてみようか アプリもデータも まだ大丈夫 12
100 → 10000 サービスで 利益が出る ✔ 人員拡大を進める →チームで役割分担を考え始める。開発・SRE・etc ✔ 重たい処理が出始める
→サーバーの台数が増えていく データ量が問題 になってくる 13
10000 → 1000000 サービスが 社会に影響 を与える ✔ 事業が多角化する →サービスの種類が増える。チームがさらに分かれる ✔
システムの問題が見過ごせなくなる →データ肥大化によるスロークエリ、処理の複雑さ、etc リファクタリング が必要になる 14
10000 → 1000000 サービスが 社会に影響 を与える ✔ 事業が多角化する →サービスの種類が増える。チームがさらに分かれる ✔
システムの問題が見過ごせなくなる →データ肥大化によるスロークエリ、処理の複雑さ、etc リファクタリング が必要になる 15 この段階の お話をします
起きていたこと - 1 / 2 ✔ コードに無理 が生じている →10年以上戦い肥大化 ✔
バージョンアップが 困難 に →FW含め、新しい技術の追従が遅れる 16
起きていたこと - 2 / 2 ✔ スロークエリ 多発 →想定しなかったデータの肥大化 ✔
役割ごとのチームに 距離 が →なんとなく齟齬を感じる 17
誰もが通る道 でも… 18
乗り越えるには 覚悟 が必要 19
覚悟すること - 1 / 2 事業拡大の 痛み を ポジティブ に
✔ 役割分担=᫁轢・摩擦は当たり前 →事業・サービスの成長痛 ✔ 摩擦はコミュニケーションのチャンス →迂回すればするほど痛みだけが増していく 問題の顕在化=改善のチャンス! 20
覚悟すること - 2 / 2 道具 (FW) に 熟達する ✔
武器を誰よりも良く知る →選択した技術を突き詰める ✔ 最新に追従 →常に更新し、自分たちも変化を続ける 変化の積み重ね=開発効率の維持 21
22 常に 変化し続ける 覚悟
23 変化し続ける = 品質保証
品質保証に必要なこと - 1 / 2 ✔ 戦略的に考える ・両輪:[戦闘] 事業拡大 +
[兵站] 後ろ支え ・勝利のない戦闘に補給無用 ・補給のない戦闘に勝利なし ✔ 事業拡大の先が本番 ・戦って得たモノを 盤石化・維持発展 ・本当の意味で勝利 24
品質保証に必要なこと - 2 / 2 ✔ 第一線での戦闘力=開発力 ・継続した 武器の熟練、最新への追従 ・アプリ・インフラ・RDB
を၆ᛌ ✔ チーム同士の連携 ・役割分担=チーム ・結果ベースで信頼、妥協のない相互理解 25
26 必要なことを 踏まえて…
27 僕が考える 最強の QA
僕が考える最強の QA - 1 / 2 戦う兵站部隊 ✔ 最前線でも戦える戦闘力を持つ →技術者として最強を目指し続ける
✔ 変化への柔軟さを維持 →最新への追従を続ける 戦って品質保証を 勝ち取る 28
僕が考える最強の QA - 2 / 2 フェーズ に合わせる ✔ 組織・サービスは変化し続ける
→フェーズを意識し目標を合わせる ✔ 現状に満足しない →地道で確実なチャレンジを積み重ねる 多彩な戦略 を選択可能にする 29
終わりに ✔ 品質とは 永遠の課題 ✔ 現状に満足したら死 ✔ コスト計算とメリデメを明確に ✔ 楽しく品質保証
✔ 地道な改善・確実な追求 30
575 品質は 歴史という名の ノウハウだ 31
しっかり 地面を見定めて 32
蓄積された 業務・実装を 33
歴史という名の ノウハウに していきましょう! 34
35
最強のQA #424242 #F0F0F0 #E6855E #5EC84E #F0F0F0 あいうえおかきくけこさしすせそ #E6855E あいうえおかきくけこさしすせそ #5EC84E
あいうえおかきくけこさしすせそ