« 探し物はなんですか? | メイン | Tracに QA(testing) のステータスを追加する方法 »

共同開発を効率よく行う方法
このエントリーをブックマークに追加 このエントリーをlivedoorクリップに追加

尾藤正人です。

ウノウではおかげさまで順調にエンジニアの数が増えてきました。エンジニアが増えてくると、共同開発をいかに効率よく行うかが問題になってきます。n人の開発者がいれば開発スピードはn倍にはならず、n倍よりも落ちます。人数が多ければ多いほど、共同開発は難しくなり、ひどい場合には人数が増えたから開発スピードが落ちたということになりかねません。

ウノウでは共同開発を効率よく行うために様々な工夫を用いています。今回はウノウでどのようなステップで開発を行っているか紹介したいと思います。

subversion でソースコードを管理

ソースコード管理ソフトがなくては話になりません。ウノウではソースコードの管理に subversion を使ってます。subversion を使うことで過去の状態に簡単に戻すことができますし、個人の環境を完全に分離することができます。

subversion のコミットログをMLに流す

subversion のコミットの差分をMLに流すようにしています。コミットログのMLには開発者全員がsubscribeします。誰が何をコミットしたのかすぐ分かるので、開発がどのように進んでいるのか把握できて便利です。

開発者個人に独立したバーチャルドメインを設定

各開発者ごとに独立したバーチャルドメインを与えて、完全に独立した環境で開発を行います。他の開発者による影響が全くないので、自分の案件に集中して開発を行うことができます。

最新版を確認できるテスト環境を用意

subversion にコミットが行われるとテスト環境の方に自動的に反映されるようになります。案件が終わると我らがテスト番長が確認してくれるようになっています。

案件は全てBTSで管理する

ウノウでは案件管理に影舞を使用しています。シンプルで分かり易く便利です。以前 trac を導入しようとしたのですが、テスト待ち状態がなくて断念しました。テスターのいる環境ではテスト待ちにできないと意味がないので。

テスト番長が入念にチェック

開発主体の企業でもテスト専門のテスターがいるところは少ないんじゃないでしょうか。ウノウではテスト番長が終了案件を入念にチェックしてくれます。まず開発環境でテスト、本番環境にアップデートしてもう1回テスト。この段階を経て案件が完全にクローズされるようになってます。

開発サーバのファイルはsambaで共有

開発サーバのホームディレクトリはsambaで共有できるようにしています。僕は個人的には vim しか使わないので全然問題ないのですが、エディタは開発者にとっては重要なツールなので慣れてるものを使ってもらいたい。sambaでファイルを共有すれば、クライアントで好きなエディタを使って効率よく開発してもらうことができます。

情報はwikiで共有

細かい情報は全部wikiで共有。ウノウでは事務員さんもwiki使ってます。

本番環境へのアップデートは subversion で

本番環境へのアップデートは svn update するだけ。アップデート後はもちろんテスト番長によるテストを行います。エラーがあった場合にメールが飛ぶようになっているので、何か問題があった場合には過去の状態に戻します。subversion を使うとリビジョンを指定してアップデートすることができるので、いつでも元の状態に戻すことができます。

まとめ

アジャイルな開発には効率のよい共同開発方法が必要不可欠です。上記のような手法はたとえ共同開発でなくて個人で開発していても役にたつと思います。

他にもいい方法があれば、ぜひ教えていただきたいと思います。

トラックバック

このエントリーのトラックバックURL:
http://www.unoh.net/mt32/mt-tb.cgi/282

この一覧は、次のエントリーを参照しています: 共同開発を効率よく行う方法:

» [others]ウノウラボ Unoh Labs: 共同開発を効率よく行う方法 from devworks
チームでの共同開発をどういったツールを使えば、効率化できるか、というお話。でもこういうのってツールを導入しただけではなんの意味も持たないんですよね。 ツ... [詳しくはこちら]

コメント

tracのチケット状態はいくらでも追加できますよ。

Trac のチケットの状態の (値の) 変更は本体 (ソース) の改変が必要なので少々面倒だと思います。

http://trac.edgewall.org/changeset/2846

これって本体に取り込んでも良い機能だと思うんですけどね...

影舞も良いツールですが、Subversion と連携できる Trac は一度使うと止められません。

ソースコードを改変しないといけないというのが断念した理由です。python 使いがいなかった(今はいますが)ので、メンテナンスできるかどうかも分からないので。

subversion との連携は魅力的ですよね。プライベートでは trac 使おうと思ってます。

TracWebAdminプラグインを組み込めばブラウザから管理可能ですよ。

そのようなプラグインがあったんですね。知りませんでした。今度よく調べてみます。

PHPベースのmantisがオススメですよ~
Subversionとの連携も出来るし設定もかなり細かくできますし。(ただしコードの改変は必要かも)

ありがとうございます。
mantis も検討しようという話になってました。
結局は現状の影舞で問題ないので、そのままいこうという話になりました。

コメントを投稿


画像の中に見える文字を入力してください。

SaaS提供の高性能CMS RCMS
SaaS提供の高性能CMS
ウノウラボはウノウ株式会社のエンジニア/デザイナーによる大小のアウトプットを行っていく場です。

現在ウノウは絶賛人材募集中です。詳細は求人ページへ。

About

2006年8月23日 14:17に投稿されたエントリーのページです。

ひとつ前の投稿は「探し物はなんですか?」です。

次の投稿は「Tracに QA(testing) のステータスを追加する方法」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

ウノウサービス