SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

developerWorks Liaison(AD)

Eclipseの開発手法を受け継いだ
分散アジャイル開発のためのプラクティス

「Eclipse-Way:分散アジャイル開発のためのプラクティスとその事例」セッションレポート

  • このエントリーをはてなブックマークに追加

チームの詳細

 ここで、組織のフォーメーションの話としてメンバーの役割について説明する。最小単位は各チームとなるが、分散したチームはどのようなコミュニケーション手段を使っても生産効率が悪くなってしまう。このため、アーキテクチャとチームの編成、そしてロケーションはできるだけ密にするよう意識している。また、Team Concertでは階層型のチーム構成を採用しており、それぞれの階層にリードを置くことで、チームの力を最大限に引き出せるようにしている。

階層ごとにリードを配置したチーム構成

 また、チームにはそれぞれリードがいて、チーム参加の個々のメンバーとデイリーやウイークリーのミーティングを行い、コンポーネントリードに報告する。コンポーネントが大きくなると複数のチームが傘下に入るため、コンポーネントリードはチームリードと密に連絡を取ることになる。このようなコンポーネントが世界中に分散しているため、これらの最上位としてプロジェクト・マネージメント・コミッティ(PMC)が存在する。PMCは、コンポーネント間の調整や、コンポーネントの集合体である商品の最終的な意志決定を行う。

 実際にJazz Projectで計画して使用されるものには、障害レポート(Defects)、タスク(Tasks)、機能拡張(Enhancements)、ビルド・ステータス(Build status)、レトロスペクティブ(Retrospectives)、計画項目(Plan Items)、ストーリ(Stories)、RFS itemsがあり、これらを追跡していくことになる。またワークアイテムでは、Plan Item(フィーチャー)、ストーリー(Story)、タスク(Task)の3つが使用される。

プロジェクト管理のポイント

 なお、お客様との話の中でよく質問されるのは、もっと上のレベルのものが多い。一つは「全体のプランはどうするのか」というもので、一般にアジャイル開発では業務を短いストーリーに区切って進めていくが、それで本当に必要な機能がもれなく実現できるのか? という質問だ。ウォーターフォールのプロジェクトでは、初期にがっちりと決めた機能を粛々と開発していくが、議論にブレが生じることは避けられない。全体像を決めずにフィードバックだけで、予算と期間の枠内で、十分な機能を持たせることができるのか、というのである。

 Jazz.netではさまざまなフィードバックを受け付けることで、リリース計画のコントロールが必要になる。そこで、プロジェクトが本来達成すべき要求などを確認するために、4つの構造となっている。基軸になるのは「ストーリー」で、ここにシンプルな操作イメージを載せていく。ストーリーに対してもう少し抽象度の高いものが「フィーチャー」である。さらにこの上に「テーマ」があり、ここでは大枠を固めている。

 アジャイルの解説では、ストーリーに関連する話が多く、全体感をきちんと説明しているものが意外と少なく、それがもともと達成しなければならないことに対して漏れや抜けがないかという不安感につながっているように思う。アジャイルでは抽象度に応じて内容を切っているので、より上位の部分ではブレを気にしない。なお、テーマで設定する定義はシンプルで「エンタープライズ」「スケーラビリティ」「セキュリティ」それに「他の製品との連携」「セットアップのやり方」「メンテナンスの簡易さ」という程度である。

 実際の流れとしては、商品として考慮しなければならないこと、漏れや抜けがあってはならないことはテーマで大枠を固めておき、製品に求められていることをフィーチャーで定義する。これを実際に形にするためにどう動くのかはストーリーで決めて、ストーリーを実現するためにタスクを切っていく。フィードバックについては、それに対してこのような機能を提供しましたということを明確にしたnew & noteworthyというドキュメントを作成する。これによって、全体的な視点でどのような方向に向かっているか、何がどのくらい達成できているのかといった状況を把握できる。

 もう一つの質問は、フィードバックにおける「好き勝手」をどうするのかという問題だ。これには、不特定多数の、いろいろな利害関係者がいる中で、いい意味で議論の方向性を誘導していく必要がある。具体的には、フィードバックのポイントを絞り込み、それに対して適切なフィードバックをもらう。また、どのようなフィードバックが欲しいのかをきっちりと定義して、フィードバックの質を上げていく。これはプランニングとnew & noteworhtyで対応していくことになる。

次のページ
リソース管理のポイント

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
developerWorks Liaison連載記事一覧

もっと読む

この記事の著者

吉澤 亨史(ヨシザワ コウジ)

元自動車整備士。整備工場やガソリンスタンド所長などを経て、1996年にフリーランスライターとして独立。以後、雑誌やWebを中心に執筆活動を行う。パソコン、周辺機器、ソフトウェア、携帯電話、セキュリティ、エンタープライズ系など幅広い分野に対応。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3617 2009/02/27 15:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング