[アーカイブ] TFS 2012/TFServiceの優れたWebインターフェイスの紹介

<オリジナル投稿 2012年11月8日 本ポストの情報はオリジナル投稿時点のものです。マイクロソフトの正式な見解や製品の仕様を保証するものではないことをご了承ください。>

Team Foundation Server 2012 (TFS 2012) と Team Foundation Service (TFService) の Web インターフェイスだけを単に紹介するということをあまりしていませんでしたので、ここでは画面中心にご紹介しましょう。画面は2種類用意しておきます。PC サイズと iPhone サイズです。iPhone の画面を紹介しますが、Windows Phone でも同様です。Android は持っていないのでわかりませんが、おそらく同じでしょう。

ダッシュボード

image
プロジェクトの必要な情報を一画面で把握できるように構成されています。TFS はリポジトリが一つなので、各種タブにアクセスすることであらゆる開発リソースにアクセスできますし、これらリソースを縦だけでなく、横ぐしで見れるのもありがたいです。
iPhone で見ても同じように見れます。

プロダクト バックログ

image
プロダクト バックログ項目は、ドラッグ&ドロップで優先順位を変更することができます。いちいち、優先順位項目に数字を入れる必要もありません。全部良しなにやってくれますので、やりたいことに専念できます。また、上の画面のようにベロシティ値を入力すると予測(Forecast)をすることができますので、より優先順位付けがしやすくなります。スプリントへのプロだくバックログ項目の割り当てもドラッグ&ドロップです。バックログ項目の作成もここからちゃっちゃとできます。
では、iPhone だと、

カンバンボード

image
プロダクトバックログ項目のステータスによるカンバンボードです。どこまでのバックログ項目が実装されたか、実装しているのか一望できます。こちらももちろん、ドラッグ&ドロップで遷移できますので、受け入れテストをパスしたら、チームで見守りながら遷移させるといい感じですね。
iPhone では以下な感じ
ちなみに、この画面からベロシティとバックログ項目の累積フローを見ることもできます。
image
image
どちらもリアルタイムな情報です。見ていて気持ちがいいですね。

スプリント バックログ

image
スプリントにで実施すると決まったプロダクトバックログ項目とそのタスクが親子関係で一望できます。当然中身も閲覧/更新できます。また、バーンダウンチャートもありますし、チームの負荷状況もリアルタイムに表示されています。「このバックログ項目、このスプリントでできないことがわかったよ」という場合も、ドラッグ&ドロップで以降のスプリントへ繰り越すなんてこともできてしまいます。
iPhone からは以下
バーンダウンチャート
image
キャパシティ
image
実は、負荷状況とかが正しくでている仕組みには、開発メンバー単位でのキャパシティプランが含まれているおかげです。
一日の純粋に開発に費やせる時間と、稼働日をインプットしておけます。まさか、一日8時間でプロジェクト計画してないですよね?

タスクボード

image
スプリントの各タスクは、タスクボードとして表現することができます。もちろん、ドラッグ&ドロップで遷移させることもできます。Visual Studio や Eclipse から行う場合は、自動で状態が遷移しますので、このボードを使う必要はありません。たとえば、継続的インテグレーションやゲートチェックインしていれば、チェックインして、ビルド、テストが成功したら、このタスクも自動的に完了に遷移します。IDE と関連しない作業などでは、こちらのボードで遷移させるといいですね。作業時間のインプットも詳細画面を開かずに行えますし、担当者の変更もすぐにできますので、「彼が取ったタスクだけど、はまっているみたいだから代わりに自分が」というストーリーが自然に行えます。
iPhone からはこんな感じです

各種の作業項目も自由自在

image
バックログ項目、タスク、テストケース、バグ、懸案事項、フィードバック、コードレビューなど開発では多くの作業項目が存在しています。これらを縦でも横でも条件抽出できるクエリをマウス操作だけで作ることができます。ここに挙げているものはあらかじめ標準搭載されているものですが、いくらでも自分やチームにマッチしたクエリを作成できますし、表示させることができます(余談ですが、これをExcelで見るなんてことも当たり前にできます。そう、TFS ならねw)。
チームのお気に入りに登録すると、最初にご紹介したチームのダッシュボードに件数が表示されます。

ソースコード管理

image
ソースコードについても、実は細部まで見ることができます。これは Java のコードの状況を見ています。コードを表示することも、ダウンロードすることも、履歴を表示することだって当然できます。
image
履歴は、開発者のアイコン付で、見れます!差分だって
image
また、たとえば、毎日の活動状況と照らし合わせて開発の進捗、ソースコードの成長を見ることもできます。
image
「昨日はだれがどこをどう変更したんだっけ、それってどのタスク?バグ修正?」そんなものは全部TFSが覚えてくれています。
image
iPhone でみると

継続的インテグレーション(自動ビルド)

image
自動ビルドの包括的な把握ができます。ビルドをキックすることもできますし、継続的インテグレーションを含めたビルドの進捗とドロップ管理が行えます。詳細情報も見ることができます。
image
TFSの自動ビルドは、ソース管理、バックログ、タスク、バグ管理を同じリポジトリですので、ビルドを行うだけでそのビルドと関連しているソースコードの変更セット、バックログ項目とタスク、バグがレポートされます。これでこのビルドには何が実装されているのかいつでも追跡ができるようになります。また、これそのものが確実なリリースノートの役割を果たすことになります。
もちろん、ビルドしてできた成果物にも一発でアクセスできます。デプロイするビルドを間違えたなんてことも少なくなりますね。
自動化の仕組みでデプロイまで自動化することももちろん可能です。
iphone だと。

まとめと補足

このように TFS では、1ページでほしい情報が把握でき、やりたいことが行えるWebインターフェイスに標準搭載しています。よく聞かれますが、上記で紹介したことをおこなうのに、SharePoint の機能は不要です。
直観的なドラッグ&ドロップでの作業など便利極まりないですね。ちなみに、iPhone, Windows Phone で試しましたが、これらからはドラッグ&ドロップはできませんでした。Windows 7、 Windows 8 ではもちろん可能です。実際に昨日の XDev 2012 の講演でも自前のスレートPCでドラッグ&ドロップでデモしました。
こういう情報を把握したりするのに労力をかけている余裕はなくなりつつあります。そんな時間があったら本業に注力してほしいものです。使えるものは使ってください。
ちなみに、今回の画面は、TFS 2012 Update 1 相当の画面です。TFS 2012 RTM とは画面が異なりますのでご注意ください。ただし、できることに変わりはなんらありません。また、Team Foundation Service は上の画面と変わりありません。ただし、英語UIです。