2008-10-05

社内オープンソースプロジェクトについて(まとまらない版)

うまくやる方法を考えてみた。

っつうか、社内オープンソースってのが既に矛盾か・・・

目的

社内でオープンソースプロジェクトを行うことにより以下の4つの価値を生み出すことができる。

 1.部門間におけるノウハウの共有

 2.外部に公開した場合の宣伝効果

 3.新製品新サービス実験の場

 4.仕事そのものを作る効果

 (4補足)

   ・新入社員研修などが発生した場合に効果的に仕事を割り当てることができる。

   ・在宅勤務をせざる得ない状況における作業の割り当て。

    

【前提】

基本的に下記の事項を前提として考察を行う。

 1.社内の人間であれば、誰でも参加できる。

 2.途中で各人の任意のタイミングで抜けても、問題とならない。

 3.社内の人間であれば、だれでもアクセス可能なWebサーバー上で情報を管理する。

  ただし、必要に応じてアクセス制限をかけることができる。

  インターネット接続されている、Webサーバー存在しているものとする。

 4.各開発者は場所的、時間的に同じところにいないことを前提とする。

Webサーバーが用意すべき機能】

以上の前提より、下記の機能を有したWebサーバーの準備を行う。

1.構成管理機能

 簡単にソースコードの取得、更新を行えるようにして、その履歴を残す。

 案:Subversion

2.Wiki

 マニュアル、方針、仕様などを記録する。

 Wikiにすることにより、誰でも編集が容易になる。

 案:Trac/Redmine/Pukiwiki

3.フォーラム

 意見や質問を容易におこなえる掲示板を用意する。

 これにより、場所と時間にとらわれずに意見交換を行うことができる。

 案:Wiki/Redmine

4.タスク管理、バグ管理

 どのようなバグタスクが残っているか管理を行う。

 これにより、リリース時期の予測、作業の有無を効果的に確認できる。

 案:Trac/Redmine/BugZila

5.テスト管理

 テスト仕様テストの状況を管理する。

 これにより、リモート環境であってもリアルタイムテストの進捗状況を確認できる。

 案:TestLink

6.コードレビューサポート

 ReviewBoardの使用

 http://blog.monospace.jp/2008/03/24/reviewboard_installation/

 (※要調査)

7.フィードバックを受ける場

 関係者モチベーションを保つため、成果物に対して、フィードバックを受ける場を作成する。

 案:社内のソーシャルブックマークアンケート機能

【効果的な手法】

その他、効果的な開発の進め方を考察する。

1.xUnit使用

 xUnitテストコード記述することにより以下の効果がある。

 ・修正後でも修正前と同じ動作するかどうかが、確認できる。

 ・テストコード自体が一種のリファレンスになる。

 これにより、人の作成したコードでも修正を行いやすくなり、前提1、2の人の出入りに対応する。

2.自動ビルド

 自動ビルドを定期的に実行する。また、1のxUnit使用して単体テストの失敗も監視する。

 これにより、サーバー上にコンパイルが通らないソースコード単体テストに失敗したコード存在をチェックすることができる。

 これは不特定の人間がかかわった場合に異常を検知するためである。

3.短期的なリリース

 開発者モチベーションを保つため、一定のめどがついた時点でα版という形でリリースを行う。

 

だめだまとまらん。

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん