SHOEISHA iD

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

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

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

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

QA to AQ 第5回


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

品質ストーリー

  • パターン:品質ストーリー(原題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.

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

  • X ポスト
  • このエントリーをはてなブックマークに追加
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を展開中。

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

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

この記事をシェア

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング