TOPプロジェクト管理> はじめに
PHP開発手法
PHP開発手法

第1回:複数人による開発の要所を押さえる

著者:ウノウ  尾藤 正人   2006/11/30
1   2  3  次のページ
はじめに

   PHPは生産性の高い開発言語として広く普及しました。現在も多くのWebアプリケーション開発でPHPが採用されており、その手軽さも手伝って実績を伸ばし続けています。手軽に開発できることから、個人での開発もでき、独自の開発手法が多く存在し、複数人では統一が難しいといわれています。

   そのため複数人による開発では、確固とした開発手法がとられてない事例が多いのも事実です。開発手法が確立されてない場合、規模が大きくなるとすぐに破綻してしまいます。それを避けるには、開発手法を確立しておく必要があります。

   本連載では複数人によるPHPを用いたWebアプリケーション開発において、実際に筆者の所属するウノウ株式会社が行っている手法を例に効率的な開発手法を解説していきます。本連載の内容はPHPだけでなくRubyやPerlのような他の言語にも適用できます。また1人で開発を行う時に非常に有効な方法です。実際に筆者が個人で開発を行う場合も、ほぼ同様の方法で行っています。

   第1回の今回は、開発手法に関わるポイントと全体的な概要について紹介します。具体的なツールの設定や使い方に関しては、次回以降に順次解説していきます。

情報伝達の難しさ

   一般的に開発者がn人いれば開発スピードがn倍になることはありません。なぜならば、お互いの情報伝達にコストがかかっているからです。よって良い開発手法は、情報伝達を効率よく行っているといえるでしょう。情報伝達を効率よく行うことができれば、開発スピードをn倍に近づけることができます。


Wikiで簡単に情報共有

   では、効率よく情報伝達を行うにはどのようにすればよいでしょうか。1つは情報共有を簡単にできるようにすることです。ウノウでは情報共有にWikiを使用しています。Wikiはご存知の方も多いと思いますが、Webブラウザから編集可能なWebページのことで、CMS(Contents Management System)の1つです。

Wiki
図1:Wiki
(画像をクリックすると別ウィンドウに拡大図を表示します)

   各プロジェクト、あるいはプロジェクト間で共有する情報は、すべてWiki上に書かれています。Wikiは社員であれば誰でも編集可能であり、いつでも必要な情報を簡単に共有することができます。


プロジェクトの進行状況はBTSで管理

   プロジェクトの進捗管理はすべてBTS(Bug Tracking System)上で行います。BTSは本来、バグの修正管理に使用されるものですが、ウノウではバグの管理はもちろんのこと、開発案件の進捗管理もBTSで行っています。

   BTSでは細かい作業が案件という単位で管理されています。案件というのは、例えば「メニューの文字を大きくする」といった具体的な作業を指しています。それぞれの案件ごとに担当者が割り当てられており、担当者は自分に割り当てられた案件を処理していきます。

   処理した案件は担当者が「確認待ち」の状態に変更します。「確認待ち」の状態になった案件は自動的にテスターの方でテストが行われ、不具合があった場合は担当者に差し戻され、問題がない場合は案件が終了となります。

   具体的には次のようなライフサイクルを辿ります。

1. 新規
バグ報告や開発案件で新規案件が発生

2. 割り当て
マネージャが案件を担当者に割り当て

3. 着手
担当者が作業を開始する時に状態を着手に変更

4. 確認待ち
作業を終了すると確認待ちに状態を変更

5. 確認済み
テスターが開発環境で確認を行う

6. 完了
本番環境に適用して本番環境でも問題なければ案件が完了する

表1:開発ライフサイクル

   またBTSを使うことによって次のような事柄が明確になります。

  • 誰がどの案件の作業をしているのか
  • 誰にどのような案件が割り当てられているのか
  • 作業が完了しているのかどうか

表2:BTSを利用することのメリット

   ウノウでは週に1回プロジェクトごとにミーティングを行っており、1週間でどの案件を処理していくのかについて話し合って決定しています。ミーティングの中では、プロジェクトの方向性を考えて話し合いながら、具体的な作業内容を案件として開発者に割り当てていきます。具体的な作業内容はBTSの案件として定義されているので、開発者が何をやるのかが明確化されプロジェクトの進行状況が把握しやすくなります。

   バグは重要な問題であるため、バグ報告があった場合は優先して作業を行います。その際は、バグの内容をBTSに登録し、マネージャが案件を開発者に割り当てて、修正を行います。このようにBTSを使ってバグ修正を行うことによって、具体的な作業を誰が行ったのかが明確になり、バグ修正がスムーズに行えるようになります。

1   2  3  次のページ


ウノウ株式会社  尾藤 正人
著者プロフィール
ウノウ株式会社  尾藤 正人
CTO
広島市立大学大学院在学中にVine Linux SPARC版の開発を行う。2002年4月、HDEに入社。2003年度未踏ユースプロジェクトに採択され、「みかん - サーバ自動選択型FTPサーバの開発」を行う。退職後、シリコンバレーに語学留学のため渡米。2004年12月、帰国してウノウに参画。写真共有サイト「フォト蔵」を開発中。

ブログ:ベイエリア情報局
http://blog.bz2.jp/


INDEX
第1回:複数人による開発の要所を押さえる
はじめに
  ソースコード管理ツール(Subversion)でソースコードを共有する
  開発者ごとに独立した開発環境を用意する