SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

QA to AQ:アジャイル品質パターンによる、伝統的な品質保証からアジャイル品質への変革

品質の特定のためのパターン:「重要な品質の発見」「品質シナリオ」「品質ストーリー」

QA to AQ 第5回


  • このエントリーをはてなブックマークに追加

 本連載では、アジャイル開発において効率的かつ効果的に品質保証を進めるために有用な実証済みのパターン集『Quality Assurance to Agile Quality』(以下、QA2AQ)の和訳を、関連するいくつかのまとまりに分けて提供することで、アジャイル開発における品質保証の実践をお手伝いします。5回目となる今回は、2回目から4回目のアジャイルプロセスにおける品質保証のあり方や役割のパターンをまとめた、分類「品質のアジャイルなあり方」から、アジャイルで重要な品質特性を特定するためのパターンをまとめた、分類「品質の特定」に場を移し、その中で3つのパターン、「重要な品質の発見(Find Essential Qualities)」「品質シナリオ(Agile Quality Scenarios)」「品質ストーリー(Quality Stories)」の和訳を提供します。

  • このエントリーをはてなブックマークに追加

表1 QA2AQにおける分類とパターン
分類 概要 パターン名
中核 他のパターンを用いるうえでの基礎となるパターン
  • アジャイル品質プロセス [1](第1回)
  • 障壁の解体 [3](第1回)
品質のアジャイルなあり方 アジャイルプロセスにおける品質保証のあり方や役割のパターン
  • QAを含むOneチーム [1](第2回)
  • 品質スプリント [1](第2回)
  • プロダクト品質チャンピオン [5](第2回)
  • アジャイル品質スペシャリスト [6](第3回)
  • 品質チェックリスト [5](第3回)
  • 品質作業の分散 [6](第3回)
  • 品質エキスパートをシャドーイング [5](第4回)
  • QAリーダーとペアリング [3](第4回)
  • できるだけ自動化 [6](第4回)
品質の特定 重要な品質を特定するためのパターン
  • 重要な品質の発見 [2](第5回)
  • 品質シナリオ [1](第5回)
  • 品質ストーリー [1](第5回)
  • 測定可能なシステム品質 [2]
  • 品質の折り込み [1]
  • 着陸ゾーン [2]
  • 着陸ゾーンの再調整 [2]
  • 着陸ゾーンの合意 [2]
品質の可視化 重要な品質を可視化しチームメンバーに気付かせるパターン
  • システム品質ダッシュボード [2]
  • システム品質アンドン [4]
  • 品質ロードマップ [4]
  • 品質バックログ [4]

重要な品質の発見

  • パターン:重要な品質の発見(原題Find Essential Qualities , 原著 Joseph W. Yoder and Rebecca Wirfs-Brock)[2]

 「単純化する能力とは、不必要なものを排除して、必要なものを話せるようにすることである」――Hans Hofmann(ドイツの芸術家)

 非常に多くの場合、システムの重要な品質特性は、開発プロセスの後期まで見過ごされたり簡素化されたりすることがあります。これにより、品質の欠陥を修正するために、ソフトウェア設計の大規模なリファクタリングとやり直しによる遅延を引き起こす可能性があります。大規模なやり直しを回避するには、アジャイルチームがこれらの基本的な品質特性を特定し、それらの品質特性をチームにタイムリーに可視化することが重要です。

 アジャイルチームは、進化するシステムにとって重要な品質特性をどのようにすれば理解できるでしょうか?

***

 基本的な品質特性に十分早く焦点を合わせないと、重大な問題、遅延、手直しを引き起こす可能性があります。機能的な欠陥の修正には時間がかかる場合があります。パフォーマンスやスケーラビリティの欠陥を改善するには、システムのアーキテクチャに大幅な変更と修正が必要になる場合があります。

 初期の取り組み中にシステムの重要な品質特性が特定され、対処された場合、重要なアーキテクチャ検証を早期に実行して、アーキテクチャの欠陥による重大な混乱または遅延を防ぐことができます。

 システムの品質特性に焦点を合わせ過ぎると、重要な機能要件から注意が逸れることがあります。難しい点は、機能性とシステム品質の両面に適切なバランスで注意を払うことです。

 一方では、すべてのシステムの品質特性に対するテストを開発し自動化できるとよいと思います。システムの品質特性を毎日テストできるとすると素晴らしいことです。ただし、たとえば、使いやすさといったものをテストするのは費用がかかり、頻繁にテストするのは現実的ではありません。テストが実行される頻度と、テストの実行コストとの間の合理的なバランスを見つけることは、困難な場合があります。

***

 そのため、重要な利害関係者と適切な時期にチーム会議を開催して、システムで考慮する必要がある最も重要な品質特性についてブレインストーミングすることが必要です。

 プロジェクトの開始時は、プロジェクトの成功に不可欠な重要な品質特性を特定することが重要です。これは、基本的な品質特性に同意し、それらをチームに対して可視化するアジャイル品質属性ワークショップを介して行うことができます。これらのワークショップには、プロダクトオーナー、開発者、アーキテクト、品質保証担当、顧客などの主要メンバーを含める必要があります。アジャイル品質属性ワークショップは、時間を長く掛ける必要はなく、問題点を引き出せればよいです。

 ロードマップに大きな変更があった場合、または新しいシステムの品質特性が明らかになった場合はいつでも、チームは、別の品質ワークショップを開催することを選択できます。

 1~2時間続くことのある品質ワークショップでは、シンプルなコラボレーション手法を用いて、システムの品質特性を特定し、特徴付けることができます。品質チャートは、チームメンバーが特定の品質の懸念事項を記録するために、ホワイトボード上に懸念事項を提示するものです。懸念事項を特定し、特定のシステム品質(パフォーマンスや信頼性など)に関連付けた付箋に書き留めることができます。チームは、最も重要かつ緊急と考えるものに投票し、それらのアジャイル品質シナリオを作成できます。チームは、品質シートまたはテンプレートを使用して品質シナリオを記録することができます。

 主要な機能とそれらを提供する順序を概説する、プロダクトまたはプロジェクトのロードマップを策定した後、潜在的なアーキテクチャ上のリスクを特定できます。これらのリスクに基づき、品質固有の懸念事項を特定し、ロードマップ上の機能に関連付けることができます。特定のフィーチャーを有効にするために必要な特定の品質特性とアーキテクチャの機能を、いつ提供する必要があるかの大まかなタイムラインを描き、バックログに含めることができます。

 また、スプリント計画またはリリース計画の期間は、新しいシステム品質の問題を再検討して対処するのに適したタイミングです。チームメンバーは、リリースで提供する必要のあるシステムの品質特性を特定し、品質ストーリーを作成し、それらを達成するために必要なアクティビティを特定できます。

 システム品質ダッシュボードを使用して、プロジェクト全体でシステムの重要な品質特性を監視することができます。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
品質シナリオ

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
QA to AQ:アジャイル品質パターンによる、伝統的な品質保証からアジャイル品質への変革連載記事一覧

もっと読む

この記事の著者

鷲崎 弘宜(ワシザキ ヒロノリ)

 早稲田大学 研究推進部 副部長・グローバルソフトウェアエンジニアリング研究所所長・教授。国立情報学研究所 客員教授。株式会社システム情報 取締役(監査等委員)。株式会社エクスモーション 社外取締役。ガイオ・テクノロジー株式会社 技術アドバイザ。ビジネスと社会のためのソフトウェアエンジニアリングの研究、実践、社会実装に従事。2014年からQA2AQの編纂に参画。2019年からは、DX時代のオープンイノベーションに役立つデザイン思考やビジネス・価値デザインからアジャイ...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

長谷川 裕一(ハセガワ ユウイチ)

 合同会社Starlight&Storm 代表社員。日本Springユーザ会会長。株式会社フルネス社外取締役。 1986年、イリノイ州警察指紋システムのアセンブリ言語プログラマからスタートして、PL,PMと経験し、アーキテクト、コンサルタントへ。現在はオブジェクト指向やアジャイルを中心に、コンサルテ...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

濱井 和夫(ハマイ カズオ)

 NTTコムウェア株式会社 技術企画部プロジェクトマネジメント部門、エンタープライズビジネス事業本部事業企画部PJ支援部門 兼務 担当部長、アセッサー。PMOとしてプロジェクトの適正運営支援、及びPM育成に従事。 IIBA日本支部 教育担当理事。BABOKガイド アジャイル拡張版v2翻訳メンバー。ビジネスアナリシス/BABOKの日本での普及活動に従事。Scrum Alliance認定Product Owner。SE4BS構築やQA2AQ翻訳チームのメンバー。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

小林 浩(コバヤシ ヒロシ)

 株式会社システム情報 フェロー CMMコンサルティング室 室長。CMMI高成熟度リードアプレイザー(開発,サービス,供給者管理)。AgileCxO認定APH(Agile Performance Holarchy)コーチ・アセッサー・インストラクター。Scrum Alliance認定ScrumMaster。PMI認定PMP。SE4BS構築やQA2AQ翻訳チームのメンバー。CMMIやAPHを活用して組織能力向上を支援するコンサルテ...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

長田 武徳(オサダ タケノリ)

 株式会社エヌ・ティ・ティ・データ シニアITアーキテクト。ITサービス・ペイメント事業本部所属。2006年入社以来、決済領域における各種プロジェクトを担当後、2018年よりプロダクトオーナ・製品マネージャとしてアジャイル開発を用いたプロジェクトを推進。現在は、アジャイル開発におけるQAプロセスの確...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

田村 英雅(タムラ ヒデノリ)

 合同会社 GuildHub 代表社員。日本 Spring ユーザー会スタッフ。大学で機械工学科を専攻。2001 年から多くのシステム開発プロジェクトに従事。現在では主に Java(特に Spring Framework を得意とする)を使用したシステムのアーキテクトとして活動している。英語を用いた...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

陳 凌峰(チン リョウホウ)

 フリーランサー。2003年に上海交通大学(ソフトウエア専門)を卒業後、2006年から日本でシステム開発作業に従事。技術好奇心旺盛、目標は世界で戦えるフルスタックエンジニア。現在はマイクロサービスを中心にアジャイル 、DevOpsを展開中。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/12943 2021/01/14 17:02

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング