「アジャイル」は形容詞であり、使用方法としては「アジャイル開発」ではなく、「アジャイルな開発」となる。
アジャイルは色々言われているが、結局何がしたいかというと、「ほうれんそう(報告・連絡・相談)をきちんとしなさい」と言いたいだけだ。
早く報告しなさい、早く連絡しなさい、早く相談しなさい、ということ。
システム開発上、どういうふうにやればよいのか、という具体例が、XPやスクラム、クリスタル、FDDなどのプラクティスである。
だから、ウォーターフォール開発でもアジャイルな開発はできる。
大人数であっても、「ほうれんそう」はできるだろう。
問題は「どうしたいか」でしかない。それだけなのだ。
「変化を受け入れる」はその考えからくる。
アジャイルは「ほうれんそう」を早くするために、顧客も開発メンバーとしてみなす。
業務においては顧客の方がプロだが、システム開発においてはこちらがプロだ。
我々は完全性を証明するための方法を知っているのだ。顧客からヒアリングした内容が論理的であるかを検証しなければならず、非論理的でないことは指摘しなければならない。
我々はそのために、顧客にもメンバーとして参加してもらい、徹底的に議論する。
顧客に最初から論理的な要求を出してもらえると思ってはならない。
そんな事が出来るのであれば、我々は必要ない。
そして、徹底的に議論していくうちに、いろいろな要件が増えてくるだろう。それは当たり前なのだ。
最初から徹底した論理ではないのだから。だから、それは仕様変更ではない。設計検証の一貫でしかない。
「変化を受け入れる」とはこれに起因する。
全てがこれに当てはまるわけではないが、現在仕様変更といわれているものの大半はこれだろう。
結論として、「アジャイルである/でない」はありえない。
「ほうれんそう」の徹底であり、「アジャイルではない」という人は社会人として訝しるべきだろう。
存在する違いは契約の仕方である。
「まるなげ」が既存のウォーターフォール開発であり、
「顧客もメンバーとして一緒に開発する」が本来のウォーターフォール, イテレート, etc.開発である。
契約のタイプとしては、次のサイトにまとめられている。