6. AGENDA
1. Team Foundation Serverとは
2. Team Foundation Serviceとは
3. Team Foundation Serviceの特徴
4. TFSの機能詳細(VCS)
5. TFSの機能詳細(自働ビルド&テスト)
6. TFSの機能詳細(作業項目トラッキング)
7. TFServiceのデモ
8. TFSとALM
Team Foundation Service 入門 6
15. 3. TFServiceの特徴 (1/7)
• 価格 (1/3)
でもお高いんでしょう?
Webサービスの利用料はおいくらまんえん?
• PRICING information
• http://tfs.visualstudio.com/en-
us/pricing/information
Team Foundation Service 入門 15
16. 3. TFServiceの特徴 (2/7)
• 価格 (2/3)
無料プラン、あります。
• 5ユーザーまで
• 作成可能なプロジェクト数は無制限
• VCS(TFVC or git)
• 作業項目トラッキング
• アジャイルな計画ツール
• フィードバック管理
• 自動ビルド(Preview版)
• テスト管理(Preview版)
Team Foundation Service 入門 16
17. 3. TFServiceの特徴 (3/7)
• 価格 (3/3)
有料プランは?
• 他のプランについては2013年中にアナウンス予定。
• 上位のMSDNサブスクリプション利用者は有料プ
ランが追加料金なしで利用可能となる。
• Visual Studio Ultimate with MSDN
• Visual Studio Premium with MSDN
• Visual Studio Test Professional with MSDN
Team Foundation Service 入門 17
18. 3. TFServiceの特徴 (4/7)
• 利用可能な開発環境 (1/3)
Microsoftから無償提供されているもの
• Visual Studio Express 2012
• for Windows 8
• for Windows Desktop
• for Windows Phone 8
• for Web
Team Foundation Service 入門 18
19. 3. TFServiceの特徴 (5/7)
• 利用可能な開発環境 (2/3)
Microsoftから購入できるもの
• Visual Studio 2010 / 2012
• Ultimate
• Premium
• Professional
Team Foundation Service 入門 19
20. 3. TFServiceの特徴 (6/7)
• 利用可能な開発環境 (3/3)
Microsoft以外のプラットフォーム
• Eclipse
• Microsoft Team Explorer Everywhereプラグイ
ンが必要
• Xcode (MacOSX)
• 任意のgitクライアント
• TFServiceのプロジェクトのVCS選択がgitリポジトリで
ある必要あり
Team Foundation Service 入門 20
21. 3. TFServiceの特徴 (7/7)
• Webサービスなので・・・
• サーバー管理は不要。
• 常にサービス内容がバージョンアップされている。
TFServerに実装される新機能(例:gitリポジ
トリ)がいち早く利用可能となる。
• UIは全て英語となっている。
• 日本語版のVisualStudio上からなら日本語UI
で操作は可能。ブラウザ上は英語のみ。
Team Foundation Service 入門 21
23. 4. TFSの機能詳細(VCS) (1/4)
• 先程も紹介したTFSで出来る事は・・・
1. バージョン管理システム(VCS)
2. 自動ビルド&テスト(CI)
3. 作業項目トラッキング
• TFSでは3つの機能がシームレスに連携で
きるように実装されているのが魅力。
Team Foundation Service 入門 23
24. 4. TFSの機能詳細(VCS) (2/4)
• TFSではVisualSourceSafe(VSS)から
の使い方の延長として、VCS機能のみを使
うという使い方も可能。TFServiceでこの
使い方をすると、GitHubやBitBucket的
な使い方になりますね。
• 3つの機能について個々に詳しく見てみま
しょう。
Team Foundation Service 入門 24
25. 4. TFSの機能詳細(VCS) (3/4)
1.VCS機能 (1/2)
TFSでは2つのVCSが選択可能
1. Team Foundation Version Control
2. git
• gitの使い方については@nakajiさんにお任
せ!
Team Foundation Service 入門 25
26. 4. TFSの機能詳細(VCS) (4/4)
1.VCS機能 (2/2)
1. Team Foundation Version Control
• 中央リポジトリ型
• チェックイン/チェックアウト
• VSSの時からcommitではない!
• シェルブ(shelve)機能
• shelve:棚上げする、隠す
• チェックイン前の状態の作業保存機能
Team Foundation Service 入門 26
28. 5. TFSの機能詳細(自動ビルド&テスト機能) (1/5)
• なぜ自動化するのか? (1/2)
• トヨタ生産方式(TPS)に由来します。TPSで
は特に「にんべんの付いた自働化」と言われま
す。
• 明治~大正時代において織機は各器械毎に
人間が張り付いて異常がないか見張っていて、
異常時には停止されるまで器械は動き続けて
しまい大量の不良品を作ってしまっていました。
Team Foundation Service 入門 28
29. 5. TFSの機能詳細(自動ビルド&テスト機能) (2/5)
• なぜ自動化するのか? (2/2)
• 豊田佐吉により発明された豊田自動織機は、
問題が発生すると自動的に停止する仕組み
を持っており、これにより1人で複数台の織機
を運用できるようになり、生産性が格段に上が
りました。
• 自働化の目的は、問題を早期に見つけて修
正する事と、省人化にあります。
Team Foundation Service 入門 29
30. 5. TFSの機能詳細(自動ビルド&テスト機能) (3/5)
• 自動テスト機能を利用するには、
VisualStudio Test Professionalが必
要。パッケージ購入で定価約26万円。な
ので説明は割愛!
• 自動ビルド機能は、一般的にはJenkins
が有名ですが、CI(継続的インテグレーショ
ン)と呼ばれる機能です。
Team Foundation Service 入門 30
31. 5. TFSの機能詳細(自動ビルド&テスト機能) (4/5)
• 一般的にCIでは何らかのトリガーを受けて、
予め設定されたタスクを実行します。
• TFSのトリガーの種類
• コードのチェックイン
• 手動実行操作
• スケジュール
• NightlyBuild/DailyBuild
Team Foundation Service 入門 31
32. 5. TFSの機能詳細(自動ビルド&テスト機能) (5/5)
• ゲートチェックイン機能
• チェックイン内容がリポジトリに正しくマージされ、
且つマージ結果のビルドが正常に完了する場
合にのみチェックインを受け入れる機能。
• これによりリポジトリの内容は常にビルドが通る
状態となる。
Team Foundation Service 入門 32
34. 6. TFSの機能詳細(作業項目トラッキング) (1/14)
• 作業項目トラッキングの機能
1. プロセステンプレートによる管理方法の選択
2. バグトラッキング(BTS)、課題管理(ITS)
3. タスクボード(KANBAN)による状況表示
Team Foundation Service 入門 34
35. 6. TFSの機能詳細(作業項目トラッキング) (2/14)
1. プロセステンプレートの選択 (1/10)
作業管理方法は大きく3つ
1. Microsoft Visual Studio Scrum
http://msdn.microsoft.com/ja-
jp/library/vstudio/ff731587.aspx
2. MSF for Agile Software Development
http://msdn.microsoft.com/ja-
jp/library/vstudio/dd380647.aspx
3. MSF for CMMI Process Improvement
http://msdn.microsoft.com/ja-
jp/library/vstudio/dd997574.aspx
Team Foundation Service 入門 35
36. 6. TFSの機能詳細(作業項目トラッキング) (3/14)
1.プロセステンプレートの選択 (2/10)
1. Microsoft Visual Studio Scrum
(1/7)
Scrumは、 野中郁次郎・竹内弘高両氏の1986
年に発表された論文にて、企業における製品開発
のプロセスがラグビーのスクラムのようであると例えられ、
1993年にJeff Sutherland・Ken Schwabar氏
らによってScrumとして構築された開発フレームワー
ク。
Team Foundation Service 入門 36
38. 6. TFSの機能詳細(作業項目トラッキング) (5/14)
1.プロセステンプレートの選択 (4/10)
1. Microsoft Visual Studio Scrum
(3/7)
Scrumの特徴について1つ1つ話すと長くなるので
割愛!
• あまり良い資料ではありませんがこの辺の資料に詳しく書
いてあります。
• http://www.slideshare.net/youandi060219/
scrum-15316040
Team Foundation Service 入門 38
39. 6. TFSの機能詳細(作業項目トラッキング) (6/14)
1.プロセステンプレートの選択 (5/10)
1. Microsoft Visual Studio Scrum
(4/7)
いや、それが知りたい!って人は・・・、
明日来てね!
• 3/31 シマリスScrum@松山
• http://agile459.doorkeeper.jp/events/3260
お待ちしております!
Team Foundation Service 入門 39
40. 6. TFSの機能詳細(作業項目トラッキング) (7/14)
1.プロセステンプレートの選択 (6/10)
1. Microsoft Visual Studio Scrum
(5/7)
• 三つの成果物
1. プロダクトバックログ
2. スプリントバックログ
3. プロダクトインクリメント
• Scrumではプロダクトバックログを中心に物事が
回っていきます。
Team Foundation Service 入門 40
41. 6. TFSの機能詳細(作業項目トラッキング) (8/14)
1. プロセステンプレートの選択 (7/10)
1. Microsoft Visual Studio Scrum (6/7)
プロダクトバックログとは・・・
• 顧客がやりたい事をまとめたTODOリスト
• TODOの一つ一つは、PBI(ProductBacklogItem:プロ
ダクトバックログ項目)と呼ばれる。
• PBIは、ユーザーストーリー形式で書かれる事が多い。
• PBIは、優先順位付けされている。
• PBIは、作業量が見積もられている。
• PBIは、タスクに分解されてスプリントバックログに入る。
Team Foundation Service 入門 41
42. 6. TFSの機能詳細(作業項目トラッキング) (9/14)
1.プロセステンプレートの選択 (8/10)
1. Microsoft Visual Studio Scrum
(7/7)
Microsoft Visual Studio Scrumで出来る事
• プロダクトバックログ&PBI管理
• リリース管理(1リリース=3~4スプリント)
• スプリント管理
Scrumに特化したプロセステンプレート。
Team Foundation Service 入門 42
43. 6. TFSの機能詳細(作業項目トラッキング) (10/14)
1.プロセステンプレートの選択 (9/10)
2. MSF for Agile Software
Development
この管理方法で出来る事
• プロダクトバックログ&ユーザーストーリー管理
• イテレーション管理(=スプリント管理)
Microsoft Visual Studio Scrumからリリース管
理がなくなっただけな感じ。Scrumに限らずアジャイ
ル開発全般で利用可能なプロセステンプレート。
Team Foundation Service 入門 43
44. 6. TFSの機能詳細(作業項目トラッキング) (11/14)
1.プロセステンプレートの選択 (10/10)
3. MSF for CMMI Process
Improvement
CMMI(Capability Maturity Model
Integration):能力成熟度モデル統合
この管理方法で出来る事
• プロダクトバックログ&要件管理
• イテレーション管理(=スプリント管理)
Team Foundation Service 入門 44
45. 6. TFSの機能詳細(作業項目トラッキング) (12/14)
1.プロセステンプレートの選択 (11/11)
どのプロセステンプレートを選んでも、バックログ、
PBI、タスクという管理方法は変わらない。
色々と説明が長かったけど、つまりどういう事だっ
てばよ?
→Scrumやアジャイル開発を知らないと使うの
は難しいかも・・・
Team Foundation Service 入門 45
47. 6. TFSの機能詳細(作業項目トラッキング) (14/14)
3. タスクボード(KANBAN)による状況表示
プロセステンプレート毎のタスクの状態遷移
• Microsoft Visual Studio Scrum
• NEW → APPROVED → COMMITED →
DONE
• MSF for Agile Software Development
• NEW → ACTIVE → RESOLVED → CLOSED
• MSF for CMMI Process Improvement
• PROPOSED → ACTIVE → RESOLVED →
CLOSED
Team Foundation Service 入門 47
53. 8. TFSとALM (1/8)
• 最近は、DevOpsという言葉を良く耳にし
ます。
• Dev = Development
• Ops = Operations
• DevOpsとは開発部門と運用部門そして
品証部門の部門間における、コミュニケー
ション、コラボレーションの一連のメソッドやシ
ステムの事。
Team Foundation Service 入門 53
54. 8. TFSとALM (2/8)
• ソフトウェア開発する時って何を考えて開発
をしていますか?
• イソ、ガッシイ。からと言われた通りの事しか
やっていませんか?
• 作りっぱになっていませんか?
Team Foundation Service 入門 54
55. 8. TFSとALM (3/8)
• ビジネスゴールを実現する為には、部門間
の連携は必須ですね。その為には部門横
断的な事が必要になるかも知れません。
• ここで肝になるのが、意思疎通/思想の共
有だったり開発方法論で、これをツールなど
を駆使して実現します。
Team Foundation Service 入門 55
56. 8. TFSとALM (4/8)
• ALM(アプリケーションライフサイクル管理)で
は、開発・運用・品証はもちろんの事、営
業等の会社組織全体で、作ってハイ終わり
ではなく、アプリケーションについて何の為に
作るのか、それは売れるのか、誰が使うのか、
いつまで使い続けるのかを一丸となって考え
ましょうという事です。
Team Foundation Service 入門 56
57. 8. TFSとALM (5/8)
• TFSを使う事で、ALM環境を容易に構築
出来ます。
• 冒頭でも紹介しましたが、TFSはソフトウェ
アを速く、的確に構築するために必要な、
堅実なコミュニケーション、コラボレーション、
アプリケーション ライフサイクル管理のツール
です。
Team Foundation Service 入門 57
58. 8. TFSとALM (6/8)
開発者は、
• 作ろうとするソフトウェアが・・・
• 何の為に作るのか
• 誰が使うのか
• 作ったソフトウェアが・・・
• どのように使われるのか
を意識して開発する事が大事だと思います。
Team Foundation Service 入門 58
59. 8. TFSとALM (7/8)
• でも一番大事なのは、楽しく開発出来る事
ですね。
• 楽しい開発環境
• 楽しい職場
• 楽しんで開発していますか?
Team Foundation Service 入門 59