10.4 ・・興山破 : 、価・、興ソース第工クスプ 0- ラ をい ( VOid 1 ・、一せれ ) 効率的な作業環境 267 おを , 、、月第第の製 0 い・ユーザ - ・・のを : アツング ・ 1 ートのレビュー ~ ・・い ) の第ス第つ一い妥当をレビュー ( ださい の一第靆いリを一を △図 10-8 [ 担当作業 ] ウインドウの最上部には現在進行中の作業項目 ( [ 処理中の作業項目 および変更 ] ) が表示され、その下の各セクションには、まだ開始していない作業 項目 ([AvaiIabIeWorkltems]) と、既に関連付けられたシェルプセットとワーク フローがある未完了の項目 ([Suspended & Shelved wo 「 k ] ) 、さらにレビュー中 の項目 ( [ コードのレビューと要求 ] ) が表示される。 開発者の作業中は、チームエクスプローラーウインドウの [ 担当作業 ] 領域の最 上部に現在アクテイプなタスクが表示されます。この作業項目と、現在開いている コードおよびテストのすべてに、 [ チェックイン (Check (n) ] 、 [ レビューの要求 (Request Review) ] 、 [ 中断およびシェルプ (Suspend & Shelve) ] の 3 つの既定の コマンドが適用されます。ご想像のとおり、 [ チェックイン ] を選択すると、現在の 変更がすべてチェックインされ、この作業項目が現在の変更セットと関連付けられ 解決されるので、アクテイプな項目の一覧から次の項目を選択できるようになりま す ( レビューについては、この後で説明します ) 。 [ 中断およびシェルプ ] を選択す ると、作業中のすべての変更を含んだシェルプセットが自動的に作成され、そのシェ ルプセットが進行中の作業項目と関連付けられ、その作業項目が [ 担当作業 ] の未 完了を示す CSuspended & Shelved work] セクションに移動します。 これにより、別のタスク ( たとえば、優先順位の高いバグや特殊要求のタスク ) に切り替えることになっても、それまで作業していた作業項目のコンテキスト全体 をコード、テスト、および統合開発環境の設定とともに保存することができます。
130 第 6 章開発 チェックイン・作業項目 ( ル y ound ” mQ ri yWork 飛司 クエリ : ′ w 砒 ( ル y 。 un 町 ソースファイル ( F ) △図 6-4 メモ ( N ) チェックイン 作業項目 ( w ) を告 ( p ) ポリシー チェックイン動作 当寸け 種類 Task く検索 > Title チェックイン ( C ) State ln … キャンセル [ 作業項目 ] ページには、チェックインに関連付ける作業項目が表示される。この 作業項目を完了せず、いったんチェックインをする場合は、 [ チェックイン動作 ] 作 ] を [ 解決 ] に設定する。その成果は次回の成功したチームビルドに反映される。 チェックインによってタスクや他の作業項目を完了する場合は、 [ チェックイン動 を [ 関連付け ] に変更する。 チェックイン - チェックインメモ ソースファイ ) 区 F ) 作業項目 ( w ) 告 ( P ) チェックイン メモ ( N ) ボリシー △図 6-5 曰コードレビューア Sam Guckenheimer 日セキュリティレヒューア N LQ 日パフォーマンスレヒューア チェックイン ( C) キャンセル [ チェックインメモ ] ページでは、このチェックインについてのメモを入力する。 このメモがどのフィールドに保存されるかは、 TFS 上でのチームプロジェクトの 設定によって決まる。
第 2 章スクラム、アジャイルプラクティスと VisuaI Studi0 がいくつか用意されています ( 図 2-10 を参照 ) 。これらのタスクポードでは、 TFS の作業項目を視覚的に操作でき、またスプリントの状況を一目で把握することがで きます。自動化されたタスクポードは、チームやスクラムが地理的に離れた場所に 分散しているときは特に便利です。たとえば、複数のサイトのミーティングエリア に大きなタッチスクリーンを設置し、それと同じ内容を他のメンバーがノートパソ コンから見ることもできます。全員が同じ TFS データベースに接続するので、誰も が同じ最新の情報を見ることになります。 38 : : ・ⅵ St 面け期 0 れ第増目 第項目 : 0- にルド 0 0 To ・ 0 0 ☆を・物 TO の ~ ☆を一 0 多くの TFS アドインは、プロダクトバックログとスプリントバックログをタスク ポードとして表示する。このアドインは Urban Turtle と呼ばれるもので、 http:// urbanturtle.com から入手できる。 Microsoft でも、こうしたツールを使ってレドモンド、ローリー 、ノ、イテ・ラノヾード、 上海、および多数の小規模サイトの間でスクラムチームの調整を行っています。「第 10 章継続的フィードバック」では、我々が Microsoft 内部で使用しているタスク ポードを次期バージョンの TFS にどのように組み込んでいるかを紹介します。 タスクポードの歴史をひもとくと、アイデアの伝播という興味深い研究テーマが 見えてきます。アジャイルチームのためのタスクポードは、トヨタの大野耐ーがジャ ストインタイム生産方式で提唱した「かんばん」を模して作られました。大野は、 1950 年代に米国のスーパーマーケットで商品の棚入れがどのように行われているの かを観察し、そこから独自のモデルを生み出しました。・彼は、スーパーマーケッ トの商品の棚入れ作業が店員ではなく卸売業者によって行われていることと、たと えばスープ缶の奥に置かれたカードがその棚にスープを追加せよという合図になっ ・ Ohno, ん ) , 0 Pro イ〃 c 行 0 〃 S ) , 立夜〃 , 26. △図 2-10
5.2 既存のアーキテクチャの調査 119 望ーに ( a は聞 1 ・ x uc Shopping ViewHomePage B 「 0 物に Odu チ addto 厄 ct ( 計に 0 ・ opp イ △図 5-18 4 X 物 追加囚 コビーに ) 鮎つ付け ( 印 照のり付けに ) モデルから解除 ( 0 ) 図から除住 ) 作業項目の生成 ( 0 作業項目ヘリンク ( い・ .. 作第頃目の示 ( Y ).. 作項目の ( ).. プロバティ但 ) bscrib に to 3 productlitE Ctri + C Ctrl+V Shift + Del Alt + Ente 「 、共有ステップ [ 、タスク [ ユーザーストーリー ーあ蘇室事項 ' Visual S ⅳ dio では図中の個々の要素を 1 つまたは複数の作業項目 ( たとえば PBI) にリンクできる。ユーサーはコンテキストメニューから、既存の作業項目にリン クしたり、新しい作業項目を作成したりできる。 ユーサーストーリー 2 x 」作項目の保存ぁ鑾丨 ! ユーザースト丿ー 2 : 地 30 ぉ 1 沼 'I 、取記 eto 山れ stomy 動・ ( t ・ 状態 ( S ) : - - 計画 詳総ー実装ーテストケースすべ ( のルり付万イ丿月 ( 0(T$ete ーれい門 pa 新 T ま滝 1 TO イテレーショこイ T 郵 a 1 1 リスグ 新規作成 ( 助・しリンり先 ( L レ」衫 l-g 彡 M ロ。れ 0 で問く ( 0 ) 、工」 ー作第頂目の第 TitIe 0 d TO 第 Model Link ( 新 m 引 △図 5-19 図内の要素にリンクされている作業項目には、モデルリンクが表示される。リン クをダブルクリックすると、バージョン管理から図が開かれ、リンクされた要素 にフォーカスが置かれる。
8.9 リスクベーステスト ク作業項目を追跡して、同じような形でリスクに対するテスト結果のレポートを見 ることができます ( 図 & 26 、図 8-27 を参照 ) 。 231 フやートべーラをま事 1 百み簡く里 ] せ案事項を問くデイタ司・ x ・ 0 懸案事項 虹リ研呆 ) 島実二つ工リの種諷「蒭車「 7 取 -- -- -- - ヨ ご、、にに三経果の表 U) 瑁オプション C ) およÜ / またはフィールド 演子 チ - ムプロジト 作項目の種 ※、句を追加すをにはここを男ックしまマ のは存に ) 』最新の情こ更新 ( 印匚あ」・ M008 0 で : 、歹勵オプショメ c ) りエリ結果引 ) 項目が見つカました ( 現在選択され項目い即。 55 Ex 「は % 費ぎ「一物せ新代・ー ~ 期新 tof ( 《 1g1 ) い ( れ W 810f5 ぎ、女を ) 80 ′、愴 3 ・新 「ル、 P 猷 5 v 谷 h 嫉 Neno [ 0 リスクは作業項目として表現されるので、他の種類の作業項目と同じバックログ で管理される。テストケースからの追跡やレポート生成も他の作業項目と同様に 行うことができる。 △図 8-26 IJ 「 ( cl 厄 nt ) 厄 ; change hardware unique W に ba 社 (Denial 朝Ⅳに e ) on ou 「引 user'smachine (client)isbehind aproxyserverand ( annot ト .. t に「 n 引 Payment Ⅳ代 sponds within 砂 son 日 b 厄 arnount of … 「 n P y 庁に nt Ⅳに「 b 厄 10 15 リスクは作業項目の一種なので、ユーサーストーリーに対するカバレッジと同様 の方法で、リスクに対するテストカバレッジを測定できる。 5 0 △図 8-27
5.2 既存のアーキテクチャの調査 Mo 物 ng 切“日・““ 0 代Ⅵ修 0 黛 dio ・ 0 im に n レ n 費“ vc を 酪 ILC ・・ mlßⅵ宿 m x 作製項目の生成・し島作第項目アイコンの非物示 UML モデルエクスプロー・・ ~ 0 X M 。 d 山岬。 t3 ツールポック 、サ - ーバーエ *UML モテル・ に第してくたい・ ト上にドラッグして、ツールポックス ールがありません . 頃目をこのテキス このグループには使用可能なコントロ UMLClassDiagram1 新。い項目を加す 追加 ( A ) コビー ( Y ) 昭り材け ( P ) 参のつ材け ( 5 ) 作第項目の生成 ( c ) 第 D 曲四 ( 新ト V ・ミこコ か、タイアクラムサーフェイスを 第 作第項目ヘリンク ( 切… 作要項目のま示 ( め .. 作第項目の第除 ( w ) … 作第項目アイコンの非表示 ( り : フソリューション・ レイヤー第 》コ M 。 d in 石。れ ソリューションエクスプロ・・ ~ X チームをクラス 、嚏ソリュ 0 観 0 宿 列 プロジェクト らプロバティ ( R ) プ 0 ジェクト・ M 衂可部なの作成に成功しました . ■出力保畄の変更 3 工ラーー質 A E 飛 △図 5-21 Visual Studi0 では、 UML 図にフックするカスタムコマンド拡張機能を書いたり、 ビジネスロジックを実行したり、基本のメタデータにアクセスしたりすることが 簡単にできる。 Visual Studio のすべての依存関係グラフは、 Directed Graph Markup Language (DGML)O という XML べースのファイル形式を共通で使用しています。そのため、 他のソースからも依存関係グラフを簡単に生成できます。図 5-22 は、 CodeP1ex が 提供している Work ltem VisualizationO というツールですが、このツールでは、 Visual Studio 内の作業項目、作業項目間の関係および変更セットを表示するグラフ を生成できます。 ⑩ http://blogs.msdn.com/b/camerons/archive/2009/O レ 26/directed-graph-markup-language-dgml. aspx Jeff Levinson による Work ltem Visualizer (http://visualization.codeplex.com/) 。
コードベースの完全性の維持 63.1 6.3 チェックイン時にエラーを検出 129 TFS にはバージョン管理機能が組み込まれています。この機能によって完全な履 と同じ意味を持ちます ( 図 6-3 、図 6-4 、図 6-5 を参照 ) 。 利用でき、他のチームメンバーも使用できる状態になったということを宣言するの です。ファイルをチェックインするという操作は、そのファイルがチームビルドで バージョン管理を利用するときの最も基本的な操作は、ファイルのチェックイン 自動的にチェックアウトされます。 ファイルの編集を始めると、誰か他の人がロックしていない限り、そのファイルは ションの関連ファイル、さらに、関連付けられた作業項目を包括的に管理できます。 歴が保持されるため、チームによるソースコードへの変更、 Visual Studio ソリュー ソースファイル ( F ) 」コ : , しつ訒フ チェックイン , ソースファイル , ワークスペース : ASTERSCHWAN Upgraded p 「 0 は tO VS 加 10 、引 ion fO 「 m . コメント ( M ) : ポリシー を告 ( P ) 作業項目 ( w ) チェックイン メモ ( N ) △図 6-3 名前 団、 A nF に u 代 F t. ( 年「可 団 : A nF に町び est. 引 n 団 A onFea ⅳ F を化い ( ( 団働 R 当。 urc 当・ D 凶 gn 既 ( を 団國 s ings ・ D gn 既 ( 5 を d を d に フォルダー D.\TFS\Demos\BCL\AvaIonFeatureFest.„ D: \ TF D に mo B ( L “ nF に 3 ⅳ F に式… D:\TFSNDemos\BCL\AvalonFeatureFest D:\TFS\Demos\BCL\AvalonFeatureFest D:\TFS\Demos\BCL\AvalonFeatureFest チェックイン ( C ) キ ? ンセル [ チェックイン ] ダイアログボックスの [ ソースファイル ] ページには、変更を加 えたファイルが表示され、その中からチェックインするファイルを選択できる。 左側にある 4 つのボタンを使って、 [ ソースファイル ] 、 [ 作業項目 ] 、 [ チェックイ ンメモ ] 、 [ ポリシー警告 ] の間で表示をすばやく切り替えられる。 チェックイン時には、 Visual Studio から 3 つの項目を指定するように求められま す。ファイルのリスト、このチェックインで解決する作業項目、そして変更に関す る情報を記録するためのチェックインメモです。この 3 つの項目から、チェックイ ンのデータを結び付ける「変更セット」が生成されます。変更セットには、新たに 追加 ( または修正、削除 ) されたコード行、そのコードに関連付けられた作業項目 の状態変更、およびチェックインメモが含まれます。
36 2.3 フ 第 2 章スクラム、アジャイルプラクティスと VisuaI Studio 4 ヨ M に 0 : 0 代 V 。負記 5 ( :. 0 , チーム ノエリ / こ ! 1 し 0 い , p をを 0 0 し - 朝 1d0 ; ト ! ! を http: W2010d おれ 0 。 8 第せリを P 0 をい ! 01 第 0 しに′、謝りにを年い h : リに′ 0 ! いに霆獰に、 ☆お気に入り , お“面 2E1.0 灯 eamQu 面 ~ ・・ ・人と ) を ・ 0 県学べージ ( P ) をセーフテれ S ) マツー似 0 ) ビルド ! - ツ VisualStudi02010 う Team Web ( 6 ー 008 負、独 & n ′ n 咲 〔 : さコ 羅使財 - た項目かありませ ... 新しい作第項目 最使 - た頂目な菱ませ… お気に入り ー第ー・ム、。代、、 & を物 - ~ 朝一宇ニムクエリ派 ! 鈔朝 1 物き池。 0 、 Visu ーれロ .0 / チームクエリ IC ′ー、リれ加を、凶名前を何けて保存 .. クコ丿経果 . 果が ~ 件見つカました . 在選択されれ、る項目靆件 ) 供物、独を 08t ( せー 921 ー作第項目…・タイトル 作第項目 A を日 k 声 01 日料 k ー担当着 クエリ ページが表示されました △図 2-9 、、ローカルイントラネットー保第モード : 無効・気 18 % を 案事項になっている問題の現在の状態を示す。 「懸案事項を開く (OpenImpediments) 」クエリは、ディリースクラムの時点で懸 サイクルごとの「完了」の定義 ここまでに説明してきた各種のサイクル ( チェックイン、テスト、リリース、ス プリント ) のそれぞれについて、チーム全体で同じ「完了 (done) 」の定義を共有し、 それを一種の共通認識として扱う必要があります。チームの誰もが、「完了」のステー タスをいつでも透明性の高い環境で確認できなければなりません。この共通認識が ないと、技術的負債を正しく評価することはできません。その結果、ソフトウェア のインクリメントを見込みどおりに出荷するのは不可能になります。 スクラムと TFS の組み合わせでは、どのサイクルにおいても完了メカニズムを使 用できます。たとえば、チェックインにはチェックインポリシーとビルドワークフ ローがあり、テストにはそのサイクルのテスト計画があり、スプリントとリリース にはそれぞれの完了リストを記録する作業項目があります。
170 第 6 章開発 できます。さらに VisualStudio では、多様なテストデータと構成を用いて単体テス トの利用範囲を広げることができます。また、テストの実行から直接パフォーマン スプロファイリングを取得して、パフォーマンスのホットスポットを特定すること もできます。 3 つ目のバージョンのすれに関しては、バージョン管理の複雑さを軽減し、ビル ドされたソフトウェアをソースコードまで追跡できるようにすることが必要です。 Visual Studio は、バージョン管理、作業項目、ビルドの自動化を統合しているだけ でなく、複数のバージョンをチームで長期間にわたり並行して保守していくための 完全な分岐戦略もサポートしています。チームの環境や状況に合った適切なアプロー チを採用するために、分岐戦略については十分な検討を行ってください。 4 つ目の透明性の欠如に関しては、すべての情報源を追跡しやすくすることが重 要です。 Visual Studio では、必要な情報は自動的に記録されています。 TFS は、個々 のビルドに対するソースコードおよび作業項目の変更内容についての監査記録を提 供します。チェックインポリシーは、チームの完了リストを満たすための支援機能 となります。 Visual Studio は、共通の作業項目データベースとメトリクスウェアハ ウスを備え、コードおよびテストの変更を作業項目およびビルドプロセスと統合す ることによって、プロセスの透明性をサポートしています。そのため開発者は雑多 な手続きに気を取られず、仕事の中身に集中できます。 次の章では、自動ビルドと自動デブロイメントのプロセスについて説明し、「完了」 の定義を自動化することが価値フローのさらなる加速につながるという点について 見ていきます。
9.3 VS 2005 後の改善 247 これに対し、「顧客の不満因子の除去」は、小さな切り傷がいくつも重なって致命 傷になるような事態を避けるためのものです。たくさんある小さい不満因子は、 1 っ 1 つを見れば、優先順位の低いバグだったり、小さい便利なフィーチャーだった りしますが、ちりも積もれば大きな障害になる可能性があります。このような項目は、 個別にトリアージを行った場合は通常は修正の対象外となります。これは第 3 章で 説明した、プロダクトバックログ内の小さい項目をより大きな項目にまとめて、他 の項目と同じレベルで優先順位付けできるようにする手法の一例です。これによっ て、各チームがこの領域で自由裁量レベルの投資を行うことが可能になります。 工クスペリエンス シナリオは 1 つ以上の工クスペリエンスに翻訳されます。工クスペリエンスとは、 「我々が製品ユーザーをどのように思い描いているか」を表現するストーリーです。 価値提案をするにはどのようなユーザータスクが必要でしようか。工クスペリエン スを定義するときは、顧客へのデモをイメージして、「〇〇のやり方を教えましよう か」といった質問を考えます。 フィーチャー ェクスペリエンスからフィーチャーを導き出します。工クスペリエンスをふくら ませながら、工クスペリエンスをサポートするために必要なフィーチャーを定義し ます。 1 つのフィーチャーが複数のェクスペリエンスをサポートする場合もありま す ( 実際、これが一般的です ) 。ほとんどのフィーチャーはユーザーストーリーとし て定義されます。 図 9-6 に、プロダクトバックログのトップダウンレポートを示します。このレポー トでは、シナリオ ( 図では「価値提案 (VaIue Pr 叩 osition) 」と表記 ) からェクスペ リエンス、フィーチャーへとドリルダウンされます。