書評:Making Software

「Making Software」を斜め読みしたのでレビューしてみます。

発売日をチェックすることを忘れていたのですが、タイトルと出版社から買おうと決めていた「Making Software」を日曜の昼下がりに立ち寄った本屋で見かけてしまったので、購入してざっと流し読んだのでレビューしてみます。


本書は一言で言ってソフトウェア工学という学問分野の論文集です。全体は30章からなり、1章あたりは10ページから20ページ前後の独立した論文となっています。第一部である前半の8章はサブタイトルにもあるように「エビデンス/実証」に基づくソフトウェア開発についての総則的な内容、および手法がこれでもかと言わんばかりに書かかれています。後半の22章はそれらの総則を実際のプロジェクトや問題/視点に適用検証し、どうなったかが書かれています。加えて日本語版特別仕様として、日本人である訳者、学者、実務家による鼎談(ていだん:座談会)の模様が収録されています。

まず何よりも本書は難解なジャンルに分類されるでしょう。というのもコードがほとんどでてきません。その代わり(有用で貴重な)統計の数値とグラフ、それに考察が満載です。そのためいわゆる普通の技術者視点では本書の価値を見誤ります。本書を読むにあたっては、読者のポジションによって少なくとも三通りの見かたができるでしょう。

  • ソフトウェア工学の研究者
  • ソフトウェア工学のマネージャー的実践者
  • ソフトウェア工学の技術者的実践者

私には「研究者」として語る能力はありません。本書は主にマネージャー的実践者に向けて書かれたと推測できましたが、それらの中間、橋渡し役としてもまとめられているように感じられました。特に日本の「ソフトウェア開発現場は工学という学問から乖離しすぎている」そういう危機感を持っている方には、心強くもありまた耳の痛い、良い本になっています。


などと難しい書き方はここまでにしてズバリ本書の愉しみ方をお教えしましょう。本書の第二部、後半の22章はソフトウェア開発にまつわるいろんな宗教論争や神話を、ソフトウェア工学の実証的な手法で検証して、ある一つの決着をつけていると読むことができます。その宗教論争・神話にはざっと抜き出しただけでも以下のようなものがあります。

  • テスト駆動開発って効果あるのか?(第12章)
  • どっちのプログラミング言語が良いか?(第14章)
  • ペアプログラミングって効果あるのか?(第17章)
  • バグはいつ作られるのか?(第25章)
  • プログラマの生産性は10倍違うのか?(第30章)

ほうら、ソフトウェア技術者をやっているのであれば、これらに決着が付いていると知れば俄然、興味が湧いてくるでしょう? 特に後半22章は全てがこんな読み方ができ、それでこの値段ですからそういう意識がある方にはかなりのお得感があるでしょう。ちょっと斜に構えすぎた読み方だとは思いますが、そういうことからでもソフトウェア工学の実証的な手法というのに触れていくのもありなんじゃないでしょうか。


なお巻末の鼎談ですが、第1章を読む前に読んで幾らかの章を読んだ後にもう一度読み返すのが、自身の考え方の変化を楽しむ上でオススメです。