team foundation server ~ 今を生きるエンジニアのための開発基盤とは 【bpstudy...

33
Team Foundation Server 今を生きるエンジニアのための 開発基盤とは

Upload: tomoharu-nagasawa

Post on 12-Nov-2014

3.415 views

Category:

Documents


0 download

DESCRIPTION

2012年11月30日に開催された BPStudy #63 での講演資料です。

TRANSCRIPT

Page 1: Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】

Team Foundation Server 今を生きるエンジニアのための 開発基盤とは

Page 2: Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】

Team Foundation Server

Page 3: Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】

ソフトウェア 開発の 複雑さ への対応

Page 4: Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】

ソフトウェア開発の複雑さへの対応

Page 5: Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】

ソフトウェア開発の複雑さへの対応

リポジトリが散財 情報が人が選別/関連付け

リポジトリを集中 正しい情報を正しく更新 関連付けられた情報にアクセス

Page 6: Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】

要件の 優先順位

動くソフトウェア の検証とフィードバック

ビルド

TFS as a Continuous Value Delivery Platform

本業に注力し、ビジネス価値へ

Page 7: Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】

TFS as a Continuous Value Delivery Platform

Team Foundation Server

TFS により、シンプルに結束

Page 8: Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】

TFS as a Continuous Value Delivery Platform

バグ/障害/課題の トラッキング タスク管理

自動ビルド/ ビルド管理 要件/要求管理 テストケース管理

プロセスの制御/ 自動化 プロジェクト メトリクス

プロジェクト ダッシュボード As You Like

TFS のカバー領域

Page 9: Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】

TFS as a Continuous Value Delivery Platform

TFS によるトレーサビリティと可視化

要件の単位で 作業見積もりと実績 テスト計画と実績 バグの実態 (=品質) を自動的に可視化

Page 10: Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】

今を生きるエンジニアが 意識しなければいけないこと

Page 11: Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】

outlook

Page 12: Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】

見えていますか?あなたの現場

Page 13: Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】

見えていますか?あなたの現場

あなたのチーム

あなたの関係者

あなたのエンドユーザー

あなたのエンドユーザー のビジネス

Page 14: Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】

Visual Studio の規模感

あなたのチーム

あなたの関係者

あなたのエンドユーザー

あなたのエンドユーザー のビジネス

Page 15: Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】

Visual Studio 開発部門のプロダクトバックログ

Main Objectives

ビジネスにとって何が必要か?

Value Propositions

何が実現できたら 採用したくなるかのシナリオ

Feature Groups

何によってシナリオを 実現するか?

Features

ユーザーストーリー

100

300

1,200 Tasks

個々のタスク

Change Sets

コードの変更

計画

実行

Page 16: Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】

PM部門 Dev部門 Test部門

Physical Group

Visual Studio 開発部門の Scrum of Scrum

計画

実行

チーム (6±3)

プログラム マネージャー

開発者

テスト 開発者

Virtu

al Te

am

Scrum

Kanban

XP

Waterfall

Page 17: Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】

Visual Studio 開発部門のプロジェクト運営

計画の段階的なコミット

Start CP #1 CP #2 実施計画 レビュー

Feature デモ実施

コミット 見積もり

コミット

End マージ済み リリース可能

見積もり

再見積もり

コミット

CP #1

CP #2

定期的なリスクの共有

予定通り

リスクを伴う

想定外 (間に合わない)

Page 18: Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】

Visual Studio 開発部門のプロジェクト運営

作業見積もりの徹底

チームの責務

コードの完成で見積もる

Feature の完成で見積もる

= 品質を前倒しで作りこむ

開発者: 自動ユニットテストの作成と実施

テスト開発者: Feature レベルのテストの作成と実施 シナリオ レベルは可能な限りで OK 必要なテスト自動化ツールの開発

Page 19: Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】

透明性は開発者自らが勝ち得るものである

『アジリティを向上させるツール』 Tools for Agility by Kent Beck

http://bit.ly/16Ig1j

透明性 チームに信頼を提供するために開発者自らが 選択するもの

透明性のあるチームは、共有した目標を達成 できる

俊敏性

透明性

顧客と開発者により多くのフィードバックを提供

ソフトウェア開発の価値を向上させ、顧客のビジネス価値に貢献する

Page 20: Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】

Visual Studio 開発部門のプロジェクト運営

品質ゲートの徹底

多段階品質ゲート (テスト自動化)

CP #1 CP #2

Unit Branch

Feature Branch

Main:

夜間テスト、全自動テスト

Unit Branch:

夜間テスト、全自動テスト (マージ前必須)

統合テスト、探索的テスト、負荷テスト

Feature Branch: 探索的テスト、自動テストの作成と実施 夜間テスト

品質ゲート

BVT

Page 21: Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】

今必要なツール支援はここだ!

『アジリティを向上させるツール』 Tools for Agility by Kent Beck

http://bit.ly/16Ig1j

作業間の スムーズな移行

※ 2008年執筆時点での今後のツール支援の予測より

リアルタイムの 共同作業

透明性の 確保と維持

自動テストの 対象範囲の拡大

Page 22: Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】

Visual Studio 開発部門の透明性

計画 実行

自己組織されたチーム運営と信頼

アジリティのあるプロダクト運営 必要最小限のレポート (↑) 義務 チームに多くの権限を委譲 責務の明確化 俯瞰した意思決定の促進 適切なフォローとプロダクトの優先順位決め 常に出荷可能な情報とプロダクトを準備

Page 23: Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】

Visual Studio 開発部門の成果

Visual Studio 2005 Beta 1 Debt

Visual Studio 2008 Beta 1 Debt

“技術的負債”を10分の1に削減 最小限の延期 2倍のスケジュール改善 高い予測可能性 顧客満足度の大幅な向上

Page 24: Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】

Microsoft での Team Foundation Server (TFS) の活用

TFS as a Dog Food TFS の最大のユーザーは、Visual Studio 開発部門 自ら活用し、最速のフィードバックを実施し続ける Microsoft 社内で蔓延中!

http://blogs.msdn.com/b/bharry/archive/2011/06/02/team-foundation-server-dogfooding-update-may-2011.aspx

TFS ユーザー数推移 各製品のTFS活用ユーザー数 データ量

Page 25: Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】

今を生きるエンジニアよ! これが、真の開発環境だ!

Page 26: Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】

Demo: Recap

要件の 優先順位

動くソフトウェア ビルド

動くソフトウェア の検証とフィードバック

ビルド

タスク

変更セット

各ファイルの変更履歴

テストケース バグ

バージョン管理/構成管理

作業項目 追跡/管理

自動ビルド テスト環境管理

要件管理

プロジェクト 管理

テスト管理

Flow Solutions + Traceability 戦略的な開発基盤

Page 27: Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】

Demo: Recap

TFS as a open ALM Platform 最新のプラクティスを支えるエンジニアリング基盤

実測駆動な開発プロセスとプラクティス

持続可能かつ、高度な透明性と自動化

Page 28: Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】

継続的デリバリー

ビジネス 価値提案

共同所有された 動くソフトウェア プロダクト

バックログ

運用

バックログ

トリアージ グルーミング

状況分析 開発/テスト

コードレビュー チェックイン

自動ビルド 自動検証

テスト環境 構築/配置

テスト実施 バグ起票

構成変更 デプロイ

フィードバック ループ と 品質の早期作りこみ

Page 29: Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】

Demo: Recap

継続的デリバリーを支えるエンジニアリング基盤

Developer Camp | 2012 Japan Fall

プロセス ポリシー 作業項目 ソースコード ビルド テスト環境 ダッシュボード レポート

Team Foundation Server

P

ビジネス 価値提案

共同所有された 動くソフトウェア プロダクト

バックログ

運用

バックログ

トリアージ グルーミング

状況分析 開発/テスト

コードレビュー チェックイン

自動ビルド 自動検証

テスト環境 構築/配置

テスト実施 バグ起票

構成変更 デプロイ

Page 30: Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】

ムダ取り | サイクルタイムの短縮 | 透明性と結束

継続的フィードバック | 継続的品質 | 継続的デリバリー

Define アイディアの創発

Develop アイディアを 動くソフトウェアに

Measure 実施可能な知見 検査と適応

Operate 動くソフトウェアの運用 ビジネス価値の実現

運用 開発

プロダクトバックログ

共同所有された 動くソフトウェア

ビジネス 価値提案

運用バックログ

Page 31: Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】

戦略的な開発基盤の条件

常に改善できる基盤である 無理のない習熟曲線 繰り返し、成長可能 人や、ツールに極力左右されない開発基盤

価値の流れに自然な活動ができる エンジニアの行動に沿う開発基盤

リポジトリ サイロに陥らない(追跡可能性の確保) クリエイティブな開発業務に専念できる 正しい情報に基づき、正しいやり方で正しいモノづくり

Page 32: Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】

Speaker

長沢 智治 日本マイクロソフト エバンジェリスト

Scrum Alliance 認定 スクラムマスター

10年以上にわたるソフトウェア開発プロセスの経験

開発支援ツール ベンダーを 3社経験

職歴: ソフトウェア エンジニアリング スペシャリスト / プリンシパル コンサルタント / ソリューション アーキテクト

Page 33: Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】

ご清聴ありがとうございました

[email protected]

Twitter: @tomohn http://SoftwareEngineeringPlatform.com

感謝