Clean Agile -基本に立ち戻れ- Robert C.Matin著

書評

オリジナルのアジャイルのメッセージに立ち返る

Bitly

2001年に「アジャイルマニュフェスト」が出てから、「アジャイル」という言葉は色々なところで使われています。また、派生の方法論(大規模アジャイルなど)も出てきていて、個人的にはどんどん進化しているものと思っていました。本書のタイトルはClean Agileです。ここでいうCleanは「きれいにする」という意味ではなく、「再起動する」という意味です。著者は「アジャイルマニュフェスト」作成に携わったRober C.Matinです。本書は世の中に広まっているアジャイルが本来とは違う使われ方をしていることに対して、「基本に戻れ」といっている一冊です。

本書はなんとなくアジャイルを始めた人(入った会社やプロジェクトがすでにアジャイルを導入していたなど)、派生の方法論(スクラムなど)からアジャイルを勉強した人にお勧めです。

本書はXPのプラクティスをベースに記述されています。XPのプラクティスを「ビジネスプラクティス」「チームプラクティス」「テクニカルプラクティス」にわけ(サークルオブライフ)、それぞれ順を追って説明しています。それぞれのプラクティスがなぜ必要なのか、起こりうる悪いことなども記述されているため、理論だけではなく、とても実践的なものです。

それぞれのプラクティスは以下の通りです。
アジャイル方法論の中で有名なスクラムのプロセスはビジネスプラクティスに相当します。

<ビジネスプラクティス>
ソフトウェア開発チームがビジネス側とコミュニケーションするためのフレームワークと、ビジネス側と開発チームの両方がプロジェクトをマネジメントするための原則
 - 計画ゲーム
 - 小さなリリース
 - 受け入れテスト
 - チーム全体

<チームプラクティス>
開発チームがチーム内やマネージャとコミュニケーションするためのフレームワークと原則
 - メタファー
 - 持続可能なペース
 - 共同所有
 - 継続的インテグレーション
 - スタンドアップミーティング

<テクニカルプラクティス>
最高の技術品質を保証するためにプログラマーをガイド及び強制するための技術プラクティス
 - テスト駆動開発
 - リファクタリング
 - シンプルな設計
 - ペアプログラミング

あらゆるプロジェクトは鉄十字と呼ばれるプロジェクトマネジメントのトレードオフに従わなければならない。つまり「品質」「速度」「費用」「完成」のうち、好きな3つを選べる。4つは選べない。例えば、高品質で、高速で、安価なプロジェクトは、完成することはない。安価で、高速で、完成するプロジェクトは高品質ではない。
優れたマネージャーであれば、この4つの属性に係数があることを理解している。
(中略)
すべてを100%にするのではなく、各属性の係数をうまくマネジメントしているのである。アジャイルが可能にしようとしているのは、このようなマネジメントだ。
(中略)
アジャイルとは、プロジェクトをイテレーションに分割するプロセスだ。各イテレーションのアウトプットを計測して、スケジュールを継続的に評価する。最も価値があるものが最初に実装されるように、ビジネス価値の順番で機能を実装していく。クオリティは可能な限り高める。スケジュールはスコープの調整によって管理する。
これがアジャイルだ。

第1章 アジャイル入門

この引用部分はアジャイルの目的を簡潔に説明しています。この目的を達成するために各プラクティスが存在するということを頭に入れておけば、誤った理解にはならないと思いました。世の中的に1番の間違った理解は、「アジャイルはソフトウェアを高速に提供するプロセス」ということです。これは明らかに間違った理解です。

 今あるアジャイルの認定資格は、完全なるジョークであり、完全にバカげたものである。
(中略)
 例えば、誰かが「認定」スクラムマスターだとしても何の意味もない。
(中略)
 認定資格とは、研修を受けた人がコーチのように動けることを保証するものではない。
(中略)
 繰り返すが、認定資格のトレーニングそのものは悪くない。だが、特定の人物だけをトレーニングするのはバカげている。アジャイルチームの全員が、アジャイルの価値基準とテクニックを理解する必要がある。チームの誰かをトレーニングするのではなく、チームの全員をトレーニングするべきである。

第6章 アジャイルになる

アジャイルを実践するには知識だけでなく、実際にアジャイルの規律に沿ってプロジェクトを行った経験が重要です。それは数日の研修で身につくものではない、と著者はいっています。

 私たちは意欲的なソフトウェアクラフトマンとして、ソフトウェアクラフトマンシップの実践あるいは専門技術の学習の手助けをする活動を通じて、私たちは以下の価値に至った。
 ・動くソフトウェアだけでなく、精巧に作られたソフトウェアも
 ・変化への対応だけでなく、着実な価値の付加も
 ・個人との対話だけでなく、専門家のコミュニティも
 ・顧客との協調だけでなく、生産的なパートナーシップも
すなわち、左記のことがらを追求するなかで、右記のことがらも不可欠であることがわかった。

第7章 クラフトマンシップ

アジャイルは大きなブームとなり、様々な企業・プロジェクトに採用されていきました。その結果、本来とは違う期待値を掛けられ、様々な不具合が発生しました。(「アジャイルの二日酔い」「期待の不一致」「開発者のアジャイル離れ」など、詳細は本書参照)
この引用部分はソフトウェアクラフトマンシップのマニュフェストです。このマニュフェストの目的はプロとしてのソフトウェア開発の水準を引き揚げ、アジャイルの本来の目的を再構築することです。また様々な観点からプロフェッショナリズムを促進しようとしています。

アジャイルマニュフェストから今年で20年になります。この20年の内に、「アジャイル」という言葉はソフトウェア開発以外の分野でも使われるようになりました。その結果として、本来の「アジャイル」の意味や目的が不透明になってきていると思います。本書はそんなモヤモヤ感を「基本に戻れ」という副題で解消してくれます。200ページもない量ですが、中身は非常に濃い一冊です。

コメント

タイトルとURLをコピーしました