この一連の質問は、スクラム 2 を使用して TFS 2012 の領域と反復をセットアップする方法に関するベスト プラクティスの回答を引き出すことを試みます。
コンテキスト: 私たちは TFS 2005 から Team System を使用しており、最初に所有する製品ごとにチーム プロジェクトを作成し、次に MSF 4.2 プロセス テンプレートを使用しましたが、最終的に微調整しました (いくつかの作業項目の種類にいくつかのフィールドを追加しただけです)。
現在にロールフォワードすると、現在 TFS 2012 と VS 2012 を実行しています。過去の経験とコミュニティからのフィードバックを考慮して、単一のチーム プロジェクトとスクラム 2.1 に移行し、領域を使用して製品とチームを分離します。次のリンクは、このアプローチをよく読んでいます。
- http://blog.hinshelwood.com/when-should-i-use-areas-in-tfs-instead-of-team-projects-in-team-foundation-server-2010/
- TFS 領域、最適な定義と構成
- Team Foundation Server - エリア / イテレーション
エリアに適用する予定の典型的なレイアウトは、次のようなものです。
-> Team Project (Area root)
|--> Client A (This is also out team boundary - ie. we have a TFS Team for Client A)
|---> Product A
| |---> Feature Area 1
| |---> Feature Area 2
| |---> Feature Area 3
|
|---> Product B
| |---> Feature Area 1
| |---> Feature Area 2
|
| (ETC)
|--> Client B (This is also out team boundary - ie. we have another TFS Team for Client B)
|---> Product C
| |---> Feature Area 1
| |---> Feature Area 2
|
| (ETC)
上記は私たちの環境にとって論理的であるため、概念的には非常に満足しています。上記によると、次のようなチームがあります: * "クライアント A チーム" * "クライアント B チーム"
質問 1)私たちのチームはそれほど大きくなく、管理をより管理しやすくするために、製品ごとにチームを定義したくないと考えました。物理的にクライアントごとにチームがあり、そのクライアントのすべての製品を監督しているためです。これは間違いですか、それともこれでよろしいですか?
質問 2)上記のチーム構成に問題がないと仮定すると、上記の各エリアを各チームに「マッピング」するのは正しいでしょうか。つまり、チーム「クライアント A チーム」の場合、エリア「クライアント A」(およびすべてのサブエリア) を次のように指定します。そのチームが所有する領域。デフォルトのエリアはどうですか? 「クライアント A」エリアのルートをチームのデフォルトとして設定してもよろしいですか?
イテレーションのレイアウトに関しては、次のような類似のものを計画しています。
-> Team Project (iteration root)
|--> Client A (This is also out team boundary - ie. we have a TFS Team for Client A)
|---> Product A
| |---> Release 1
| | |---> Sprint 1
| | |---> Sprint 2
| | |---> Sprint 3
| |
| |---> Release 2
| | |---> Sprint 1
| | |---> Sprint 2
| | |---> Sprint 3
| |
| |---> Release 3
|
|---> Product B
| |---> Release 1
| | |---> Sprint 1
| | |---> Sprint 2
| |
| |---> Release 2
| | |---> Sprint 1
| | |---> Sprint 2
|
| (ETC)
|--> Client B (This is also out team boundary - ie. we have another TFS Team for Client B)
|---> Product C
| |---> Release 1
| | |---> Sprint 1
| | |---> Sprint 2
| |
| |---> Release 2
| | |---> Sprint 1
| | |---> Sprint 2
|
| (ETC)
質問 3)これは、特にバックログを表示する TFS に関しては、反復を正しく行うのが難しいようです。具体的には、TFS スクラム 2 反復のセットアップでは、計画とその後の開発のためのリーフ レベルの反復のみを選択 (チェック ボックス) する必要があるようです。したがって、上記の例を拡張すると、「クライアント A チーム」が次の 4 週間 (2 週間のスプリントを想定) で新しい製品 B の作業を開始できるようになる可能性があります。次に、リリース 1 から「スプリント 1」と「スプリント 2」のみを選択 (チェック ボックス) しますか? 正しく理解/使用していますか?
質問 4)チーム バックログ イテレーションの選択 - これは、製品ごとではなく、クライアントごとにチームを配置するという私たちの概念のために問題になる可能性がありますが、私の理解が間違っているだけかもしれません。TFS エリアのセットアップでは、どの反復が「チームのバックログ反復」であるかを指定します。私の問題は、私たちの PBI (製品バックログ項目) が製品固有のものであり、別の製品の PBI と混合したくないということです。したがって、おそらく「製品 B」ではなく、「チームのバックログ イテレーション」としてエリア「クライアント A」を選択した場合にどのような影響があるかは、まだ理解できません。私はここで自分自身を混乱させていると思います-賢明な選択は何でしょうか?
上記の質問は、定義された各 TFS 2012 チームに対して、イテレーション、エリア、チーム バックログ イテレーション、および既定のエリアのこれらの選択がどのような影響を与えるかを理解していないことに起因します。このセットアップで私が抱えているいくつかの問題は、TFS がチームの製品バックログとスプリント バックログを正しく識別することです。
1 つのチーム プロジェクトと製品の複数の領域 (一般的に推奨されている) が問題を複雑にしているのかどうかはわかりません。
質問 5) TFS Web アクセス Web サイト - 「作業 | 作業項目 | 共有クエリ」の下にある特定のチームについて、「現在のスプリント」(ブロックされたタスク、スプリント バックログなど) というフォルダーの下に定義済みのクエリがありますが、これらのクエリは"Root Project\Release 1\Sprint 1" に対してハードコードされています - これらは、反復に対して定義された日付が与えられた現在のスプリントを自動的に検出するべきではありませんか? そうでない場合、これらのクエリを維持するためのベスト プラクティスは何ですか?
これらの質問に対処するのに役立つ、または Scrum 2 TFS セットアップを成功させるためのガイダンスを提供する、TFS 2012 および Scrum 2 固有の高品質のトレーニング/チュートリアルを知っていますか?