吉祥寺.pm23 でお話しする 「戦って品質保証を勝ち取る」 のスライドです
戦う 兵站部隊で品質保証 を 勝ち取るー 僕が追求する QA (Quality Assurance)2020-07-21 @ 吉祥寺.pm23まみー (@mamy1326) / Lancers
View Slide
TwitterWorkLike✔ 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 あいうえおかきくけこさしすせそ