SHOEISHA iD

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

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

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

Visual Studio 2005 Team Systemを使ってみよう

TFSで行うチーム開発、プロジェクトマネジメント

Visual Studio 2005 Team Systemを使ってみよう-第6回


ソースコード管理

 ソースコード管理とは開発を行う時にソースコードを特定の場所に保存してバージョン管理を行うことで、特に複数の人が開発に携わる時には非常に重要になります。ソースコード管理においてソースコートを預けることを「チェックイン」、預けたソースコードを取り出すことを「チェックアウト」と呼びます。既存のMicrosoftの製品としてVisual SourceSafe(以下VSS)がありますが、VSSではチェックインされたコードをファイルとして保存し、常に最新のソースコードがVSS上に保存されるようになってます。

 これに対してTFSのソースコード管理はチェックインされたソースコードをデータベースに保存します。データベースに保存する事で、通常は最新の状態から操作を行えますが、いざという時は過去のチェックインの状態に戻すことのできる機能を持っています。さらに、チェックインを行う際に決められた条件を満たしていないとチェックインができないという制限を設けることができます。この制限のことをチェックインポリシーと呼びます。TFSに標準で用意されているチェックインポリシーは次の3点です。

  • コード分析
  • テストポリシー
  • 作業項目

 既定ではチェックインポリシーは設定されていませんので、UIから追加したいチェックインポリシーを選択して追加する必要があります。

図2 チェックインポリシーの追加画面
図2 チェックインポリシーの追加画面

 それぞれのチェックインポリシーについてですが、テストポリシーでは指定された単体テストの実行を、コード分析では指定されたコード分析の実行をチェックし、未実行の場合警告を表示するようになっています。なお、テストポリシーを実行する場合には、VSTTがインストールされている必要があります。コード分析を実行する場合にはVSTDが必要です。また作業項目ではチェックインする時に後述する作業項目との関連付けがなされているかをチェックし、関連付けがなされていない場合は警告が表示されます。

 さらにTFSのソースコード管理には、チェックインをせずに開発中のソースコードをほかの開発者と共有する機能があります。それが「Shelve」と呼ばれるものです。Shelveでの変更を反映させたい場合はマージを行う事で変更を反映することができます。Shelveを使用する際にはどの部分を切り分けるか、またどのタイミングでマージを行うかをしっかり考えておく必要があります。

作業項目管理

 作業項目とは作業の進捗やバグの報告などを記載するもので、用途によってさまざまな型が用意されており、作業項目は標準のプロセステンプレートであるMSF AgileとCMMIとでも異なったものが提供されています。MSF AgileとCMMIには用途によって以下の作業項目が用意されています。

表1
作業項目の型 内容 MSF Agile CMMI
タスク 作業時間など日々の作業を入力したりチェックインと関連付けを持ったりして、作業をトラッキングできるようにするための型
バグ 発生したバグについて発見されたテストやビルド、優先度などを入力し、バグの発生から解決までをトラッキングできるようにするための型
リスク プロジェクトで懸念される事柄を報告し、解決を促すためための型
シナリオ 製品を利用する手順や利用する対象者についての情報を入力するための型 ×
サービス品質要求 シナリオとは異なりパフォーマンスやセキュリティといった機能について特に入力するための型 ×
変更依頼 変更者や作業実績、他への影響の有無など、変更が及ぼす影響や作業をトラッキングできるようにするための型 ×
懸案事項 特に懸案される事について入力するための型。 ×
必要条件 必要条件に対して専門家や作業量を入力し、必要条件がコミットされるまでトラッキングできるようにするための型 ×
レビュー レビューの出席者やレビュー概要などを入力するための型 ×

 作業項目は1つの型から複数の作業項目を作成して使用します。作業項目は必要になった時点でどんどん追加していくことができるので、プロジェクトの状況に合わせて追加して使用します。作業項目はMicrosoft社のProject 2003やExcel 2003と連携することができ、作業項目の追加もProject 2003やExcel 2003から行うことができます。ただしどのような作成方法の場合でも、一旦作業項目を作成してしまうと消去する事はできないのでその点は注意してください。

 作業項目の中で1番使用されると考えられるのがタスクの作業項目です。

図3 タスクの作業項目
図3 タスクの作業項目

 タスク上部には担当者や作業の状況(現在アクティブか、それともクローズしたのかなど)、その状況になった理由などを入力します。下部には複数のタブがありますが、「リンク」タブではチェックインや他の作業項目などと作業項目を関連付けることができます。また「詳細」タブでは作業実績などを入力したり、「履歴」タブでは入力の履歴が自動的に保存されていたりします。

 作業項目は同じプロジェクトで複数作成されますが、目的の作業項目だけを参照・編集したい場合はチームクエリを使用して作業項目を絞り込むことができます。チームクエリはMSF Agileで11種類、CMMIで16種類、いずれもよく使用されそうなクエリが用意されていますが、新たに追加したり編集したりすることも可能です。

図4 チームクエリの編集画面
図4 チームクエリの編集画面

 チームクエリの編集方法ですが、図4の右ペインから編集したいクエリを選択すると、画面上部にSQLデザイナのような画面が表示されるので直観的に編集できます。クエリの追加も同様に直観的に操作することができます。

 作業項目に入力された値は後述のレポート表示のデータとしても扱われますので、正確なレポートが必要な場合は作業項目の入力を正確に行うというルールが必要になります。

次のページ
チームビルド

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

Visual Studio 2005 Team Systemを使ってみよう連載記事一覧

もっと読む

この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

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

WINGSプロジェクト りばてぃ/FUJIKO/ナオキ(リバティ, フジコ, ナオキ)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook

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

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

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/1755 2008/09/04 13:01

イベント

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

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

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

メールバックナンバー