SHOEISHA iD

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

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

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

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

品質の特定と品質の可視化ためのパターン:「着陸ゾーンの再調整」「着陸ゾーンの合意」「システム品質ダッシュボード」

QA to AQ 第7回

着陸ゾーンの合意

  • パターン:着陸ゾーンの合意(原題Agree on Quality Targets , 原著 Joseph W. Yoder and Rebecca Wirfs-Brock)[2]

 「合意は押し付けの結果であってはならない」――Nestor Kirchner(アルゼンチンの元大統領)

 品質に関連した具体的な目標を定義する必要がある分野はいくつかあります。複数のユーザーストーリーまたは多数のフィーチャーに広く適用されるパフォーマンス、ユーザービリティ、国際性、信頼性、またはその他の非機能品質特性に対する目標があるかもしれません。または、重点的に改善したい特定のシステム品質があるかもしれません。どれだけの改善を目指すかは、議論の余地があるかもしれません。

 ただし、過去に似たようなことをしたことがある場合は、選択する品質基準とその許容値は明らかかもしれません。それ以外の場合は、合意に達するのが難しい場合もあります。

 品質の受け入れ基準を定義する際に、どのように合意に達することができるでしょうか?

***

 多様な利害関係者は、異なる関心、背景、期待感を持っています。誰もが等しく情報を得ているとは限りません。矛盾した意見を持つ人もいるかもしれません。しかし、特定の品質関連の目標に向かって取り組むためには、誰もが共通の測定可能な目標に賛同し、それに向けて取り組む必要があります。

 技術的な制約により、何をどの程度の費用で提供できるかが制限されます。ビジネス上の懸念事項やマーケティングの傾向により、技術的な選択が行われる場合があります。技術的な決定には、コストや品質が影響することを考慮する必要があります。

 品質要件の優先順位は、多くの場合、それらを実装するための労力とベンチマークを実行するために必要な労力の大きさに左右されます。

***

 したがって、品質関連の目標値に関する情報に基づいた合意に向けて努力しましょう。理想的には、知識のある個人の小規模グループが目標値に合意する必要があります。

 多様な意見を持つ多様な利害関係者がいる場合は、各利害関係者グループに、彼らが特に関連するいくつかの品質特性を特定させるようにすることができます。これらは、すでに設定した着陸ゾーンの基準に追加できます。

 初めて着陸ゾーンを設定する場合、プロダクトを知っている人を選び、最初に着陸ゾーンの基準の確立を行うことを推奨します[W2011b]。ビジネスアーキテクト、プロダクトオーナーまたはリードエンジニアは、品質基準の妥当な値を含む「提案された着陸ゾーン」を準備し、小グループで、質問や、説明の要求を受けてレビューします。着陸ゾーンについて、最低値、目標値、および優良値はグループによって合意される必要があります。技術的な考慮事項が品質目標にどのように影響するかを認識することが重要です。これらの値をどのように達成できるかについての前提に注意する必要があります。

 品質シナリオの特定の値を考え出すとき、同様のアプローチを使用することもできます。知識のある人の中には、達成すべき「提案された」値を大まかに決めてしまう人もいます。しかし、知識のある専門家のグループが初期値を改良する場合もあります。

 議論は、要点に沿って、協調的、非対立的でなければなりません。人によっては、過去の傾向と推定に基づいて一連の値を提案する場合があります。または、ソフトウェアアーキテクトが、プロトタイピングの結果またはベンチマークデータに基づいて値を提案する場合があります。または、合理的で可能な値を調査するために、チームが設計スパイクを宣言する場合があります。プロトタイピングまたは設計スパイクのエビデンスに説得力があるため、グループが最終的に数値の調整に合意する可能性もあります。品質値の目標を効果的に設定するために、グループは、相互尊重、信頼、透明性を持ち、隠されたアジェンダを持たないようにする必要があります。

 たとえば、あるプログラムで、チーフビジネスアーキテクトが着陸ゾーンで品質基準とその初期値の初期設定を行いました。その人は、自分の技術的な限界を知ったことのある元技術オタクでした。その人は、ビジネスに関する深い知識、製品ビジョン、着陸ゾーンの値に関して何を正確に、そして何に大きな柔軟性が必要かについての感覚を持っていました。その結果、いくつかの基準は非常に正確でした。多くのトランザクションを処理するビジネスに携わっているため、トランザクション量の予測される増加に基づいてどこを改善する必要があるかがわかっていました。1つのビジネスプロセスのトランザクション処理能力の目標は、新しいアーキテクチャとシステムのデプロイ機能を考慮して、既存の実装からの推定に基づいていました。許容可能な最低値は現在の実装よりも優れていました(それが新しいシステムを構築する理由であったため)が、目標値と優良値は現在の機能からの推定に基づいていました。保守性に関連する他の着陸ゾーンの基準は、一般に、パッチ、新しいシステムリリース、またはオンラインアップデートサポートのいずれかを必要とするものとして分類されていました。パッチ、リリース、またはオンラインアップデートの定義は、意味があいまいにならないように明確にされています。

 値を導き出すことが可能な方法として、情報に基づいた個人の推定値の平均化、ベースラインとして既存システムを使用、同様なシナリオからの値の推定、または作業コードのベンチマーク評価があります。場合によっては、推定値を取得するためにスパイクソリューションを作成する必要があります。

 特定の品質シナリオの目標について合意を得るには、ファシリテーターの役割を果たす誰かが必要になる場合があります。ファシリテーターは、建設的な議論ができるようにプログラムまたはプロダクトについて十分に知っている必要がありますが、「権限者」や「専門家」である必要はありません。ファシリテーターは、合意を得るのが得意であり、意見や異論を強く抱いている可能性のある個人から最善を引き出す必要があります。理想的には、ファシリテーターは、建設的な観察を実現するために製品について十分知っており、許容可能な基準と値を定義する上で、小グループをリードする能力を持っていることが望まれます。質の高い目標の定義を導くために、冷静で画一的な人よりも、情報に基づく判断を行えるファシリテーターの方が効果的な場合があります。

 アジャイルチームが品質目標に合意する必要がある場合が何度かあります。たとえば、アジャイルチームが重要な品質の発見をしたときに、品質シナリオまたは着陸ゾーンの基準に対する初期値を確立する必要があります。着陸ゾーンの再調整を行う場合には、属性を修正し、値の変更に関して、少数のグループで、十分に情報を共有した上で合意が行われる必要があります。

次のページ
システム品質ダッシュボード

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

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/13527 2021/02/22 11:00

イベント

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

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

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

メールバックナンバー