うまくやる方法を考えてみた。
【目的】
社内でオープンソースのプロジェクトを行うことにより以下の4つの価値を生み出すことができる。
1.部門間におけるノウハウの共有
2.外部に公開した場合の宣伝効果
4.仕事そのものを作る効果
(4補足)
・新入社員の研修などが発生した場合に効果的に仕事を割り当てることができる。
・在宅勤務をせざる得ない状況における作業の割り当て。
【前提】
基本的に下記の事項を前提として考察を行う。
1.社内の人間であれば、誰でも参加できる。
2.途中で各人の任意のタイミングで抜けても、問題とならない。
3.社内の人間であれば、だれでもアクセス可能なWebサーバー上で情報を管理する。
ただし、必要に応じてアクセス制限をかけることができる。
インターネットに接続されている、Webサーバーは存在しているものとする。
4.各開発者は場所的、時間的に同じところにいないことを前提とする。
以上の前提より、下記の機能を有したWebサーバーの準備を行う。
1.構成管理機能
簡単にソースコードの取得、更新を行えるようにして、その履歴を残す。
2.Wiki
3.フォーラム
これにより、場所と時間にとらわれずに意見交換を行うことができる。
これにより、リリース時期の予測、作業の有無を効果的に確認できる。
5.テスト管理
これにより、リモート環境であってもリアルタイムにテストの進捗状況を確認できる。
案:TestLink
ReviewBoardの使用
http://blog.monospace.jp/2008/03/24/reviewboard_installation/
(※要調査)
7.フィードバックを受ける場
関係者のモチベーションを保つため、成果物に対して、フィードバックを受ける場を作成する。
案:社内のソーシャルブックマーク、アンケート機能
【効果的な手法】
その他、効果的な開発の進め方を考察する。
xUnitでテストコードを記述することにより以下の効果がある。
・修正後でも修正前と同じ動作するかどうかが、確認できる。
これにより、人の作成したコードでも修正を行いやすくなり、前提1、2の人の出入りに対応する。
自動ビルドを定期的に実行する。また、1のxUnitを使用して単体テストの失敗も監視する。
これにより、サーバー上にコンパイルが通らないソースコードや単体テストに失敗したコードの存在をチェックすることができる。
これは不特定の人間がかかわった場合に異常を検知するためである。
3.短期的なリリース
開発者のモチベーションを保つため、一定のめどがついた時点でα版という形でリリースを行う。
だめだまとまらん。