Debianで作るプロジェクト管理環境
プロジェクト管理環境の構築とサーバOS
「第1回:そもそもサーバOSとは何か(http://www.thinkit.co.jp/article/80/1/)」ではサーバOSのおおまかな分類と特徴を、そして「第2回:OS選定のポイントを整理する(http://www.thinkit.co.jp/article/80/2/)」では当社を例にとりサーバOSの選び方を紹介した。ここまでを理論編とすると、ここからは実践編として、実際の構築に加え、「なぜそのサーバOSなのか?」「そのサーバOSの採用にどんな付加価値があるのか?」といった舞台裏も紹介していく。
さて、タイトルにもあるように、今回はサーバOSとしてDebian GNU/Linux(以下Debian)を取り上げる。Debianを採用する理由を説明する前に、まずは「プロジェクト管理環境」について簡単に説明しておこう。
プロジェクト管理とは、プロジェクト(=案件)を達成するために必要な課題それぞれにおいて、解決順序、期限設定、リソースの割り当て、進行度合い、関連ドキュメントといったものを管理することを指す。簡単に言えば「進ちょくとドキュメントの管理」である。
プロジェクトと言うと大きな話のように思えるかもしれないが、実はプロジェクトと呼べる仕事は至る所に存在する。例えば、身近なプロジェクトの例として「複数人で行く旅行」を考えてみよう。この場合は、あらかじめ幹事が行く場所と内容を設定し、予算金額や人数を決め、交通機関や旅館の手配、もしくは旅行代理店との調整を行い、「旅のしおり」としてまとめた事前計画書を参加者に配布する。旅行中も、必要に応じて、幹事が計画を随時書き換えて参加者に伝え、旅行が無事終わるようにナビゲートする。
この場合、幹事はプロジェクトマネージャであり、参加者はプロジェクトメンバー、旅のしおりはドキュメントにあたる。そして、プロジェクトの達成のために管理者が必要な課題を整理し、参加者をナビゲートするというプロセスは、われわれが仕事でかかわるさまざまなプロジェクトとなんら変わらないものである。
さて、小規模の旅行なら幹事1人で管理できるが、もっと大規模だと、旅のしおりの配布だけでも一苦労だ。参加者に旅館や交通機関の手配を依頼することもあるかもしれない。そうなると幹事は、依頼した課題の進行状況=進ちょくを把握する必要があるし、旅のしおりの事前配布を簡単に済ます方法も考えなければならない。このようなときに使用するのが、冒頭で述べた「プロジェクト管理環境」だ。
アプリとハードの条件からDebianを選定
ここまで、少々サーバOSとは直接関係のない話題が続いているが、「第2回:OS選定のポイントを整理する(http://www.thinkit.co.jp/article/80/2/)」でも説明したように、まずアプリケーションとハードウェアが決定しないと、サーバOSまで話が進まないので、しばらくご辛抱願いたい。
プロジェクト管理環境とは、その名の通り、プロジェクト管理のさまざまなフェーズを効率よく行うため、アプリケーションやハードウェアを用いて実現される管理環境のことである。プロジェクト管理自体は直接利益を生むものではないため、導入・運用費用は極力安く済ませたい。また、プロジェクトにまつわる情報をすばやくまとめなければ管理は不可能であるため、プロジェクト管理環境の導入はすばやく済ませなければいけない。
この命題に合致するものを見つけるべく、検索エンジンで「プロジェクト管理」と検索すると、非常に多くのプロダクトがあることに驚かされるが、今回は、Think ITでもすでに紹介されているTrac(トラック)(http://www.thinkit.co.jp/free/article/0708/5/1/)を取り上げる。
TracはオープンソースのBTS(Bug Tracking System、バグ追跡システム)であり、プロジェクト管理用に設計されたわけではないが、バグフィックス(=課題)を担当者に割り当て、進ちょくを管理するという本質的な部分が、プロジェクト管理環境として十二分に活用可能である。Tracの導入は非常にシンプルだし、コストいらずの無償ソフトウェアであることも大きな魅力だ。
こうしてプロジェクト管理のためのアプリケーションが決まったら、次はハードウェアを決めたいところだが、用意できるハードウェアは環境によりまちまちである。よって、「ハードウェアは場合により異なる」ものとし、その次の段階、つまりTracを動かすサーバOSを決めることにしよう。
と、ようやくサーバOSの話題となったが、今回動かすTracはオープンソースソフトウェアであるため、第2回で紹介した「マトリックス図(http://www.thinkit.co.jp/article/80/2/2.html)」によると、Linux系サーバOSかBSD系サーバOSに絞られる。ただ、先ほどの条件から、できるだけ多くのハードウェアプラットフォームに対応するものが必要だ。そうなると、Linux系サーバOSならばDebian、BSD系サーバOSならばNetBSD、OpenBSDが候補に挙がる。
今回はプロプライエタリソフトウェアの利用予定はないため、Linux系、BSD系どちらでもかまわない。あとは、第2回で紹介したの「3つの基準(http://www.thinkit.co.jp/article/80/2/2.html)」に照らし合わせるだけだ。
どのOSも「5年以上の開発」や「2:8」の条件は満たしていたが、筆者が最も「慣れている」OSであるDebianを、サーバOSとして選択することにした。
これで、アプリケーション=Trac、ハードウェア=場合により異なる、サーバOS=Debianと決まった。