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
750
戦って品質保証を勝ち取る/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.8k
初めての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.1k
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
GeometryReaderやスクロールを用いた表現と紐解き方
fumiyasac0921
0
100
Evolving Architecture
rainerhahnekamp
3
250
KMP with Crashlytics
sansantech
PRO
0
240
2025年に挑戦したいこと
molmolken
0
160
Godot Engineについて調べてみた
unsoluble_sugar
0
380
今年一年で頑張ること / What I will do my best this year
pauli
1
220
シフトライトなテスト活動を適切に行うことで、無理な開発をせず、過剰にテストせず、顧客をビックリさせないプロダクトを作り上げているお話 #RSGT2025 / Shift Right
nihonbuson
3
2.1k
dbtを中心にして組織のアジリティとガバナンスのトレードオンを考えてみた
gappy50
0
210
JuliaTokaiとJuliaLangJaの紹介 for NGK2025S
antimon2
1
110
[IBM TechXchange Dojo]Watson Discoveryとwatsonx.aiでRAGを実現!事例のご紹介+座学②
siyuanzh09
0
110
2025年の挑戦 コーポレートエンジニアの技術広報/techpr5
nishiuma
0
140
2024年活動報告会(人材育成推進WG・ビジネスサブWG) / 20250114-OIDF-J-EduWG-BizSWG
oidfj
0
210
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Building Applications with DynamoDB
mza
93
6.2k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
19
2.3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
Visualization
eitanlees
146
15k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
The Cost Of JavaScript in 2023
addyosmani
46
7.2k
It's Worth the Effort
3n
183
28k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.4k
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
あいうえおかきくけこさしすせそ