CodeZine(コードジン)

特集ページ一覧

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

QA to AQ 第5回

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2021/01/14 11:00

目次

品質ストーリー

  • パターン:品質ストーリー(原題Quality Stories 原著 Joseph Yoder, Rebecca Wirfs-Brock, Ademar Aguilar)[1]

 「品質を気にしなければ、他のいかなる要件も満足できる」――Gerald M. Weinberg(ソフトウェア開発の心理学・人類学者)

 機能要件のユーザーストーリーを作成および実装する際には、複数のユーザーストーリーまたは多数のフィーチャーにまたがって広く適用される、性能、使いやすさ、国際化、信頼性、またはその他の非機能品質特性を特定します。場合によっては、着陸ゾーンの目標を達成するために、改善する必要がある特定のシステム品質(たとえば、ETLの精度を1%上げる)があるかもしれません。

 これらの品質要件をチームに見えるようにして、優先順位を付けるにはどうすればよいでしょうか?

***

 バックログの機能的なユーザーストーリーで概説された、必要な作業を計画し、追跡し、および管理できるようしたいと考えています。これらの機能要件に取り組んでいる間に、特定の品質特性が、実装を完了するため必要になったり、明確に要求として認識されたり、あるいは複数のユーザーストーリーに関連することがあります。

 スプリント中は主に、機能要件に焦点を当てることとなり、多くの場合、システムの品質特性の推定に多くの時間は与えられません。また、特定の機能要件が実装されるまで、一部の品質特性やシステムのさまざまな部分への影響は明らかになりません。

 品質シナリオは、システムの重要な品質特性の重要性を理解、および詳細化することに役立ちますが、大まかすぎたり、「完成」したかどうかをチームが判断するための優先順位付けが十分でなかったりする場合があります。

***

 そこで、個別の品質ストーリーを作成し、それらをバックログに追加します。

 ユーザーストーリーは、目的とするフィーチャーの短く簡潔な説明であり、その仕組みや特性を望む人の観点から語られます。通常、プロダクトオーナーが優先する重要なユーザー機能に焦点を当てています。システムのさまざまな部分に取り組んでいる場合や重要な品質特性を優先してバックログに含める必要がある場合、システムの品質特性を表す品質ストーリーを作成します。通常のユーザーストーリーとは対照的に、品質ストーリーは、達成することが重要なシステム品質のいくつかの側面を短く簡潔に説明したものです。バックログには、品質特有のユーザーストーリーと機能的なユーザーストーリーの両方を含められます。品質特有のストーリーをバックログに追加すると、それらの品質要件が明らかになります。また、プロダクトオーナーは、システム機能とともに品質関連の関心事にも優先順位を付けられます。

 たとえば、クレジットカード、銀行、およびPayPalのトランザクションを使用した支払い処理をサポートするシステムを考えます。最初に、さまざまな支払い方法に関連するいくつかのユーザーストーリーを定義し(「ユーザーとして自分の銀行口座を用いて注文の支払いをする」「ユーザーとしてクレジットカードを用いて注文の支払いをする」「ユーザーとして自分のPayPalアカウントを用いて注文の支払いをする」など)、これらをサポートする機能を実装したとします。これらのユーザーストーリーにはそれぞれ、独自の受け入れ基準とテストがあります。ここで、すべてのタイプの支払い処理トランザクションに対応する性能要件を定義したいとします。

 元のユーザーストーリーに戻って、それぞれに対して特定の性能目標の受け入れ基準を付けることができます。しかし、必要とする全体的な性能の構図を提供することにはなりません。また、集約した結果としての総合的な性能目標が達成される限り、さまざまな支払い方法間で性能の違いを受け入れられるものとします。この場合、品質の折り込みを特定のストーリーに付ける代わりに、全体的な性能目標を表す別の品質ストーリーを作成します。

 「システムは、ピーク時の操作で1時間あたりx件の支払い処理トランザクションを処理できなければならない。」

 特定の機能的ユーザーストーリーに適用される品質特性を記述する必要がある場合は、いつでもそれらのユーザーストーリーに品質の受け入れ基準を付けることができます(品質の折り込みを参照)。それにより、さまざまな支払い方法に適用されるより広範な性能要件に加えて、必要に応じて、特定の支払い方法の特定の性能受け入れ基準をいつでも定義できます。 

おわりに

 連載の5回目では、アジャイル開発において効率的かつ効果的に品質保証を進めるために有用な実証済みのパターン集QA2AQから、アジャイルで重要な品質を特定するためのパターンをまとめた、分類「品質特性の特定」から3つのパターン「重要な品質の発見(Find Essential Qualities)」「品質シナリオ( Agile Quality Scenarios)」「品質ストーリー(Quality Stories)」の和訳を提供しました。次回の連載では引き続き、分類「品質の特定」から3つのパターンの和訳を提供する予定です。

参考文献

  • [1] Joseph Yoder, Rebecca Wirfs-Brock, Ademar Aguilar, “QA to AQ: Patterns about transitioning from Quality Assurance to Agile Quality,” 3rd Asian onference on Patterns of Programming Languages (AsianPLoP 2014), Tokyo, Japan, 2014.
  • [2] Joseph W. Yoder and Rebecca Wirfs-Brock, “QA to AQ Part Two: Shifting from Quality Assurance to Agile Quality,” 21st Conference on Pattern Languages of Programs (PLoP 2014), Monticello, Illinois, USA, 2014.
  • [3] Joseph W. Yoder, Rebecca Wirfs-Brock, Hironori Washizaki, “QA to AQ Part Three – Shifting from Quality Assurance to Agile Quality – Tearing Down the Walls,” 10th Latin American Conference on Pattern Languages of Programs (SugarLoafPLoP 2014), Pousada Armação dos Ventos, Brazil, 2014.
  • [4] Joseph W. Yoder, Rebecca Wirfs-Brock, Hironori Washizaki, “QA to AQ Part Four - Shifting from Quality Assurance to Agile Quality - Prioritizing Qualities and Making them Visible,”22nd Conference on Pattern Languages of Programs (PLoP 2015), Pittsbirgh, USA, 2015.
  • [5] Joseph W. Yoder, Rebecca Wirfs-Brock, Hironori Washizaki, “QA to AQ Part Five,” 5th Asian Conference on Pattern Languages of Programs (AsianPLoP 2016), February 24-26, 2016, Taipei, Taiwan.
  • [6] Joseph W. Yoder, Rebecca WirfsBrock, Hironori Washizaki, “QA to AQ – Part Six – Being Agile at Quality,” 23rd Conference on Pattern Languages of Programs (PLoP 2016), Monticello, Illinois, USA, OCTOBER 24-26, 2016.
  • [BCK] Bass, Len, Clements, Paul and Kazman, Rick, Software Architecture in Practice (2nd Edition), Addison-Wesley, 2003.
  • [BBC] Bransford T., Brown A., and Cocking, R., How People Learn: Brain, Mind, Experience and School. National Academy Press, 2000.
  • [Brown] Brown T., The hunt is on for the Renaissance Man of computing, in The Independent, September 17, 1991.
  • [CH] Coplien J. and Harrison, N., Organizational patterns of agile software development. Wiley, 2004.
  • [Duv] Duval, Paul. Continuous Integration: Patterns and Anti-Patterns. DZone, 2010. http://refcardz.dzone.com/refcardz/continuous-integration.
  • [Knuth] Knuth, D., “Structured Programming With Go To Statements,” Computing Surveys, Vol 6, No 4, December 1974, pp. 261-301.
  • [MR] Manns, M. L., and Rising, L. Fearless Change: Patterns for Introducing New Ideas. Addison-Wesley Professional, 2004.
  • [MYGA] Merson P., Yoder J., Guerra E., and Aguilar A., “Continuous Inspection: A Pattern for Keeping your Code Healthy and Aligned to the Architecture,” 3rd Asian Conference on Patterns of Programming Languages (AsianPLoP), Tokyo, Japan, 2014.


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

バックナンバー

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

もっと読む

著者プロフィール

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

     早稲田大学 研究推進部 副部長・グローバルソフトウェアエンジニアリング研究所所長・教授。国立情報学研究所 客員教授。株式会社システム情報 取締役(監査等委員)。株式会社エクスモーション 社外取締役。ガイオ・テクノロジー株式会社 技術アドバイザ。ビジネスと社会のためのソフトウェアエンジニアリングの研...

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

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

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

     NTTコムウェア株式会社 技術企画部プロジェクトマネジメント部門、エンタープライズビジネス事業本部事業企画部PJ支援部門 兼務 担当部長、アセッサー。PMOとしてプロジェクトの適正運営支援、及びPM育成に従事。  IIBA日本支部 教育担当理事。BABOKガイド アジャイル拡張版v2翻訳メンバー...

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

     株式会社システム情報 フェロー CMMコンサルティング室 室長。CMMI高成熟度リードアプレイザー(開発,サービス,供給者管理)。AgileCxO認定APH(Agile Performance Holarchy)コーチ・アセッサー・インストラクター。Scrum Alliance認定ScrumMas...

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

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

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

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

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

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

あなたにオススメ

All contents copyright © 2005-2022 Shoeisha Co., Ltd. All rights reserved. ver.1.5