現場が求めるOSS管理ツールとは?
プロジェクト現場のニーズを把握
現場のニーズとツールを調べる前に、注意したいことがあります。それは、「プロジェクト管理ツール」がさまざまな目的や形態を持つのと同様、「プロジェクト」が指すところも時と場合により多様に変化するということです。
ソフトウエア開発に限定して考えたとしても、例えば「顧客との契約で、一定の範囲の機能を実現するような請負開発プロジェクト」「自社で販売するためのパッケージソフトを開発するプロジェクト」「研究所で、先進的な技術を検証するためのプロトタイプを作るプロジェクト」「OSSのように、さまざまな技術者によりソフトウエアを成長させるプロジェクト」などがあります。
どのようなプロジェクトでもニーズが共通であればいいのですが、プロジェクトの形態によって重点をおくポイントが異なるため、ニーズも違ってくるのが普通です。従って、最終的には個々のプロジェクトの特性に応じてニーズを判断することが必要です。
請負開発の支援をする割合が比較的多い筆者の経験から、プロジェクトのニーズと考えられるものをピックアップし、さらにツールで対応できそうなものに絞り、PMBOK Guideで用いられている、プロセスの知識エリアにあてはめて整理してみました。「プロジェクトのステークホルダの誰か(プロジェクトマネジャー、リーダ、メンバーetc)が、ツールでこんなことを行いたい」というニーズを持っている、と考えながら読んでみてください。
「スコープに関するニーズ」には、プロジェクトの初期において、WBS(Work Breakdown Structure)を作る、WBS辞書を作る、アウトプットを定義するマイルストンを定義する、といったニーズが含まれます。
「スケジュールに関するニーズ」には、ガントチャートを作る、ネットワーク図(PERT図)を作る、作業を見積もる、進ちょくを記録する、レポートを作る、完了スケジュールを予測する、予定表を作る、といったニーズが含まれます。
「人的資源に関するニーズ」には、RBS(Resource Breakdown Structure)を作る、役割/責任を定義する、タスクをアサインする、実施状況を把握する、といったニーズが含まれます。
「コストに関するニーズ」には、実績コストを管理する、コストの超過を予測する、といったニーズが含まれます。
「品質に関するニーズ」には、バグの状況を追跡する、成果物の構成を管理する、といったニーズが含まれます。
「リスクに関するニーズ」には、リスクを分析評価する、リスクへの対応状況を追跡する、といったニーズが含まれます。
「コミュニケーションに関するニーズ」には、ファイルを共有・管理する、連絡をする、文書を作成する、課題を記録・追跡する、各種ワークフローを定義・実施する、といったニーズが含まれます。
なお、実際のプロジェクトでは、一連の活動の流れにおいて、上記に示したツールへのニーズがいくつも組み合わさって発生します。
ニーズとツールのマッピング
図2では、プロジェクトのニーズとしてピックアップした項目(標的)に対する、大まかなオープンソースプロジェクト管理ツール(弾丸)の対応を示しています。
なお、各ツールについては、公開されている機能紹介などから判断したので、実装機能とは一致していない部分もあるかもしれませんが、おおよその傾向をつかむための参考としてください。また、筆者が支援したプロジェクトなどにて、同様の目的で使われたツール名(オープンソースに限らず)を参考までに、図2に青マルで記載しています。
図2より現状を分析してみると、オープンソースのプロジェクト管理ツールの傾向としては、次の2つのグループ群が多勢を占めています。
1つ目は、品質のマネジメント(具体的にはバグトラッキング)用途のツールとして分類できるグループです。なお、こうしたツールには何らかのコミュニケーション機能(メール通知やファイル共有など)が連携していることが多いです。
2つ目は、スコープ、スケジュールの管理(ガントチャートなど)を主な目的としているツールとして分類できるグループです。こちらは、人的資源やコストのマネジメントとの連携が強い傾向があります。
前者は、主に開発・試験担当メンバーからのボトムアップのニーズ、後者はリーダやマネジャー層からのトップダウンのニーズ(ツール自体のコストといった面も含めて)を反映し発展したものであると考えられます。
さて、実際のプロジェクトへの導入を判断するためにはもう少しツールの詳細な機能検討する必要があります。次は、比較ポイントについて紹介しましょう。