以前「Has Hell Frozen Over? An Agile Maturity Model?」(参考資料・英語)を執筆したScott Ambler氏(リンク)が、アジャイル・プロセス成熟度モデル(Agile Process Maturity Model)(リンク)と称するものを書き始めた。Scott氏のモデルに関するディスカッションでは、同一名称による別モデル(PDF)を明らかにし、アジャイルの成熟度モデルの有効性に関する議論を一新してきた。
Scott氏は、氏のモデルへのモチベーションについて次のように述べている。「アジャイル・プロセス成熟度モデル(APMM:Agile Process Maturity Model)の目標は、今日の世の中のアジャイル方法論過多にコンテキストを与えるようなフレームワークを提供することである。」
APMMに関する最初の記事(リンク)で、Scott氏は、このモデルには次の3つのレベルが存在すると述べている。:
- コアなアジャイル・ソフトウェア開発
Scott氏は、このレベルにScrum、XP、アジャイル・モデリングおよびアジャイル・データを位置付けている。
- 統制されたアジャイル・ソフトウェア開発
このレベルには、Scrum + XPや、RUP、OpenUP、DSDMなどの複合型が挙げられている。
- アジリティの拡張
Scott氏は、ここでは特に例を挙げおらず、このレベルは、「統制されたアジャイルの伝達チームが実社会で直面する複雑な物事に明確に対処すること」であると簡潔に述べている。後続の記事(リンク)で同氏は、レベル3はレベル2に1つ以上の拡張要素を持ち合わせたものだと説明している。
Jeff Anderson氏(リンク)ほかは、これは成熟度モデルとは言えず、ソフトウェア開発プロセスの分類体系でもないとコメントした。Adriano Comai氏(リンク) は、次のように説明している。:
成熟度モデルは、われわれの業界では少なくとも、特定の組織によって、特定のコンテキストにおける、あるプラクティスについて、導入レベルを定義します。成熟度モデルは、組織のプラクティス導入における成熟度レベルを分類し、また、その組織を改善するために取り組むべき関心の領域を示しています。
Curt Hibbs氏(リンク)は、Professor Juliano Lopes de Oliveira(リンク)のサイト上にある論文(PDF)に注目した。この論文では、別のアジャイル・プロセス成熟度モデルが提案されているが、そこで規定されている目的は次のとおりである。:
ソフトウェア工学のコミュニティにおけるディスカッションを促進し、標準化され合意に達したモデルを定義することは、組織により導入されますが、それは、ソフトウェアの開発および発展のためにアジャイル開発手法の利用を開始または改善することに関心を寄せている組織により行われます。
このモデルでは、組織は自らのアジャイル・プロセスの成熟度レベルを2つの特性(技術面と管理面)に沿って評価できるだろう。それぞれの特性では、3つのレベルの評価尺度が提案されている。
技術的レベルに従うと、以下のとおりになる。:
- 非アジャイル
このレベルには、特定のプラクティスは設けられていない。ソフトウェア・プロセスがこのレベルにある組織は、アジャイルの考え方の大前提を理解していない。
- 最小
このレベルには、アジャイルとみなされるプロセスの最小限の要求事項が含まれている。
- 強化
このレベルでは、組織はアジャイルのプロセスを定義付ける最小限の特性から脱却し、より統制のとれた、本格的、効果的かつ生産的なプロセスに向けて自らのプロセスの技術的な改善について探求し始める。
同様に、管理プロセスの成熟度には、以下の3つのレベルが提案されている。:
- 初期
特定プロセスが欠如していることが特徴である。
- 組織化
プロジェクト管理のプラクティスが確立される。
- 統制
プロジェクト内のプラクティスにより、数値データを用いて経営上の決定が支援される。
InfoQがアジャイルの潜在的な成熟度モデルについて取り上げるのは今回が初めてではない。2007年10月、Amr Elssamadisy氏(リンク)は「Does the Agile Community Need a Maturity Model?」(参考記事・英語)'を執筆している。また、同月の「What is the Value of the Nokia Test?」(参考記事)の中で、このテーマが取り上げられている。
アジャイル成熟度モデルは有効だろうか?そうだとしたら、どのようなものだろうか?コメントし、意見をシェアしてほしい。