SHOEISHA iD

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

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

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

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

QA to AQ 第7回

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

システム品質ダッシュボード

  • システム品質ダッシュボード(原題System Quality Dashboard 原著 Joseph W. Yoder and Rebecca Wirfs-Brock)[2]

 「ダッシュボードは、タイムリーにデータを配信する必要があり、その適時性は、ダッシュボードにどのプロセスが表示されるかによって決まる」――Keith Gile(アメリカのマーケットリサーチ会社のアナリスト)

 通常、アジャイルソフトウェア開発では、アーキテクチャや重要な品質特性など、他の重要なシステムの側面に注意を払うより前に、まずフィーチャーと機能性に注目します。アジャイルプロジェクトでは、「まず動かし、次に正しく動かし、そして最適化する」といった声を耳にすることがあります。ほとんどのアジャイルプラクティスは、プロダクトオーナーによって概説されている重要な機能要件を開発することを推し進め、それを作業のバックログ上で優先します。システムが進化するにつれて、チームはどのシステム品質特性が重要で、それらをどのようによりよく測定するかを理解しはじめます。システムが進化するにつれて、これらの品質特性を追跡することがますます重要になります。

 アジャイルチームは、この情報にアクセスして可視化する手段をどうやって提供できるのでしょうか?

***

 ツールとダッシュボードの作成には時間がかかり、多くの場合、QAツールの構築に専念するリソースや人は限られています。ツールとダッシュボードは、システムが出荷するのに十分な要件を満たしているかの確認と比較すると、無意味な贅沢のように見えるかもしれません。

 どの品質特性の監視が重要であるかを知ることは困難です。システムに組み込まれている品質特性が増えれば増えるほど、監視を継続することが重要だとする品質特性もあれば、一度検証してテスト可能になったことで十分とする品質特性もあります。

 セキュリティ、パフォーマンス、信頼性といった特定の品質特性は、定期的に追跡されていないと開発プロセスの後半で改善することは困難になります。元々システムが品質制約を満たしていた場合でも、システムが進化するにつれて、品質特性を監視し、維持しつづけないと品質が低下する可能性があります。

 一部の品質特性は、システムの機能が完了するまで正確に測定するのが難しい場合があります。ただし、システムの品質目標を達成できるかどうかを、システムの進化に応じて把握する必要があります。

***

 したがって、重要な品質特性をテストし、検証するためのダッシュボードを作成します。システムの重要な品質特性が何かが概説され、それがバックログに含まれているので、どの品質特性を監視する必要があるのか、そして、システムの進化に応じてシステムを測定するためのツールをどのタイミングで作成できるのか、に注意しておく必要があります。

 最初のステップは、継続的に測定および監視する必要がある重要な項目の概要を説明することです。これらのいくつかは、部分的に実装された機能のみを実行して測定する単純な測定、検証から始めることができます。まずは、これらを既存のテストフレームワークに組み込むことができます。最初は単純な測定を行っているだけかもしれませんが、それらをダッシュボードに組み込まないと、可視化することはできません。そこで、これらの測定値をダッシュボードに組み込むことで、システムの進化に応じて重要な品質特性に関する継続的なフィードバックを提供することができるようになります。これが「継続的検査」の一形態です[MYGA]。

 ダッシュボードをいつ構築するか、いつ購入する必要があるか? ツールを選択するときには、セットアップがどれほど簡単か、すなわち、「すぐに使える」かどうかを知ることが重要です[FY98]。ツールが必要なすべてを提供し、比較的使いやすい場合は、ツールを使用します。ただし、強力な測定手段を提供する一部のツールは、費用がかかるか、使いにくい場合があります。そのため、強力なツールを購入するか、それほど強力ではないオープンソースのダッシュボードを使用するかを決定する必要があります。もう1つの考慮事項は、ダッシュボードが開発環境とどの程度うまく統合されるのかです。

 ツールを購入するか構築するかに関わらず、どのような品質の側面を表示するものなのか、またそれらをどのような頻度で測定するかについて検討します。ダッシュボードは、ユーザーが指示したときに、ビルドまたは統合時に実行された品質関連のテストの結果を表示するものですか、または本番システムを監視するものですか? ダッシュボードの内容を有用なものにするためにどれくらいの頻度で更新する必要がありますか? また、測定値が許容可能な最低基準を下回るとどうなりますか? 一部のダッシュボードツールでは、測定値がしきい値を超えたときにアラートと通知を設定できます。図1は、SonarCubeなどのシステムを監視するためのサードパーティのオープンソースツールの例です。

図1:品質ダッシュボード
図1:品質ダッシュボード

 ダッシュボードは、実行中のプロセスのパフォーマンスなどのリアルタイムの結果を表示したり、チェックインまたはシステム構築の品質テスト中に測定された品質値を表示したりできます。これらのダッシュボードは、本番システムの運用ダッシュボードと重ねることができます。

 チームが着陸ゾーンの再調整をする際には、新たに更新された値を含めるようにダッシュボードを調整することが重要です。

おわりに

 連載の第7回では、アジャイル開発において効率的かつ効果的に品質保証を進めるために有用な実証済みのパターン集QA2AQから、アジャイルで重要な品質を特定するためのパターンをまとめた、分類「品質特性の特定」「品質の可視化」から3つのパターン、「着陸ゾーンの再調整(Recalibrate the Landing Zone)」「着陸ゾーンの合意(Agree on Quality Targets)」「システム品質ダッシュボード(System Quality Dashboard)」の和訳を提供しました。次回の連載では引き続き、分類「品質の可視化」から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.
  • [GILB] Gilb, Tom. 2005. Competitive Engineering: A Handbook For Systems Engineering, Requirements Engineering, and Software Engineering Using Planguage. Butterworth-Heinemann.
  • [FY98] Foote B., and Yoder, J. 1998. The Selfish Class. Proceedings of the 3rd Conference on Pattern Languages of Programs (Monticello, Illinois). PLoP '96, Technical Report #WUCS-97-07, September 1996, Department of Computer Science, Washington University. Pattern Languages of Program Design 3 edited by Robert Martin, Dirk Riehle, and Frank Buschmann, Addison-Wesley, 1998
  • [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.
  • [W2011a] Wirfs-Brock R., (July 28, 2011). Agile Landing Zones,
  • [W2011b] Wirfs-Brock R., (August 16, 2011). Who Defines (or Redefines) Landing Zone Criteria,

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

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング