『〔改訂〕Trac入門』が良書の件

遅くなってしまいましたが、『〔改訂〕Trac入門』を献本いただいたので、書評というか感想を兼ねて内容の紹介をしたいと思います。

はじめに

僕は初期バージョン(白本)を読んでいないので、前と比べてどうだったかという見解は一切ありません。ご了承ください。白本をお持ちの方は id:kanu-orzさんの Trac入門 - almost nearly dead の方が参考になるかと思います。

良かった点

良かったところはたくさんあるのですが、本書は Trac の入門書の側面とプロジェクト管理のガイドラインとしての側面を持ち合わせており、またバージョン管理ツール(VCS) や CIツールとの連携についても一章を割いているので、ここでは Trac に関する内容、プロジェクト管理に関する内容、ツール連携に関する内容に分けて述べたいと思います。

Trac に関する内容

Trac に関しては1、2、6、8章の内容が特に充実しています。1章では前半の説明と後半のケーススタディを通じて、Trac の特徴とどのような導入メリットがあるのかを理解できるようになっています。Trac をはじめとする問題管理ツールを全く知らない人が読んでも、1章だけで大体のイメージは掴めるのではないでしょうか。

2章は Trac の情報の基となるプロジェクト、マイルストーンコンポーネント、バージョンの概念とその登録方法の説明が中心となっていて、手っ取り早く使い始めたい人は2章まで読めば、Trac のスタートラインに立てるかと思います。初歩的な入門書としての内容はここまでとなっており、1、2章は導入編として非常に良くまとまっているなと感じました。

6章は実際に使っていく中で必要になったり、やりたくなるようなことが逆引き形式で書かれています。Trac のようにベースがシンプルなツールは、本格利用していくと自然とカスタマイズしていくことになるので、この構成は非常に良いと感じました。Tips も35個もあり、しかもどれもが実用的なところは素晴らしいなと思いました。著者達の実プロジェクトでの経験やノウハウが詰まっていて、Trac を利用して運用管理する人にとって参照する機会が最も多くなる章だと思われます。

8章のリファレンスは、システム構成、インストール手順、コマンド、設定ファイルの説明と申し分の無い内容になっています。設定については対応バージョンも記載されていて、利用バージョンの違いにも配慮してあるとこは嬉しいところですね。

プロジェクト管理に関する内容

プロジェクト管理に関しては3、4、7章の内容が参考になります。もちろん、これらの章でも Trac のxx機能で実現できます、と書いてあるのですが、Trac を他のツールに置き換えて読めば、一般的なプロジェクト管理の書籍として違和感ない内容かと思います。

3章は Tracを使用して問題管理を行う際の一連の流れを具体例で説明しています。問題発生後からチケット登録〜解決までの流れと登場するロールは、他のツールを利用する場面でもそのまま当てはめることができるので、ガイドラインとして非常に良いと思います。

4章はプロジェクト管理で必要となるであろうxx管理について、何に対してどのような観点で管理(コントロール)したら良いかというガイドライン的な内容が充実しています。これから管理業務を行う人、既にやっているがうまくいっていない人には参考になると思いますし、記載されてるフローを雛型として現場向けに流用することで、円滑なプロジェクト運営ができるのではないでしょうか。

7章は Trac を他のツールに置き換えて考えると、汎用的なプロジェクトでの問題管理ツールの使い方のプラクティスとして捉えることができます。普段できているようで意外とできていないことなど、何かしら気づきが得られるのではないかと思います。

ツール連携に関する内容

ツール連携については5章に書かれています。本書では VCSSubversion と Git、CIツールとして Jenkins を取り上げています。最近では Git を業務で使用することも珍しくなくなってきていますが、まだまだ Subversion を使う機会は多いと思いますので、VCS に関してはいい選択だと思います。Jenkins はデファクトの CI ツールの地位を築きつつありますので、こちらの記載も嬉しいところです。ツールの詳細は専門書を参照する必要がありますが、とっかかりとして必要十分な説明があり、各ツールと Trac との連携方法が書かれていますので、併用する際には参考になると思います。

良くなかった点

いいことばかり書いてると「宣伝乙」と思われてしまうので、もうちょっとあると良かったなぁというところを二点あげます。

5章に書かれている他のツールとの連携は、今時のソフトウェア開発で Trac を使用する際には、避けて通れないところですが、もう一歩踏み込んで書いてあるともっといいなぁと思いました。連携するツールについてどこまで書くのか、というのは非常に難しかっただろうなと想像しますが、シンプルなものでも TracVCS と Jenkins を絡めた一連の流れの例があったら、より良かったと思います。あとは Git や Jenkins との連携についての Tips などがあればさらにグッときただろうなと。

もう一点は7章の「Trac あるある」です。ここだけ他の章に比べるとやや淡白というか、さらっと書いてあるので少し物足りない感がありました。「チケットの概要・説明を見ても意味がわからない」や「1つのチケットに2つ以上の関心事が書いてある」などといったネタは、地味ながらもあると面倒な問題ですが、どこのプロジェクトでも高い確率で見かけるものなので、どのように書くと良いかを具体的な例を示して書いてあったら、もっと良かったろうなぁと思います。

まとめ

以上、ざっくりと内容をご紹介しましたが、読む前の予想より良書だったと感じました。何よりも「読みやすさ」「分かりやすさ」においては文句の付けようのないレベルなので読む人を選びません。それでいて実用的な Tips、充実したリファレンス、プロジェクト管理のガイドラインと揃っているので、様々な場面で重宝する書籍だと思います。これからリーダーや管理業務を担う若手エンジニアには、必読の一冊と言っても過言ではないですね。

もちろん「うちは Trac じゃないから」という方もいるかもしれませんが、プロジェクト管理のガイドラインの内容の多くは、Redmine でも JIRA でも Backlog でも通用します。そういう意味ではシステム開発会社に一冊置いてあっても良いのではないでしょうか。これくらいの書籍代をケチるような会社はないですよね?:-P

ということで、まだ読んだことのない方は、ご自身で買われるか会社で買ってもらうかして、是非一度お手に取ってみてください。

〔改訂〕Trac入門 ~ソフトウェア開発・プロジェクト管理活用ガイド (Software Design plus)

〔改訂〕Trac入門 ~ソフトウェア開発・プロジェクト管理活用ガイド (Software Design plus)