アジャイル品質マネジメント           竹腰重徳

 品質マネジメントの目的は、「顧客の要求に合ったものをいかに実現するか」であり、その基本的な理念は、「作ったあとのテストで問題やバグを見つけて欠陥を是正するのではなく、開発プロセスの中で事前に問題やバグを予防する方が良い」という考えで、「品質をプロセスで作り込む」である。「品質をプロセスで作り込む」という仕掛けは、アジャイルマニフェストの原則(1)に組み込まれており、原則を理解し着実に実行すれば、ウォーターフォール(WF)に比べ、より高い品質が期待できる。

原則1「顧客満足を最優先し、価値あるソフトウェアを早期に継続的に提供する」
 価値あるソフトウェアの提供というのは、顧客の要求に合ったソフトウェアを実現することで、品質マネジメントの目的である。早期に継続して提供するということは、反復漸進的な方法で顧客の要求に合った価値のソフトウェアかどうかを確認しながら開発することである。アジャイルでは、顧客の要求に合った価値あるソフトウェアを反復漸進的に提供することが、顧客満足のための最優先と考えて開発する。

原則2「顧客の競争力強化のために要求の変更はたとえ開発の後期であっても歓迎する」
 WFでは、事前に定義した要求は正しいので途中では変更しないという前提で、要求変更を厳格に管理しながら開発するが、要求変更が起こると変更コストや時間の増加の問題が発生する。アジャイルでは、開発途中で価値を上げる要求変更を変更コストや時間の増加なしに柔軟に対応する仕組みを持っており、より顧客の要求に合ったソフトウェアを開発することが可能となる。

原則3「動くソフトウェアを短い期間に頻繁に出荷する」
 アジャイルでは1週間から1ヶ月間の短い反復期間ごとに要求分析、アーキテクチャ、設計、制作、結合、テストを行い漸進的に動くソフトウェアを作成していく。早期に頻繁に動くソフトウェアをレビューすることにより、プロジェクトの失敗リスク速く見つけることができるため、無駄になるコストは、失敗リスクが最終フェーズまでわからないWFに比べ、低くなる。

原則4「プロジェクトの期間を通じて顧客と開発者は毎日一緒に仕事をする」
 開発者が顧客と毎日一緒に仕事をすることにより、常時、要求事項の適確な把握と反復テスト結果の顧客からのフィードバックが行われ、顧客の要求品質を高める。WFでは、顧客の参加は、フェーズごとのレビューなど部分的であることが多く、顧客からのフィードバックは十分得られないため、顧客の要求が正しく伝わらないリスクが高い。

原則6「情報を伝える最も効率的かつ効果的な方法は、対話によるコミュニケーション」
 アジャイルでは対話によるコミュニケーションが主体で、速く正確に要求事項など情報伝達ができ、WFのドキュメント中心のコミュニケーション方法に比べ、要求品質を高める。

原則8「持続可能な開発を推進する」
 長時間労働は、ミスの多発と最終的にはメンタルヘルスに重大な影響を及ぼしかねず、製品の品質の悪化をもたらす。特にWFでは、ワークロードがテストフェーズに過重にかかることが多く、長時間労働を実施しなければならない状況が多々発生する。アジャイルでは、チームはクオリティライフを重視し、プロジェクト期間中ずっとコンスタントなペースで仕事ができるように自ら計画を立てることにより、オーバーワークを防ぐことができ、品質の良い仕事ができる。

原則9「技術的卓越性や優れた設計に継続的に注目することにより、機敏さを高める」
 アジャイルでは、テスト駆動開発(TDD)、ペアプログラミング、継続的インテグレーション、ソースコードの共同所有、自動テストなどのツールや手法を使うことなど、開発プロセスの中に「品質をプロセスで作り込む」を実現している。

原則12「定期的な間隔で行動の振り返りを行い、それに基づいて継続的改善をする」
 WFでは、プロジェクトの終了時にプロジェクトを振り返り、教訓を得る。その教訓は当該プロジェクトでは活かされず、次以降のプロジェクトに活かされる。アジャイルでは、反復ごとに振り返りを行い、教訓を得る。その教訓は次の反復からプロセス改善として生かされ、プロジェクトの期間中で継続的にプロセスの改善をしていくので、より品質の高い仕事が期待できる。

 アジャイル品質マネジメントの優れた実績は、数々のサーベイ結果で報告されている。例えば、ソフトウェア開発企業を対象に毎年行っているアジャイルサーベイで有名なVersionOne社の2013年のサーベイ結果(2)では、「品質の向上があった」と答えた企業は82%、「変わらない」が15%、「悪くなった」が3%であった。 
                                                                   以上
参考資料
(1)http://agilemanifesto.org/principles.html
(2)VersionOne,8th Annual State of Agile® Survey,2013 

                         HOMEへ