投稿者「tracpath」のアーカイブ

CVS リポジトリを SVN や Git に移行する方法

 

こんにちは、皆様はバージョン管理ソフトウェアとして何を使っていますか。

tracpath はエンタープライズ向けの利用者が多く、Subversion がトップでその次が Git の利用者が多くなっています。

 

組込みシステム開発の現場

 

組込みシステム開発のお客様の中で何十年と開発が継続している製品のバージョン管理ソフトウェアとして、「CVS」を利用されているお客様がいらっしゃいます。

 新しいプロジェクトは tracpath の Subversion 環境をご利用頂いていますが、過去から継続している CVS プロジェクトだけはできない理由があるようです。担当者としては新しいバージョン管理の優れた機能を利用したいため「Subversion」や「Git」を使いたいと声をあげるのですが、管理側からは

「膨大なCVSリポジトリを他のリポジトリに移行(変換)したとき、だれも品質を保証してくれない」

という理由でなかなか踏み切れないと聞いたことがあります。

 

この問題以外にもバージョン管理システムを切り替えるリスクは存在しています。

 

まずは新規プロジェクトで新しいバージョン管理サービスを利用して徐々に移行することをオススメしています。

バージョン管理の初心者用コンテンツ

 

今回は、初心者向けに「CVS リポジトリを別のリポジトリに移行する方法」「SVN/Git/Mercurial リポジトリを別のリポジトリに移行する方法」の記事を公開しました。

リポジトリの変換用のツールも提供されており比較的簡単に移行できることがおわかりだと思います。

エンタープライズ向けの大規模なリポジトリの移行サービスを行っておりますのでまずはこちらよりご相談ください。

 

リポジトリ変換方法まとめ

 

移行先リポジトリ
移行元リポジトリ CVS SVN Git Hg
CVS n/a cvs2svn
一括変換
cvs2git
一括変換
hg convert
逐次変換
SVN manual
手動変換
n/a git-svn
一括変換
hg convert
逐次変換
Git manual
手動変換
manual
手動変換
n/a hg convert
逐次変換
Hg manual
手動変換
manual
手動変換
manual
手動変換
n/a

表中の各項目は、上から順に使用するコマンド、変換方法、難易度を表しています。

コマンド cvs2svn CVS→SVNリポジトリ変換コマンド
cvs2git CVS→Gitリポジトリ変換コマンド
git-svn SVN→Gitリポジトリ変換コマンド
hg convert Mercurial拡張コマンド
manual 移行元、移行先のバージョン管理ソフトウエアのcheckout/importコマンド
変換方法 一括変換 移行元のリポジトリを全て一括変換できる。
逐次変換 移行元のリポジトリを個別に変換できる。
手動変換 移行元のリポジトリをチェックアウトして、移行先にインポートする。
難易度 簡単に変換できる。
少し手間が掛かるが、変換できる。
変換が不安定なことが多い。

詳しい説明は以下のサイトで説明していますのでご覧下さい。「CVS リポジトリを別のリポジトリに移行する方法」「SVN/Git/Mercurial リポジトリを別のリポジトリに移行する方法

 

構成管理の基本

 

こんにちは、tracpath の重要な機能にソースコードの構成管理(バージョン管理)機能があります。
tracpath のバージョン管理機能は、Subversion(SVN) / Git / Mercurial を利用する事が出来ます。

あなたのチームでバージョン管理ソフトウェアを利用されている方もこれから利用を検討している方も参考になる記事を公開しました。

バージョン管理の歴史はそれなりに古く、RCS(Rivision Control System)が1982年に登場してから、30年余りが経過しています。オープンソースソフトウエア(OSS)の Apache Project や、FreeBSD Project などを中心にさまざまなバージョン管理ソフトウエアが開発されています。ソースコード管理に最適なバージョン管理ソフトウエアとして有名なソフトウェアのインストールから基本的な使い方を説明しています。

構成管理の基本

エンタープライズでもよく利用される4つのバージョン管理システムについてインストールから基本的な使い方を説明しています。自分にとって使い易いツールを見つけてください。
あなたのソフトウェア開発にとって必ず必要なバージョン管理システムの理解になればと思います。

  1. ソースコード管理に最適!バージョン管理ソフトウエアとは ~ 基礎学習 ~
  2. 「CVS編」バージョン管理システムを使ってみる
  3. 「Subversion編」バージョン管理システムを使ってみる
  4. 「Git編」バージョン管理システムを使ってみる
  5. 「Mercurial編」バージョン管理システムを使ってみる

CVS(Concurrent Versions System)

項目 説明
開発元 The CVS Team
最新版 1.11.23 / 2008年5月8日
最新評価版 1.12.13 / 2006年7月26日
プログラミング言語 C
対応OS UNIX系、Windows
種別 バージョン管理システム
ライセンス GPL
公式サイト http://www.nongnu.org/cvs

ref:WikipediaのCVS

Apache Subversion(SVN)

項目 説明
開発元 Apacheソフトウェア財団
初版 2000年10月20日(13年前)
最新版 1.8.1 / 2013年07月24日(4か月前)
対応OS クロスプラットフォーム
種別 バージョン管理システム
ライセンス Apache License
公式サイト subversion.apache.org

ref:Wikipedia:Apache Subversion

Git

項目 説明
開発元 濱野純, リーナス・トーバルズ, ほか多数
初版 2005年12月21日(7年前)
最新版 1.8.4.3 – 2013年11月8日
プログラミング言語 C, Bourne Shell, Tcl, Perl
対応OS Unix系, Linux, Windows
種別 バージョン管理システム
ライセンス GNU General Public License バージョン2
公式サイト git-scm.com

ref:Wikipedia:Git

Mercurial

項目 説明
開発元 Matt Mackall
初版 2005年04月19日(8年前)
最新版 2.8 / 2013年11月1日(36日前)
プログラミング言語 Python, C
対応OS クロスプラットフォーム
種別 バージョン管理システム
ライセンス GPL v2
公式サイト mercurial.selenic.com

ref:Wikipedia:Mercurial

[tracpath] 管理者向けのアクセスログと認証ログの紹介

 

こんにちは、tracpath の管理者向け機能をご紹介します。
tracpath ではお客様の利用しているホスト毎にアクセスログと認証ログを提供しています。
通常のアクセスログは膨大な数になるため一定のルールを設け、–例えば、同じアクセス元の場合、1時間分を1つにまとめる–ユーザのアクセスログをダウンロードできます。

アクセスと認証ログの仕様

具体的にどのような場合にロギングされているかというと、

  • フォームによる正常ログイン時
  • セッションクッキーによるアクセス時
  • RSS などに付与された private-token によるアクセス時
  • HTTP Auth からのアクセス時

などです。tracpath のリポジトリにアクセスする Git クライアントや Subversion クライアントのログインも記録されます。

それでは、実際のログの取得と値について説明します。

アクセスログの取得

アクセスログの取得は「管理権限」が必須です。管理者権限を保持するユーザのみサイト全体のアクセスログを取得することが可能です。

2013121702

管理者で tracpath にログインすると、グローバルメニューに「ログ」が表示されます。
ログをクリックしてください。

2013121701

この画面でアクセスログを取得するために日付(FROM と TO)を指定し「ダウンロード」を押下します。これであなたのサイトのアクセスログを取得することが出来ます。

アクセスログデータ

「user-activities on xxxxxx.tracpath.com.zip」というファイル名でダウンロードされます。ZIP圧縮されていますので解凍してください。
解凍すると、日付毎にCSVファイルで保存されています。

2013121703

CSVファイルの項目

項目 内容
time 認証ログとして記録し日時
hostname ご利用のホスト名
username 認証ユーザ
auth_type 認証種類を表示します。form, cookie, private-token, http-authがあります。
status 認証結果を表示します。success, failure が記録されます。
ip アクセス元のIPアドレスを表示します。
user_agent ユーザの利用したクライアントツールの情報を表示します。

ログのサンプル

time	hostname	username	auth_type	status	ip	user_agent
2013-12-16T09:24:31.737617+09:00	sample.tracpath.com	satoshi.nakamura	private-token	success	65.19.138.34	Feedly/1.0 (+http://www.feedly.com/fetcher.html; like FeedFetcher-Google)
2013-12-16T09:38:08.157426+09:00	sample.tracpath.com	masa.shoji	private-token	success	203.141.159.246	Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.2.0
2013-12-16T09:38:18.019585+09:00	sample.tracpath.com	masa.shoji	cookie	success	203.141.159.246	Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
2013-12-16T10:24:56.002980+09:00	sample.tracpath.com	satoshi.nakamura	http-auth	success	203.141.159.246	SVN/1.7.9 neon/0.29.6
2013-12-16T10:25:08.329219+09:00	sample.tracpath.com	masa.shoji	http-auth	success	203.141.159.246	SVN/1.6.17 (r1128011) neon/0.29.6
2013-12-16T10:46:26.316509+09:00	sample.tracpath.com	taro.abe	http-auth	success	219.117.195.103	git/1.7.1
2013-12-16T10:57:01.766082+09:00	sample.tracpath.com	masa.shoji	cookie	success	203.141.159.246	Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
2013-12-16T11:18:01.900517+09:00	sample.tracpath.com	masa.shoji	private-token	success	203.141.159.246	Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.2.0
2013-12-16T11:21:44.870285+09:00	sample.tracpath.com	jun.saito	cookie	success	203.141.159.246	Mozilla/5.0 (Windows NT 5.1; rv:26.0) Gecko/20100101 Firefox/26.0
2013-12-16T12:24:30.540624+09:00	sample.tracpath.com	satoshi.nakamura	private-token	success	65.19.138.34	Feedly/1.0 (+http://www.feedly.com/fetcher.html; like FeedFetcher-Google)

さいごに

管理者向けのアクセスログ機能を紹介しました。アクセスログと認証ログを取得し調査することで不正なアクセスを監視することが出来ます。ログから不正なアクセスを把握することが出来ることはメリットではあるが不正アクセスの対策としては弱いです。
そのため、tracpath では認証失敗時に自動でアカウントをロックし、ログインできなくしたり、ログインアクティビティ管理としてセッションを無効にしてサイログインできなくする機能を提供しています。

その他、エンタープライズ向けに実用的なセキュリティ施策を実施しています。
高度な安全性が求められるエンタープライズ領域で実績がある tracpath をあなたのソースコード管理(バージョン管理)サービスとしてご利用ください。

tracpath と 秘密保持契約(Non-disclosure agreement、略称: NDA)について

企業間取引の場面で個人情報や営業情報など業務に関する情報を外部に開示しないことを約束する契約です。秘密保持契約と言われ、英語では「Non-Disclosure agreement」から略して「NDA」と言われます。
他にも、機密保持契約、守秘義務契約とも言います。

ref:秘密保持契約(Wikipedia)

当社は、tracpath:クラウド型バージョン管理、バグ管理サービスを提供しています。
特に法人のお客様からのお問い合せとして、「NDA締結することは可能か?」があります。

結論として、お客様と弊社の間でNDAを締結することは可能です。
NDA締結をご希望のお客様は弊社にお問い合わせください。書面のやりとりが発生するため締結まで1〜2週間の時間が必要となります。ご了承ください。

NDA(秘密保持契約)

NDA 締結までのフロー

  1. お客様または弊社からNDAの雛形を送付
  2. お客様のNDA雛形を利用する場合、内容の精査に1週間ほどお時間を頂きます
  3. 弊社のNDA雛形を利用する場合、お客様にて内容の精査をお願いします
  4. NDA書類の確認が終わりましたら、NDA書類を2通作成の上、お客様と弊社が署名・捺印をします
  5. お互いに1通ずつ保存します

NDA契約は tracpath のサービスを開発・運営している株式会社オープングルーヴと締結して頂きます。
書類のやりとりが発生するため締結までに少なくとも1,2週間の時間が必要となります。

tracpath サービスのエンタープライズ向けセキュリティ施策については「[2013年版] tracpath のセキュリティ対策をまとめてみた」をご覧下さい。

tracpath / サービスの内容 / セキュリティについて / 株式会社オープングルーヴについてのお問い合せはこちらよりお願いします。

Git / Subversion によるクラウド型バージョン管理サービス

Git Extentions によるバージョン管理のチュートリアル(Windows編)

 

Git Extensionsこんにちは、以前「[git] クローンからプルしてマージ、コミットしてプッシュする」分散バージョン管理がはじめての方に向けて、Git(ギット)の基本学習用チュートリアルを公開しました。

読んで頂いた方々からいろいろな要望を頂きました。
その中でも多くの方が Windows 環境で利用できる GUI クライアントツールの解説がほしい。という要望です。
Git の基礎勉強はコマンドベース(CUI)である Git をつかったバージョン管理の考え方と使い方を理解してもらうために作成しました。
バージョン管理の基礎を理解している人たちに向けて Windows 環境で利用できる GUI ツールのチュートリアルを作成しましたので公開します。

Git Extensions の基礎勉強 ~ Git Extensions によるバージョン管理 ~

Windows にて Git を使いたい方におすすめする Git Extensions のチュートリアルです。

課題がソースコードと連携していることのメリット

dev_trace

tracpath によるプロジェクト管理は、ガントチャートやWBSなどの管理者向けに開発されたツールではありません。開発チームにとって生産性向上と効率化するための仕組みを持った開発現場のためのツールです。

そのため、予算の管理、人材管理のための機能はありません。しかし、開発者や開発チームに必要なプロジェクト管理機能とソースコード管理があります。

大小を問わず、すべての開発チームに必須なツール

  • プロジェクトのマイルストーン管理、タスク管理–簡単に実現できる仕組み–
  • バグ専用のデータベース–それもシンプルで、カスタマイズ可能–
  • バージョン管理システム–Git / Subversion / Mercural–

tracpath の強みである「課題がソースコードと連携していること」のメリットを説明します。
メリットは3つあります。
 

1. 開発のトレーサビリティ(追跡)

 

tracpath はあなたのプロジェクトの過去と現在の「なぜ」を理解するのに役立ちます。

以前に解決したバグに関連したファイルに作成された特定の変更を瞬時に見つけることが出来ます。これはプロジェクトの過去、現在含めすべての期間においてソースコードレベルで追跡することが出来ることを意味します。

プロジェクトの開始時点から現在までをタイムマシーンをつかって過去に移動することや特定の1地点だけを戻すことができます。

ソースコードをバージョン管理し、いつでも前のバージョンに戻すことが出来る安心感をあなたのチームに提供することが出来ます。

 

2. 開発のアクティビティ(活動)

 

プロジェクトの開発状況をリアルタイムに知ることが出来ます。開発状況を把握し、必要ならタスク・課題あるいはチェンジセット(コミットログ)を閲覧することが出来ます。

ソースコードのバージョン管理システム用に開発された tracpath リポジトリビューアーでは

  • コミット履歴
  • ソースコードの閲覧
  • 差分表示
  • リポジトリのログ
  • コードレビューとコメント

が統合された機能として提供しています。

バージョン管理システムのクライアントツールを使わなくても、またコマンドを覚えなくても、ブラウザのみで同様の情報を取得することが出来ます。だれでも、簡単に利用できる機能を提供することで開発者以外のチームメンバーにも価値ある情報を共有することが出来ます。

さらに詳しく説明してます。「ブラウザでソースコードの変更履歴を管理する「リポジトリブラウザ」機能」をご覧下さい。

 

3. 開発のスマートな連携

 

開発チームはソフトウェア開発に必要な多くのアプリケーションを利用します。アプリケーションの切替を最小限にすることは、時間の節約と思考の切替によるロスを大きく削減します。

tracpath はコミットフックに対応しています。コミットフックによって開発者は簡単な構文をコミットログにメッセージとして追加するだけでワークフロー上のアクションを実行すること出来ます。

 $svn commit -m "fixes #40 に対応しました。"
 や
 $git commit -a -m "fixed #41 に対応した"

TortoiseGit によるバージョン管理のチュートリアル(Windows編)

 

git こんにちは、以前「[git] クローンからプルしてマージ、コミットしてプッシュする」分散バージョン管理がはじめての方に向けて、Git(ギット)の基本学習用チュートリアルを公開しました。

読んで頂いた方々からいろいろな要望を頂きました。
その中でも多くの方が Windows 環境で利用できる GUI クライアントツールの解説がほしい。という要望です。

Git の基礎勉強はコマンドベース(CUI)である Git をつかったバージョン管理の考え方と使い方を理解してもらうために作成しました。
バージョン管理の基礎を理解している人たちに向けて Windows 環境で利用できる GUI ツールのチュートリアルを作成しましたので公開します。

TortoiseGit の基礎勉強 ~ TortoiseGit によるバージョン管理 ~

Windows にて Git を使いたい方におすすめする TortoiseGit のチュートリアルです。

tracpath のセキュリティ対策をまとめてみた

 

こんにちは、tracpath はエンタープライズ向けに Git / Subversion / Mercurial のソースコード管理サービスを提供しています。エンタープライズ向けに求められるデータの安全性とセキュリティ対策についてまとめました。tracpath を運営している株式会社オープングルーヴの取り組みについても説明します。
 

はじめに

利用者のデータを扱う上で tracpath が備えているセキュリティ機能と tracpath を運営するオープングルーヴの情報セキュリティ管理方針の基本になる2つがあります。
 

セキュリティ機能

 セキュリティ機能は tracpath がセキュリティ向上のために標準で備えているセキュリティ機能です。全てのプランの標準機能として提供しています。
 

1. SSLによる暗号化通信

 tracpathはインターネット上の通信データをすべて暗号化します。詳しくはこちら

2. IPアドレスの接続制限

 IP接続制限による、指定したグローバルIPからアクセスを許可することでセキュリティを向上させます。詳しくはこちら
 

3. アカウントのロックアウト

 アカウントのロックアウトは不正な操作、異常な操作(主にパスワードの試行)が行われたアカウントに対してアクセスを自動的に遮断します。詳しくはこちら
 

4. アカウントアクティビティ

 アカウントアクティビティとは tracpath に関する最近のアクセス状況が表示されます。 これは、あたなのアカウントによる tracpath へのアクセス状況を確認することで不正にアクセスされていないか、知らない場所からの不正なアクセスがないか、調べることができます。詳しくはこちら

利用者様が利用するセキュリティ対策の機能を説明しました。ブログではさらに詳しく解説していますのでセキュリティ記事を参照してください。
 

情報セキュリティ管理

 情報セキュリティ管理とはサービスを運営する当社社員に関係する利用者データの安全性を担保するために設けている決まりです。セキュリティ行動規範として常にアップデートし、インターネットに公開しています。

 

5. 当社のセキュリティ行動規範

 セキュリティ行動規範は「tracpath」を運営している株式会社オープングルーヴが社内のセキュリティ管理のために利用する文書です。 当サービスにおける情報セキュリティの取り組み状況について現状を通知するために公開しております。

 

6. セキュリティ管理方針

 tracpathのクラウドサービスは、エンタープライズ環境において求められる高いレベルの安全対策が施されたサービスとして設計しています。お客様の大切なソースコードや設計情報を守るために実施しているtracpathクラウドサービスのセキュリティ対策とセキュリティ管理について詳細を公開しています。

  1. 共通セキュリティ仕様
  2. 物理的なセキュリティ(Amazon EC2)
  3. セキュリティ管理
  4. データ冗長性
  5. ネットワークセキュリティ
  6. アカウント管理とセキュリティ
  7. 外部からの攻撃に対する対策
  8. データのセキュリティ

 

7. セキュリティに対するお願い

 tracpathが提供しているセキュリティ対策以外に利用者に守っていただきたいルールがあります。利用者のプロジェクトチームや会社で徹底することを期待しています。

  • プロジェクトに必要なくなったユーザアカウントが残っている場合、ロックするか削除してください。
  • チームメンバーに定期的にパスワードを更新するように注意喚起してください。(1~3ヶ月毎の更新がおすすめです)
  • 管理アカウントを利用すれば、すべてのアカウントをロックしたり、パスワードを強制的に変更することができます。厳密な管理をおすすめします。
  • パスワードの有効期限機能を活用してください。
  • 強いパスワードを作成するようにしてください。Microsoftが推奨する強いパスワードのページを参照してください。

 

さらに、エンタープライズ向けのサービス(セキュリティ編)

 主に大規模な開発プラットフォームとして、tracpath を利用するお客様に向けたサービスがあります。
tracpath Enterprise Planはお客様の要望に合わせたソリューションを提供しております。

例えば、自社のデータセンターとtracpathをVPNによるセキュアな環境を構築したり、開発チームのアクセスログ、統計情報を提供するサービスなど….

tracpath を社内の開発チームに導入することが可能です。
セキュリティに対するご質問・お問い合せはこちらからお問い合せ下さい。

ブラウザでソースコードの変更履歴を管理する「リポジトリブラウザ」機能

 

tracpathはプロジェクトの履歴を追跡し、インシデント管理(チケットシステム)と同じくらい価値のあるソースコードの変更履歴をブラウザで簡単に見ることが出来ます。
リポジトリブラウザの機能について紹介します。

tracpathのリポジトリブラウザは、ソースコードのチェンジセット、リビジョン、ブランチ、タグ、差分を閲覧するための効率的な機能を提供しています。

さらに、tracpathはソースコードとチケット、Wiki、マイルストーンが密に連携したり、Git / Mercurial / Subversionのリポジトリに対応しています。

 

プロジェクトの概要:コミット履歴

 
プロジェクトの概要:コミット履歴

プロジェクトの活動状況をすぐに把握することができるダッシュボード機能があります。
ダッシュボードはあなた専用のプロジェクト一覧機能を提供します。あなたが関わっているプロジェクトの活動状況だけを簡単に確認することが出来ます。
さらに詳細を知りたい場合はプロジェクト毎のページに遷移してください。

ダッシュボードでは主に、Wikiの状況、ロードマップ(マイルストーン)の状況、リポジトリの状況、チケットの状況を簡単な数字にして教えてくれます。
ダッシュボードのグラフでは最近の活動状況ーー画像では2ヶ月間のコミット状況を表示ーーを表示しています。

 

ソースコードを閲覧

 
ソースコードを閲覧 ソースコードを閲覧

どんなブラウザからでも簡単にソースコードにアクセスすることが出来ます。チェンジセット、リビジョン、ブランチ、タグ、差分を閲覧できます。

tracpathのリポジトリは分散バージョン管理システムの「Git」「Mercurial」と集中バージョン管理である「Subversion」を利用することが出来ます。

 

複数リポジトリの管理

 

複数リポジトリの管理

tracpathはプロジェクトに複数リポジトリを作成することが出来ます。

マルチリポジトリは1つのプロジェクト内に複数の開発チームが存在するときや複数のモジュールを開発するときに利用すると便利です。開発チーム、運用チーム毎にメインリポジトリ、開発リポジトリ、リリースリポジトリを作成することも出来ます。

チームの方法に合わせて柔軟で強力なtracpathの複数リポジトリ機能を活用できます。

 

ソースコードの変更履歴

 

ソースコードの変更履歴 ソースコードの変更履歴

tracpathのバージョン管理システムは全てのソースコード、バイナリ、文書の変更履歴を保存し続けます。

あなたの開発環境からバージョン管理システムにアクセスすることは当然ですが、ブラウザからでもすべてのチェンジセット、履歴、差分を閲覧できることはとても大切です。

tracpathはGoogle Chrome / Firefox / Internet Explorerであれば効率的なユーザインターフェースを提供しています。

 

リポジトリの活動状況

 

リポジトリの活動状況

プロジェクトの履歴や活動状況だけではありません。リポジトリの活動状況を瞬時に表示します。
さらに、チェンジセット、ファイル、リポジトリパスは自動でリンクされ詳細を確認することが出来ます。ソースコードの歴史を簡単に追跡できる機能を提供しています。

 

リポジトリのログ

 

リポジトリのログ

リビジョンログを一覧表示することができます。リポジトリの活動状況と同じようにチェンジセット、ファイル、リポジトリパスは自動でリンクされ詳細を確認することが出来ます。

ソースコードの歴史を簡単に追跡できる機能を提供しています。

 

リポジトリブラウザ

 

リポジトリブラウザ

リポジトリブラウザはソースコードの階層構造を表示し、簡単に利用することが出来ます。
デフォルトリポジトリはプロジェクトのメインリポジトリであり、リポジトリ一覧に表示されているリポジトリはサブ機能毎のリポジトリ(マルチリポジトリ)です。

Windows エクスプローラーのようにツリービューとファイル一覧からすぐにファイルを見つけることが出来ます。

 

プロジェクトを始めるときに大切なビジョンを共有する

 

すべてのプロジェクトで必ずやっておくべき大切なことがある。それはプロジェクトのビジョンを共有することである。新サービスの開発プロジェクトやパッケージのバージョンアップ開発プロジェクト、顧客向けフルスクラッチのシステム開発などすべてでやるべき仕事である。

プロジェクトのビジョンを共有する必要がある人たちは、プロジェクトに関わる全ての登場人物であり、開発者、顧客・経営者、管理者である。プロジェクトのビジョンを文書として作成することで、このプロジェクトでチームが重視しようとしていることや目指していること、顧客の重視していることや優先順位がまとめられ、プロジェクトのビジョンとして共有される。このビジョンを確立して共有するときに関係者内の利害関係や力の関係でたくさんの意見が出るかもしれない。

関係者に共有することが思いの外難しく時間がかかるかもしれない。

でも、この工程はとても重要なので今使う時間はプロジェクトが佳境に入ったときに使う時間と同じくらい大切である。このビジョンはプロジェクト計画立案や要件定義等の工程でその土台になるべき重要な要素と考える。

私たちがプロジェクトのビジョンを策定するときのフォーマットは以下のようなタイトルが並ぶ。

これを雛形にして、プロジェクト管理者が作成するようにしている。

== ○○プロジェクトのビジョン
 1. 目的
 2. 要件
 3. 目標
 4. プロジェクトの進め方
 5. 予算・リソース・工数・スケジュール感

 

1. 目的

 
1. 目的

はじめにプロジェクトの背景や必要とされる理由が説明されるべきであり、プロジェクトをチームで進めていくためのベースの考えとして共有される目的を明示する。これによりチームは積極的な参加と正しいと思われる方向性を示すことがある。プロジェクトマネージャーが共感しやすい目的やビジョンを説明出来ることは、プロジェクトの価値を関係者に周知する強力なツールとなり、価値ある仕事と言うことを思い出させてくれる。
これまでプロジェクトのビジョン策定後、自分のチームに説明し顧客に説明することで、顧客自身がプロジェクトで達成したいこと、何を求めているのか、がはっきりすることが多々あった。

 

2. 要件

 
2. 要件

要件はプロジェクトに課せられることであり、顧客やチームが重視すべきことをまとめる。重視すべき点として予算内に収まるようにすべきか(コスト)、来年の2月までにサービスインすることか(期限)、現場の全ての声に対応した機能か、これらが複数定義されているか、を明示する。

私たちは箇条書きで思いつく要件を書き出し、優先度が高いと思われるリストに並び替えて整理したりする。

 

3. 目標

 
3. 目標

目標はプロジェクトで達成したいことーー自分たちのチームがこのプロジェクトを進める上で達成したいことーーを書いておく。

顧客の目的とは関係ない場合もある点を頭に入れておくべきである。

具体的な例として、すでに稼働しているシステムのバージョンアッププロジェクトでは「過去のコードのリファクタリングによるコードの最適化」「DBライブラリのバージョンアップ、チューニング」「Webアプリケーション用フレームワークのチューニング」などがある。その他にも「ペアプログラミングを実践」「コードレビューによるコードの品質を担保する」「テストの自動化ツールをプロジェクトに導入」などがある。

 

4. プロジェクトの進め方

 
4. プロジェクトの進め方

プロジェクトマネージャーを中心にプロジェクトのビジョンが策定され、成果物として必要なことが見えてくる。プロジェクトの進め方では、今回のプロジェクトにおいて最適と思われる開発方法ーーアジャイル開発?ウォーターフォール?ーーやチーム体制、責任の範囲、役割分担などが見えてくる。

自分のチームが得意としている方法・体制を明示する。

 

5. 予算・リソース・工数・スケジュール感

 
5. 予算・リソース・工数・スケジュール感

必須ではないがチームで共有できる場合、プロジェクトの予算、人的リソースーーだれが参加するのかーー、全体のスケジュール感(詳細なスケジュールはこれから計画されるはずであるが、おおよそのスケジュール感)を共有することは大切なことである。

 

さいごに

 

プロジェクトのビジョンはプロジェクト計画前に作っておくことをオススメする。プロジェクトが始まる前にマネージャーが時間を確保し作成することでプロジェクト管理の指針になる。

このプロジェクトのビジョンはプロジェクトが進行中も更新されチームメンバーに共有される。

当社ではいつでも見られるようにtracpathのWikiによりメンテナンスされている。