CMMとAgileについて、Capers Jones の記事
»
アジャイルとCMMの比較記事です。
■ Development Practices for Small Software Application
http://www.stsc.hill.af.mil/crosstalk/2008/02/0802Jones.html
Agile と CMM(or CMMI) の考え方の共通点として、
- ソフトウェア要求は、常に変化する。
- 欠陥を修正するのは最もコストが高い。
- 高品質であることが、生産性と納期短縮につながる。
としていて、逆に異なる点として、
- ドキュメントを書くことは二番目にコストが高い(Agile)
- 測定しなければ、継続的な改善は起こらない(CMM)
を上げている。そして、1,000 FP の小さめのプロジェクトで、アジャイルチームとCMM 3 チームを統計して、
- Agileの方が生産性(短時間あたりのFP)が高い。
- Agileは欠陥潜在を下げるが、出荷後欠陥は、CMM方が低い。
を導いている。
まあ、なるほど、という結論といえば結論だけど、反論も多くあると思う。
ぼくは、AgileもCMMも「目的」は非常に近いが、それを取り上げる現場のやり方が結構違っている。すなわち、トップダウンかボトムアップか、というのが大きな違いだと思う。
また、もう1つ、CMMはレベル3を目標にするケースを多く見ており、このアプローチが良くない点だと思う。定義しても改善しなければ意味がない。Agileにはもともとレベル5が組み込まれており、改善し続けることが「人」を中心にする現場の命だと考えている。昔、Ron Jeffries が、
「Agileは、CMMのレベル3からレベル5を薄くクロスカットしている」
と言っている(出典失念)が、これがぼくの近い感覚である。
(※追記) CMMIはモデルであり、Agileはアプローチ。むしろ直行した概念であるので、CMMIを悪く言っているのではないです。また、CMMI と Agile を整合させる、というアプローチは多くあり、Agile2007でも議論の1つでした。
の人などのブログページもあります。
SpecialPR