Your SlideShare is downloading. ×
「ウォーターフォール的 TFS のススメ」 TFS ユーザーズ勉強会 @libaty さんセッション資料
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

「ウォーターフォール的 TFS のススメ」 TFS ユーザーズ勉強会 @libaty さんセッション資料

3,285
views

Published on

11/4 第1回 Team Foundation Server ユーザーズ勉強会のりばてぃさんのセッション資料です。

11/4 第1回 Team Foundation Server ユーザーズ勉強会のりばてぃさんのセッション資料です。

Published in: Technology

0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,285
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
6
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. ウォーターフォール的 TFS のススメ りばてぃ(@libaty)2011/11/04 1
  • 2. 登壇者自己紹介• コミュニティ • 「りばてぃ(@libaty)」 • http://cs.gogo-asp.net/• 執筆 他、いろいろ http://amzn.to/rVXmOe http://bit.ly/tV1DDp• ちなみに・・・ • 某ブログで「Visual Studio ALM(VSTS) MVPも受賞」とありましたが “過去” のお話です(2006, 2008, 2009あたり) 2011/11/04 2
  • 3. 本日のお題• 「ウォーターフォール」さんと、「TFS」さんが仲良くすることは可能なのか? 可能です が、 ウォーターフォール型開発には往々にして従来培われてきた各種のノウハウが 会社独自の「基準」や「フォーマット」という形で存在しています。 最終的にはその形式に合わせた(もしくはそこに記載された項目を満たす)報告が 求められることになります。 2011/11/04 3
  • 4. 先に結論~段取り良ければすべてよし~ ウォーターフォールでやるならば ・ 既存の慣習やプロセスをできるだけ乱さない ・ 相手が求める資料の本質を探る ・ 必要なデータはきちんと渡す TFSを使うならば ・ TFSの機能をちゃんと知る ・ TFSに合わせて開発プロセスを変更しない ・ TFSの都合のいい部分を都合よく使う2011/11/04 4
  • 5. 本日の定義事項 要件定義 システムテスト 外部・内部設計 結合テスト プログラミング 単体テスト2011/11/04 5
  • 6. 本題• 既存の仕組みとどう折り合いをつけていったのか• その一端をいくつかご紹介 • 使い始めのタイミング • プロジェクトの現時点での工程とTFSの使い始めの部分のすり合わせ • Test Professional利用時の折り合い • テストケース、テスト結果、出力されるレポートとの折り合い、すり合わせ • 各種の台帳、帳票との折り合い • QA部門が要求する台帳、帳票との折り合い、すり合わせ • とあるプロジェクトでの運用フロー • 実際に各機能を連携させながら利用していった例 2011/11/04 6
  • 7. いつ使い始めるか? この辺? この辺?2011/11/04 7
  • 8. それぞれのタイミング• 要件定義~外部設計 幸せなシナリオ • 自社の先にお客様がいる案件 ユーザーストーリーからTFSを使い始め • パッケージ開発等 られるので、TFSの思想に沿った理想の • 自社でハンドリング可能なケース 使い方が可能• 設計(途中)~プログラミング 少し不幸せなシナリオ • 再委託案件 • 設計途中~テスト途中まで 上から下まで綺麗にTFSを使いこなすに • 開発管理環境は一任してもらえた はちょっと工夫が必要 • 他社に管理されるケース 工夫が必要 2011/11/04 8
  • 9. こんな絵もありますが• TFSに用意された機能間の連携を端的に表している良い絵• 全部を使わないといけない?わけではない ユーザー ユーザー ソースコード ストーリー ストーリー ユーザー ユーザー (作業結果) (要件) (要件) タスク ストーリー ストーリー (作業) (要件) (要件) ユーザー ユーザーユーザー ユーザー チーム ストーリー ユーザー ストーリーストーリーストーリー ビルド (要件) ストーリー (要件) (要件) (要件) (要件) ユーザー ユーザー ユーザー ユーザー バグ ストーリー ストーリー テストケース ストーリー ストーリー (障害) (要件) (要件) (テスト項目) (要件) (要件) 2011/11/04
  • 10. なぜ利用するかを考えよう• なぜ「ユーザーストーリー」を利用するのか? • 要件を管理するため そんな当たり前ではつまらない TFSでユーザーストーリーを利用する理由 ・テストマネージャーで要件とテストケースを関連付ける機能があるため ・(その後)レポート機能を利用して要件の進捗・品質状況を確認するため 2011/11/04 10
  • 11. では、どうするか• ユーザーストーリーを使う • 要件一覧(きっとExcel)をちょっと加工して登録 • Excel – TFS間連携は楽チン♪ • いっそ、機能名や画面名(帳票名)をユーザーストーリーにしちゃえ! • きっと、機能一覧、画面一覧なんて名前のExcelファイル持ってませんか? TFSの機能にのって管理したいことが管理できればそれでよし!• ユーザーストーリーを使わない • テストマネージャー使わない(使えない)し・・・ • レポート(進捗、品質状況)はほかの手段で確認するし・・・ TFSを”使うこと”が目的じゃない!きれいさっぱり見なかったことに! 2011/11/04 11
  • 12. テストの計画と実行の管理 この辺2011/11/04 12
  • 13. TFSとテスト管理• Visual Studio Test Professional 2010 • TFSをリポジトリにしたテストケース、テスト結果の管理 • Hyper-Vを利用したテスト環境の維持・管理 • 率直な感想 • 主に手動で行っているテスト(すなわち、Excelにテストケースを書き、手作業でUI 操作を行い、テスト結果を記載する作業)の支援に力を発揮 • 難点 • Visual Studio Ultimate w/ MSDNに付属または別購入 • 別購入時のパッケージ定価がちょっとお高い(MSDN 1年分付きだけれども) 今日は前向きに“使ってみる”前提で! 2011/11/04 13
  • 14. 推奨の使い方 その1 テストの分類名(テストスイートと呼ぶ) ユーザーストーリーのタイトルをコピー (そういう機能が提供されている) テスト項目(テストケース) 作業項目の“テストケース”が利用され ている2011/11/04 14
  • 15. 推奨の使い方 その2 テストの手順(テストステップ) 各テストケースでのテストの操作手順と 確認方法を記述する2011/11/04 15
  • 16. 推奨の使い方をするとどうなるか• レポートがたくさんでます イテレーションの状態 ストーリーの概要 テスト計画の進行状況• ちゃんと出すにこれをしておかないといけません! • ユーザーストーリー作業項目を使う • タスク作業項目を正しく運用する • Test Professional(Test Manager)を使う 大変です!挫折しそうです!本当にここまで必要ですか? 2011/11/04 16
  • 17. 何に利用したいか?をきちんと• Test Managerを使うといいこと • テストケースの管理ができます • テストの実行結果が管理できます • テストケース、テスト結果とバグを関連付けることができます • バグにはテスト環境のシステム情報を自動登録することができます • バグにはテスト時のスクリーンショットを登録しておくことができます • バグにはテスト時の操作ビデオを登録しておくことができます • バグにソース修正後のチェックインを関連付けるとテストまで逆順でたどって いくことができます ここに挙げたことはレポート出力とはまったく関係ありません レポート出力のことを考えなければ、推奨されるとおりに使う必要なんて ありません。 やりたいことのためだけに使えばいいことになります。 2011/11/04 17
  • 18. とある例(ちょっと極端ですが)• やりたかったこと • QAチーム曰く • 「テストの進行状況を確認したい」 • 「テストステップごとの合否を確認したい」 • プロジェクトの状況 • ものは試しでTest Managerでテストケース、結果管理してみたい • Test Managerの記録操作を利用できる開発プロダクトではない(WM6.5開発) • QAチーム様の要求を満たしてあげないといけない 記録操作が使えない ≒テストステップ欄の記述にこだわる必要なし 2011/11/04 18
  • 19. と、いうわけで ユーザーストーリーを 使って作っておいた機能 Excelにテストステップを記述し ID一覧を転記 て、Excelの1行=1テストケー スという横暴な登録を行う (中身は空っぽ)2011/11/04 19
  • 20. で、テストを実施していくと• 黙っててもQAチーム様が勝手にグラフを見といてくれます 2011/11/04 20
  • 21. なんとか台帳、なんとか票との折り合い なんとか一覧レビュー台帳 レビュー票 障害台帳 障害票 2011/11/04 21
  • 22. 台帳、帳票はつきもの• よく見かけるけどどうにかしないといけませんね 2011/11/04 22
  • 23. 折り合いづけの基本方針• いずれにしても管理しとけと言われるもの • 工数、枚数、指摘数、ステップ数、バグ数など最後に「数」ってつくもの • 指摘率、バグ率、テスト率など最後に「率」ってつくもの • これらを一覧化している最後に「台帳」ってつくもの• 管理したい人(部署)とは戦いです! • 特に作業項目でどうにかなるものは折り合いをつける努力をする • 決められたフォーマットベースの作業項目定義を作ってしまう • 必要なデータがあればいいですよね?多少レイアウト違っても・・・説得!• やっかいなパターン • Excelにマクロが仕込まれてる → このファイルじゃないと • 元請け会社指定、お客様指定 → どうしようもないからこっそりやる 2011/11/04 23
  • 24. 作業項目を使った台帳管理一般的な台帳の特性 作業項目フィールド・ID 作業項目クエリの出番 ・WIT-ID・タイトル ・タイトル・期間 ・開始日/完了日・担当者 ・担当者・ステータス ・状態の一覧情報 VS上で表示 Excelエクスポートで立派な台帳 2011/11/04 24
  • 25. 「台帳」のフィルタリング抽出 課題膨大に蓄積されるデータをうまくフィルタリング抽出して必要なデータのみで要求される台帳を完成させたい 解答TFSの作業項目をフィルタリングするのに最も適している(労なく使える)のは区分とイテレーションによるフィルタリング処理 そんな“アジャイル”で使いそうなもの、使えないよ! ちょっと聞いてみてください2011/11/04 25
  • 26. 区分とイテレーション• 区分とイテレーションの指定のガイドライン(MSDNライブラリより) • http://msdn.microsoft.com/ja-jp/library/ms181692.aspx#Guidelines • 区分 • 区分を使用して論理コンポーネントや物理コンポーネントを表します。さらに、サブ 区分を作成して特定の機能を表します。 • イテレーション • チーム プロセスに適したサイクル期間を特定し、そのサイクルをサポートするイテ レーションを定義します。端的に言うと・・・区分:サブシステム、機能単位またはそれらを処理するチーム単位イテレーション:プロジェクトで理解しやすい時間軸 2011/11/04 26
  • 27. 区分とイテレーションの例 イテレーション 外部/内部 単体 結合 システム 要件定義 製造 設計 テスト テスト テスト 業務A グループ 業務B区 グループ分 業務C グループ 基盤 管理 この枠1つずつで作業 項目を分類する 2011/11/04 27
  • 28. 個別のなんとか票• 要求される項目をMSF系の作業項目では満たせない場合(がほとんどですが)、自分で作っちゃいましょう 出展:codezine(http://codezine.jp/article/detail/4092) 図1:追加するフィールドのイメージ 拙著:TFSの作業項目をプロジェクトに合わせてカスタマイズする ・前編:http://codezine.jp/article/detail/3965/ ・後編:http://codezine.jp/article/detail/4092 2011/11/04 28
  • 29. 新しく作る場合の注意• 大事なポイント • 作業項目の特定の情報はレポート機能で出力される • 自分で作る作業項目のデータもレポートで出力したいか否か!?• レポート出力したい! • Report BuilderやSQL Server BI Studioで作る必要あり• レポート出力いらない! • そのまま放置 2011/11/04 29
  • 30. 折衷案~Excelレポート~• 標準でも結構用意されています • さりげなく、Excelレポートにしかないものも! • コードチャーンとか • レポートテンプレートとか• カスタマイズのメリット • お手軽簡単♪ • Excelでデータを抜けばやりたい放題☆ • 何より管理者受けします 拙著:Team Foundation Server 2010レポートを使ってみよう http://www.atmarkit.co.jp/fdotnet/introtfs/introtfs09/introtfs09_01.html 2011/11/04 30
  • 31. 例えばこんなの• 作業項目ごとのコードチャーン • タスク(など)にチェックインを関連付けてもらうのが前提です • 各機能の開発収束度なんかを予想できます 2011/11/04 31
  • 32. 作業、ワークフローの管理• いろいろ関連を持たせた例 ユーザー ストーリー タスク ユーザー ユーザー 機能名 ストーリー 親 子 ユーザー ユーザー ストーリー タスク レビュー ストーリー (画面名) (要件) (要件) ストーリー 子 タスク (要件) (要件) ユーザー ユーザー 親 ストーリー ストーリー 親 作業 (要件) (要件) 親 ソース 管理 子 ユーザー ユーザー テスト ソースコード ストーリー ストーリー 子 ケース 子 (作業結果) (要件) (要件) バグ ユーザー ユーザー 親 子 ユーザー テストケース ストーリー ストーリー ユーザー (テスト項目) (要件) ストーリー ストーリー (要件) バグ (要件) (要件) 親 2011/11/04 32
  • 33. レビュー依頼はタスクの起票• 運用ルール • タイトルの先頭に例えば「PGレビュー)」をつけたタスク作業項目を作成 • 作業項目クエリで上記に該当する作業項目を取得 • 上から順番にやっつけていく!とレビュー完了♪ 2011/11/04 33
  • 34. メールでどんどん通知• 自分に関係しそうな作業項目が登録されたらメールで通知 • フィルタリングはTFS Power Toolsを使うときめ細やかにできます 2011/11/04 34
  • 35. クロージング 大事なこと ・ TFSに使われないこと ・ 折り合いをつける努力をすること ・ 関係者にはよく説明すること ・ 自身のチームにはなぜそうしなければいけないかをよく説明すること 期待すること ・ ウォーターフォールを例に諸問題を乗り越えてみました ・ 皆さん自身の開発プロセスに置き換えられることも多いはずです2011/11/04 35
  • 36. まとめ~大事なのでもう一度~ ウォーターフォールでやるならば ・ 既存の慣習やプロセスをできるだけ乱さない ・ 相手が求める資料の本質を探る ・ 必要なデータはきちんと渡す TFSを使うならば ・ TFSの機能をちゃんと知る ・ TFSに合わせて開発プロセスを変更しない ・ TFSの都合のいい部分を都合よく使う2011/11/04 36
  • 37. Fin2011/11/04 37