ビープラウドの立ち上げ期にアーキテクトとして、仕事をしていただいた佐藤匡剛さんが共著で執筆された「ThoughtWorksアンソロジー ―
タイトルにもある、ThoughtWorksとは『リファクタリング』、『エンタープライズアプリケーションアーキテクチャパターン』などの書籍や、XPなどのアジャイルプロセスで著名なマーティン・ファウラー氏が所属する会社で、「ThoughtWorksアンソロジー」は、ThoughtWorks社に所属する人達(ThoughtWorker)が著したエッセイをまとめたエッセイ集です。日本で言うとウノウラボの書籍版といったところでしょうか。
- ThoughtWorksアンソロジー ―アジャイルとオブジェクト指向によるソフトウェアイノベーション/ThoughtWorks Inc.
- ¥2,730
- Amazon.co.jp
私は、ITに関する書籍は、コンピュータ(システム・プログラム)をいかに動かすかということが学べる書籍と、コンピュータに関わる人の考え方、思想、思考、概念が学べる書籍の2つに分類できると考えています。より高いレベルを目指したいエンジニアとしては、ノウハウを直接学べる前者のジャンルだけではなく、『ThoughtWorksアンソロジー』のような後者に分類される書籍を読み、幅広い考え方を学ぶことによって、開発プロジェクトの中で日々発生する問題にも柔軟に対応できるようにでしょう。
システム開発プロジェクトには、さまざまな立場の人たちが関わり、それぞれがその役割をなす事によってシステムはつくられていきますが、本書もマネージャ、テクノロジプリンシパル、ビルドアーキテクト、QAコンサルタントなど、さまざまな立場のThoughtWorkerたちによって書かれています。私が開発チームを管理する立場として、特に参考になったのは、第6章「イテレーションマネージャとは何だろうか」、第7章「プロジェクトバイタルサイン」です。私はイテレーションマネージャという役割を本書で初めて知りました。詳細は説明しませんが、アジャイルプロセスを採用したプロジェクトで、優秀な人が自然と行っている振る舞いを「イテレーションマネージャ」という役割で定義するということ自体が有意義なことであると思います。「プロジェクトバイタルサイン」は、アジャイルプロジェクトの管理者として、プロジェクトを「見える化」するシンプルな手段がまとめられていて、特に余裕のないプロジェクトで、少ないコストで見える化を実践したい際に参考になるでしょう。
第3章「言語の緑豊かな景観」は、長年繰り広げられる言語論争について語られています。第4章「多言語プログラミング」はGroovy、JRuby、Jaskell、Scalaなど、言語とプラットフォーム(Java VM)が分離されている言語のメリットが述べられています。この2つの章は、複数の技術を比較して、より適切な技術を採用するという視点を養うのに良いのはないでしょうか。
アジャイル+オブジェクト指向のプロジェクトに関わるプログラマという視点では、第5章の「オブジェクト指向エクササイズ」が役立ちました。「ソフトウェア設計を改善する9つのステップ」というかたちで、コンパクトに内容がまとめられているので、それを一読すれば、簡潔で保守性の高い設計、プログラムに自然になっていくことでしょう。
このように書いてきましたが、第1章の「ビジネスソフトウェアの「ラストマイル」を解決する」は、実はこの書籍のテーマを提示している章で、他の各章は、そのラストマイルを解決するための策を提示しているというのが、書籍をつらぬいたつながりのようです(ラストマイル問題については、書籍を参照ください)。ただ、そのような視点で読まなくても目についた章をランダムに読むだけで充分楽しめると思います。
そして、第2章「とある秘密基地とRubyによる20のDSL」がマーティン・ファウラーによって書かれていて、DSLという、モデル駆動開発勉強会に直結する内容なので、実はもっとも興味があるところで、じっくりと読みたいので、正月にゆっくりと読みたいと思います。
ビープラウドもいつかThought Worksのように、エンジニアが思うところを集めた書籍でも出せたらいいですね。
今年の目標:100エントリーまであと1