大変面白く、一気に読んでしまいました。
XP、スクラム、RUP、それぞれ名前は聞いたことがあったのですが、良く理解していませんでした。この本を読んで、これらのメソッドに共通な本質は何か、が良くわかりました。また、それがどうやら大規模なエンタープライズシステムにも適用できそうなのだ、ということがわかってきました。
QCDという言葉があります。品質(Q)、コスト(C)、納期(D)を守らなければならない、という意味です。ものづくりにおいては、特に重要でしょう。しかしながら、QCDを計画するためには、生産活動が事前に予測可能であることが必要です。ソフトウェアの開発は本質的に、今までに無い新しいものを創り上げる活動であり、また顧客の要件も時間とともに変化していきます。ですので、ソフトウェア開発においては、QCDを事前に決めることはできない、という前提からアジャイルの考え方が始まっています。
一定のQCDを事前に決めることができないとなれば、Q、C、Dのいずれか(あるいは複数)にしわ寄せがよってきます。ソフトウェア開発ではどれも起きることです。納期が延びて、そのためにたくさんの人を投入して(コストオーバーラン)、なおかつ品質が保てない、などという話を良く聞きます。
アジャイル開発では、与えられたコストの範囲で納期は絶対守る、その代わり仕様には妥協する、というのが今までのウォーターフォール開発とは大きく異なるコンセプトです。コードの品質には妥協しないのですが、顧客要件については優先順位をつけて、実装できるものだけを期限までに実装する、という考え方です。同時に、常に変化する顧客要件に対応するため、非常に短い反復で動くソフトウェアを作り、顧客に見せてフィードバックをもらいます。
このアジャイルの考え方は、ソフトウェア開発だけでなく、企業における知的活動の様々な局面において応用できるように思います。たとえば、3か月で何かの報告書を作るタスクの場合、完成度は低くても全体像がわかるドラフトを毎週提出してフィードバックをもらう、などのやり方です。
また、チームの構成、コミュニケーションのやり方などは、一般のマネジメントにすぐにでも応用が効きそうです。ソフト開発も組織のマネジメントも結局は人、メンバーのエンパワメントが大事なのだ、と改めて認識させられる本でした。