組織アジリティSIGコーナー
先号   次号

「アジャイルの品質とAI」

小原 由紀夫 [プロフィール] : 5月号

アジャイルの品質は、ウォーターフォールより悪いと言われることがある。アジャイルには短期で繰り返して品質を含む価値を高める特徴を生かすための実現アプローチがある。
アジャイルの品質の実現アプローチとAIへの適用について述べる。

1. アジャイルの品質モデル
アジャイルは要求事項が不安定な環境に適用される。要求事項が不安定な理由は現在考えているものより価値の高い要求事項を発見できることへの期待である。そのため、アジャイルでは品質モデルとして顧客の主観的満足度に着目した狩野モデルを適用する。狩野モデルを以下に示す。
  • 魅力品質:顧客が気づいていないが、あると満足度が大きく向上する品質
  • 一元的品質:充足すれば満足度が上がり、不充足だと不満が増す品質(例:機能追加)
  • 当たり前品質:顧客が当然と考える品質。満たされていないと不満になるが、満たされても大きな満足にはつながらない。(例:障害や不具合)
アジャイルでは魅力品質の発見を目指す一方、適切に一元的品質と当たり前品質を実現していく。

アジャイルの品質モデル

ウォーターフォールにおける品質は要求への適合性に着目するため、明示的な要求に対する一元的品質と暗黙的な要求に対する当たり前品質を焦点とすることが多い。魅力品質には顧客も気づいていないため要求事項にならない傾向にある。

2. アジャイルの品質の実現アプローチ
品質を実現するためのアジャイルの実現アプローチを紹介する。
1) 要求事項の完了条件
要求事項は、顧客(利用者)にとっての価値を表すユーザーストーリーと直接的な利用者価値を実現するために必要な間接的な要求を表すイネーブラーにより表現する。それぞれのユーザーストーリーとイネーブラーに対して完了条件を設定する。(「アジャイルの要件定義」参照)また、完了条件により、魅力品質や一次元品質の分割や魅力品質の検証スピードを促進するための当たり前品質の制限を行う。

2) テスト駆動開発
ウォーターフォールではV字モデルに従い、工程に分割して設計して統合していく。
アジャイルでは、要求事項をユーザーストーリーとイネーブラーに分割して優先順に開発・リリースを繰り返していく。
アジャイルのXP(エクストリーム・プログラミング)のテスト駆動開発と自動テストを適用する。
テスト駆動開発では、完了条件からテスト仕様を先に記述し、そのテストを合格する様にコーディングする。(テスト法ではなく、開発法である)最初は不合格(赤)、コードを書いてテストに合格(緑)、そして、それを磨いて綺麗にする。(リファクタリング)

テスト駆動開発

リファクタリングは、変更を前提としているので、どの部分の変更に対しても俊敏(アジャイル)に対応するために必須である。また、要求事項の実現を順次繰り返していくため、既に開発した範囲についてのテストを繰り返すことになる。テストを手動で行っていると、テスト工数が増加してしまい、要求事項の消化速度が低下してしまう。日々進化するテスト自動化環境の活用によりテスト工数の問題を解消でき、テスト周期を短縮することにより早期の問題発見と調査範囲の限定ができる。(毎日夜間で自動テストを実行すれば、問題を毎日発見でき、調査を昨日の作業範囲に絞れる)リリース後の保守も容易になる。ただし、初期には開発環境の構築に先行投資する必要がある。

3) フィードバックとふりかえり
フィードバックは、顧客の主観的満足度を把握して、魅力品質を検証することを焦点とする。その後のふりかえりによりメンバーだけでなく、プロダクトオーナーも要求事項や完了条件の設定についての学びを得て成長していくことができる。初期に発生する可能性がある一元的品質と当たり前品質に関するフィードバックについては、メンバーの持つ専門性とふりかえりにより減少させていく。

3. AIへの適用。
AIは汎用的な解を提示してくれる。一方、AIの解が独自な環境に対しての妥当性を人間が判断していく。これは、要求事項であるユーザーストーリーとイネーブラーおよび完了条件の設定スキルが有効である。また、テスト自動化とふりかえりとの連動によりAIを効果的かつ変化する価値に俊敏に対応することができる。

PMAJ組織アジリティSIGでは、組織として変化への俊敏性である「組織アジリティ」とDX推進に必須な風土・組織への重要な取り組みを研究しています。ご興味のある方は、お声掛けください。
また、大手SIerの多くの経営層が「アジャイルはビジネスの問題」と気づいたPMAJ編の書籍「アジャイル開発への道案内」研修を6月5日に開催予定です。ご参加を検討ください。

ページトップに戻る