【書評】アジャイルソフトウェアエンジニアリング
みなさんこんにちは。@ryuzeeです。
アジャイルソフトウェアエンジニアリング (マイクロソフト関連書)
- 著者/訳者:Sam Guckenheimer、Neno Loje、日本マイクロソフト監訳、TFSUG監訳、トップスタジオ
- 出版社:日経BP社
- 発売日:2012-05-24
- 単行本:320ページ
- ISBN-13:9784822294687
- ASIN:4822294684
日本マイクロソフトの長沢さんから献本いただきました。ありがとうございます!
まず結論から言うと、いわゆるアジャイルな開発におけるライフサイクルやプロセスと技術の関係を「実践」という観点でまとめた本としてオススメできる本だと思う(ただしアジャイル初心者の人にとっては難しいです)。
本にマイクロソフトやVisual Studioという文字があるので、それ以外の環境で仕事をしている人はスルーしてしまいがちですが、内容はVisual StudioやTeam Foundation Serverに関するHow Toではなく、現実的にアジャイルなプロジェクトを行う場合に、例えばスクラムやXPをどのように現実的に適用するのか、原理原則とコンテキストをどのように組み合わせ、どうやって具体的な現場でのアクションに落としこむのかについての考え方の本だと言って良いでしょう。 したがってVisual Studioを使わなくてもコンセプトを自分のプロジェクトに適用していくことが可能です。
昨年出たアジャイルサムライは多くの人に読まれた素晴らしい本ですが、そこからアジャイルへの実践へ踏み出した人たちにとっては、じゃあ実際のプロジェクトの中ではどうするの?というところで悩んでいた人も多かっただろうと思います。 より実践の話を知りたい人は、続きとして読むと良いのではないでしょうか。
自分はアジャイルコーチとして多くの組織やチームをアジャイルにするお手伝いをしていますが、その中で「態度重要」と良く言っています。 価値を届ける、そのために改善し続けるという態度が活動の根底に必要だと思うからです。 そして一方で技術面を鍛える、というのを両輪として強く求めています。 スクラムはフレームワークであって、技術的にどうしろ、とは言っていません。 一方でスクラムを使ってプロジェクトを進めようとすると、テスト自動化、継続的インテグレーション、デプロイ自動化、バージョン管理戦略、テスト戦略の策定など多くの技術的要素が求められます(主にXPの部分)。 技術的な土台がないと、顧客に早期から頻繁に価値を届けるという原則を実現するのは困難です。 現実の導入事例を見てもスクラムとXPの組み合わせを行なっているチームは極めて多いです。 その組み合わせ方の参考にもなるでしょう。
なお、本に書いてあることを全てやらないといけないわけではないことに注意してください。 現実のコンテキストやチームの成熟度によって取り組み方は異なります。 本書の40ページでは、以下のように述べられています。
引き算ではなく足し算で手法を構築する 計画重視の手法では、すべてに対応できる万能の方法を構築しておき、それぞれの状況に合わせて削っていく、という考え方が伝統的である。[中略] アジャイル提唱者は、まず比較的少量のプラクティスセットから始めて、そこに費用対効果が明らかに妥当と判断できる追加分を足していくやり方を提案する
現在のソフトウェア開発における各種ツールは高機能化が進んでいますが、全ての機能を必ず使わなければならないというわけではありません。 それはVisual StudioやTeam Foundation Serverも同様であると本書の中で宣言されています。 ツールは高速道路ですが、その上を時速何キロで走れるのかはチームの成熟度に依存しているのです。
その他興味深い点としては9章の「Microsoft Developer Divisionで得た教訓」があります。 ここではVisual Studio 2005とVisual Studio 2008のそれぞれにおける製品開発プロセスの変遷、技術的負債解決への取り組み、企業文化における課題とそれへの対応、ムダの削減への取り組みについて生々しい事例が書かれています。 これはマイクロソフトがどんな課題を組織として認識しどう改善したのかという話で、このような話はあまり表に出てくることはない貴重な話であると言えるでしょう。
なお、純粋にTeam Foundation Serverをどう具体的に使うのか知りたい場合は、Microsoftのホワイトペーパーを参照してみると良いでしょう。
それでは。