2013年7月29日月曜日

プロジェクトで活躍するOSSツール

中嶋です。

あっという間に2回目の投稿となりました。月日の経つのは早いものです。
さて今回は、システム開発・運用・保守におけるツール(プロジェクト管理、バージョン管理 etc.)
について、OSSツールを中心に少しご紹介したいと思います。
古くから使われているツールが多いですが、備忘録として投稿させていただきました。

【プロジェクト管理】
 1.Trac
  EdgeWall Softwareで開発されている、プロジェクト管理ツール。
  
  チケットによるタスク管理だけでなく、
  Subversion, Gitといったバージョン管理とも連携や、テスト管理ツールであるTestLinkとの
  連携も可能。

 2.Redmine
  Jean-Philippe Langで開発されている、プロジェクト管理ツール。
  
  Trac同様、チケットでタスク管理しており、
  バージョン管理ツールや、テスト管理ツールとの連携も可能。
  複数プロジェクトで利用することも可能で、プロジェクト間のコミュニケーションも可能です。
  ガントチャートやカレンダー、グラフのようなビューといったプラグインも充実しています。
  
  昔からあるツールですが、ここ数年(2011年以降)Redmineの導入率が高くなってきており、
  MS Projectよりも導入率が高いとのアンケート結果も出たくらいメジャーになってきています。
  
【バージョン管理】
 1.Subversion
  CVSの改良版として開発されたバージョン管理ツール。
 
  リソース編集時に「ロックしない」点が大きな特徴で、
  編集するソースのロックによる待ちによる開発効率の低下を防止。
  その反面、競合が発生することもありますが、それほど苦にならなかったと思います。
 
 2.Git
  オープンソースの分散型のバージョン管理ツール。
  
  リモートサーバ等にあるリポジトリの完全コピーを手元(ローカル環境)に作成して、
  そのローカルリポジトリを使って作業します。
  最近は、SubversionよりもGitが主流になってきているようにも感じます。
 
 
【タスク管理】
 1.SubTask
  マインドマップ形式でタスクを管理するツール。
  
  Web上で編集した内容が、ほぼリアルタイムに参照可能となるので、
  タスクの洗い出し、担当割が簡単に行えます。
  
  メールによるプッシュ機能もあり、
  変更内容の情報共有、期限切れのタスク共有も可能となっています。


また、Redmine, Subversionを連携させて、進捗状況を解析する仕組みも生まれています。
 http://itpro.nikkeibp.co.jp/article/Active/20120827/418343/

管理まではツールで、進捗分析はスクリプトやマクロを組むといったパターンが多かったですが、
こういったツールが充実してくると、本来のマネジメント業務に注力出来るものです。

もちろんツールを導入するだけでなく、使う視点が無いと宝の持ち腐れとなってしまうので、
各フェーズの計画段階で、進捗・対応状況の入力方法、進捗の測定方法、不具合の分析軸を
きちんと整備して定着化させる活動も必要です。

使い方を定義したあとは、実際の利用者(開発者)の負担が低くなるよう、
自動的に情報が登録出来る仕組みも考える必要があると思います。
忙しいシステム開発プロジェクトで、細かい情報を登録していこうとは思わないでしょうし、
登録する項目数(分析軸となる項目)が増えてしまうと、管理工数がかかってしまって、
非効率になりますので。

以前のプロジェクトでは、入力漏れを支援チームでカバーするといった
非常に効率の悪い管理もあったので、自動入力の仕組みが出来ていくことを願っています。
不具合の発生原因も、記載した不具合の内容をテキストマイニングで分析し、
自動的に分類されると良いですね。