Upgrade to Pro — share decks privately, control downloads, hide ads and more …

「最後の砦」にならないQAエンジニア。プロダクト開発における新しい品質保証のかたち / QA ...

miisan
November 17, 2021

「最後の砦」にならないQAエンジニア。プロダクト開発における新しい品質保証のかたち / QA engineer who doesn't become the "last fort"

2021年11月17日に開催されたWomen Developers Summit に登壇した際に使用した資料となります。

様々な開発手法や技術の発展、DXの推進による顧客のサービス要求スピードの変化によってプロダクト開発における品質作りのかたちは変わりつつあります。これからのプロダクト開発では、QAチームだけでなくプロダクトチーム全体で品質作りに関わっていく必要があります。私が考えるこれからの時代に求められる品質保証のあり方、「お客さまへの価値」をつくる活動を継続的に推進するための取り組みや文化の作り方などを紹介します。品質保証はもはやQAエンジニアだけのものではありません。お客さまに選ばれるサービスを提供することについて一緒に考えてみましょう。

miisan

November 17, 2021
Tweet

More Decks by miisan

Other Decks in Technology

Transcript

  1. 品質とは
 • 致命的な不具合が無い • 使いやすい、分かりやすい(時間を奪わない) • 止まらない(すぐ復旧可能)、間違えない、不正に使われない (安全・安心) これが充足されれば当たり前と受け止められるが、不充足であれば顧客の不満を引き起こす品質 これが充足されなくても顧客が不満にならないが、充足されれば、顧客に満足を与え、喜びをもたらす品質

    • 他社に無い機能 / 分かり易さ / 直感で操作できる • 初めての体験の提供(素早い変化) / 継続的にお客さまへサービスが提供される体験 魅力的品質 当り前品質 ※品質が良いとは、 仕様通りに動くことやバグが無いサービス だけをさすわけではない。
  2. DXの進化
 DX:Digital Transformation 
 ITの浸透が、人々の生活をあ らゆる面でより良い方向に変 化させる。 ウメオ大学(スウェーデン)の エリック・ストルターマン教授が2004年 に提唱した概念。

    企業がビジネス環境の激しい変化 に対応し、データとデジタル技術を 活用して、顧客や社会のニーズを基 に、製品やサービス、ビジネスモデ ルを変革するとともに、業務そのも のや、組織、プロセス、企業文化・風 土を変革し、競争上の優位性を確立 すること。 デジタルトランスフォーメーションを推進するためのガイドライン (DX推進ガイドライン) Ver. 1.0 経済産業省
  3. 現状を誰が見ても同じ認識で理解できる状態にする Factから目をそらさない
 リリースサイクルが 回らない ・どんなフローが標準に なっている? ・何にどれくらい時間が かかっているのか? 負債の蓄積 初期品質が低い

    ・不具合発生率は? ・開発期間は? ・どんな要因で不具合が 発生したのか? 作業効率の改善 ・真のブロッカーになりう る負債とは何か? ・いつまでに対応すべき 問題があるのか? ・情報が分散していない か? ・タスクの見える化、タス クの一元管理はできてい るか?
  4. 振り返りフローやサイクルの構築について 原因分析から振り返る
 KPT K:keep = 良かったこと(今後も続ける) P:problem= 悪かったこと(今後はやめる) T:try =

    次に挑戦すること -> 課題を放置しないように可視化する Postmortem インシデントを検知したら課題管理ツールに 問題を報告し周知する その後、問題が収束したらチームで振り返り、ポス トモーテムを作成する
  5. 具体的なバグ分析について 原因分析から振り返る
 分析 ・仕様漏れ/仕様考慮漏れ/仕様不備 ・表記/デザイン不備 ・運用/オペレーションミス ・機能改善 ・実装不備 -> 要素をカテゴリーに分類する

    優先度 ・対応期限がある場合「期日あり」と明確化、未定 のものには「期日なし」と明記する ・温度感を明確にするための基準/ルールを設け、 プライオリティーをタスクや問題に定義
  6. 不具合を見つけるのではなく、不具合をつくらない取り組み 要件定義
 • お客さま視点の要件チェック・レビュー • 他のマイクロサービスや他チームへの影響範囲の考慮 • 新しい仕様追加による既存システムへの影響 • 過去経験から考慮すべき観点の提案

    ◦ 過去にあった類似の障害、不具合に対する考慮がされているか • PMやディレクターの相談役として並走 上流工程で仕様の考慮漏れなどを検出することで手戻り工数を削減できる 関係者で細かい認識合わせができることで認識齟齬による不具合を防げる
  7. 認識齟齬を減らし、より早く確実にテスト実施できる方法を模索する 設計・実施
 • 全体のテスト計画およびテスト自動化計画 • テストケースの作成 ◦ テストケースレビュー ◦ テストコードの実装

    • リグレッションテスト ◦ APIテスト・UIテスト ◦ リグレッションテスト自動化 テストケースという詳細イメージを共有し、認識齟齬を早期に解消する 手動テストと自動テストを組み合わせリリースサイクルを早める
  8. お客さま体験を知り、仕様を超えた体験を追求する 探索的テスト
 • ドッグフーディング(dogfooding) ◦ 完成されたプロダクトを関係者で動かし、認識齟齬や魅力的品質の 向上 につながるポイントを探す • おさわり会 ◦

    チームの垣根を超え、1ユーザーとしてプロダクトをさわる ◦ 多角的で異なる意見をフィードバックしあう 仕様以上の「価値」提供を追求することができる デザインや仕様の小さなズレも関係者ですり合わせることができる
  9. 網(さまざまな取り組み)をすり抜け発生した問題の深堀りによる改善 不具合分析
 • 問題の背景・原因を分析する ◦ 仕様の認識不足:kick offの重要性・仕様変更時の連携強化 ◦ 人的オペレーション:人員不足・手動オペレーションの改善 •

    情報は誰でもいつでもアクセスできるようにする ◦ 不具合分析ボードを管理し、定期的に情報を更新していく ◦ 問題発生率の変化や分析結果の改善についてはチームに展開する データドリブンな品質保証を行うことで、効果的な品質改善につながる 目には見えない品質を可視化し、定量的にはかることができる
  10. まとめ
 品質に対するチーム全体のオーナーシップ「全員品質」
 「網」(= テスト)は完全でない 
 ⇔ 特定の工程(例えばテスト)に依存せず、 「全プロセス(全員)」で信頼性の総和を向 上させる必要がある
 


    
 「不具合を見つける」から「不具合を未然に防ぐ」
 ⇔ 仕様・影響範囲・運用想定すべてを鑑み、不具合をテストフェーズで見つけるのでは なく、開発プロセス全体から生まれうる不具合の種をつんでおく