VSTS:作業項目

作業項目とは、「完了したい作業」で「担当者にアサインするもの」であり、「状態が管理できる」必要がある。VSTSでプロジェクト管理をするときの基本的概念。

MSF Agileだと、タスク、バグ、サービス品質要求、シナリオ、リスクの5つがある。リスクが作業か?という疑念はあるが、基本的にはいずれも「プロジェクトのために完了させなくてはならないもの」であり、かつ「完了したかどうか知りたいもの」である。機能面から見ると、作業項目とは「管理のためにトラッキングしたいもの」と言ってよい。だから管理項目のほうが適切かもね。(もっとも管理対象すべてではないんだけど)

構成としては、作業項目は以下の3つの要素からなる。

  • フィールド定義
  • ワークフロー (状態遷移のパターンとルールの定義)
  • フォーム

フィールドは作業項目中に存在するデータ項目。名前、参照名(ユニーク名)、型、入力ルールなどから成る。レポートに出すための属性も、ここで指定する。

気をつけないといけないのは、フィールドの定義は1つのVSTSシステム中で一意になってしまうこと。別々のプロセステンプレートで別々にフィールドを定義していても、参照名(Reference Name)が一致すると、同一視されてしまう(おまけに、後から上書きしてしまう)。

ワークフローでは、状態遷移としてどんな遷移が許されるのか、それぞれの遷移が発生してよい条件や、遷移したときのデフォルトの動作、遷移時のフィールドの入力制限(ClosedにしたときはClosed Byが必須とか)、などを定義する。いろんな機能があり、混沌としている。

フォームはVS2005またはTeam Explorerから作業項目を閲覧・編集するための画面の定義。フィールドを配置するためにXMLで記述するのだが、Group(横方向のかたまり)とColumn(縦方向のかたまり)を組み合わせて記述するようになっており、かなりわかりにくい。思ったとおりの配置にするのが大変。また、配置の指定がどのように効くのかわからない部分も多く、仕様なのかバグなのか悩んだりもさせられる。

作業項目エディタが開発中らしいので、それに期待。
http://www.gotdotnet.com/workspaces/workspace.aspx?id=812a68af-5e74-48c6-9623-1a4469142a84