team foundation server ~ 今を生きるエンジニアのための開発基盤とは 【bpstudy...
DESCRIPTION
2012年11月30日に開催された BPStudy #63 での講演資料です。TRANSCRIPT
Team Foundation Server 今を生きるエンジニアのための 開発基盤とは
Team Foundation Server
ソフトウェア 開発の 複雑さ への対応
ソフトウェア開発の複雑さへの対応
ソフトウェア開発の複雑さへの対応
リポジトリが散財 情報が人が選別/関連付け
リポジトリを集中 正しい情報を正しく更新 関連付けられた情報にアクセス
要件の 優先順位
動くソフトウェア の検証とフィードバック
ビルド
TFS as a Continuous Value Delivery Platform
本業に注力し、ビジネス価値へ
TFS as a Continuous Value Delivery Platform
Team Foundation Server
TFS により、シンプルに結束
TFS as a Continuous Value Delivery Platform
バグ/障害/課題の トラッキング タスク管理
自動ビルド/ ビルド管理 要件/要求管理 テストケース管理
プロセスの制御/ 自動化 プロジェクト メトリクス
プロジェクト ダッシュボード As You Like
TFS のカバー領域
TFS as a Continuous Value Delivery Platform
TFS によるトレーサビリティと可視化
要件の単位で 作業見積もりと実績 テスト計画と実績 バグの実態 (=品質) を自動的に可視化
今を生きるエンジニアが 意識しなければいけないこと
outlook
見えていますか?あなたの現場
見えていますか?あなたの現場
あなたのチーム
あなたの関係者
あなたのエンドユーザー
あなたのエンドユーザー のビジネス
Visual Studio の規模感
あなたのチーム
あなたの関係者
あなたのエンドユーザー
あなたのエンドユーザー のビジネス
Visual Studio 開発部門のプロダクトバックログ
Main Objectives
ビジネスにとって何が必要か?
Value Propositions
何が実現できたら 採用したくなるかのシナリオ
Feature Groups
何によってシナリオを 実現するか?
Features
ユーザーストーリー
9
100
300
1,200 Tasks
個々のタスク
Change Sets
コードの変更
計画
実行
PM部門 Dev部門 Test部門
Physical Group
Visual Studio 開発部門の Scrum of Scrum
計画
実行
チーム (6±3)
プログラム マネージャー
開発者
テスト 開発者
Virtu
al Te
am
Scrum
Kanban
XP
Waterfall
Visual Studio 開発部門のプロジェクト運営
計画の段階的なコミット
Start CP #1 CP #2 実施計画 レビュー
Feature デモ実施
コミット 見積もり
コミット
End マージ済み リリース可能
見積もり
再見積もり
コミット
CP #1
CP #2
定期的なリスクの共有
予定通り
リスクを伴う
想定外 (間に合わない)
Visual Studio 開発部門のプロジェクト運営
作業見積もりの徹底
チームの責務
コードの完成で見積もる
Feature の完成で見積もる
= 品質を前倒しで作りこむ
開発者: 自動ユニットテストの作成と実施
テスト開発者: Feature レベルのテストの作成と実施 シナリオ レベルは可能な限りで OK 必要なテスト自動化ツールの開発
透明性は開発者自らが勝ち得るものである
『アジリティを向上させるツール』 Tools for Agility by Kent Beck
http://bit.ly/16Ig1j
透明性 チームに信頼を提供するために開発者自らが 選択するもの
透明性のあるチームは、共有した目標を達成 できる
俊敏性
透明性
顧客と開発者により多くのフィードバックを提供
ソフトウェア開発の価値を向上させ、顧客のビジネス価値に貢献する
Visual Studio 開発部門のプロジェクト運営
品質ゲートの徹底
多段階品質ゲート (テスト自動化)
CP #1 CP #2
Unit Branch
Feature Branch
Main:
夜間テスト、全自動テスト
Unit Branch:
夜間テスト、全自動テスト (マージ前必須)
統合テスト、探索的テスト、負荷テスト
Feature Branch: 探索的テスト、自動テストの作成と実施 夜間テスト
品質ゲート
BVT
今必要なツール支援はここだ!
『アジリティを向上させるツール』 Tools for Agility by Kent Beck
http://bit.ly/16Ig1j
作業間の スムーズな移行
※ 2008年執筆時点での今後のツール支援の予測より
リアルタイムの 共同作業
透明性の 確保と維持
自動テストの 対象範囲の拡大
Visual Studio 開発部門の透明性
計画 実行
自己組織されたチーム運営と信頼
アジリティのあるプロダクト運営 必要最小限のレポート (↑) 義務 チームに多くの権限を委譲 責務の明確化 俯瞰した意思決定の促進 適切なフォローとプロダクトの優先順位決め 常に出荷可能な情報とプロダクトを準備
Visual Studio 開発部門の成果
Visual Studio 2005 Beta 1 Debt
Visual Studio 2008 Beta 1 Debt
“技術的負債”を10分の1に削減 最小限の延期 2倍のスケジュール改善 高い予測可能性 顧客満足度の大幅な向上
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活用ユーザー数 データ量
今を生きるエンジニアよ! これが、真の開発環境だ!
Demo: Recap
要件の 優先順位
動くソフトウェア ビルド
動くソフトウェア の検証とフィードバック
ビルド
タスク
変更セット
各ファイルの変更履歴
テストケース バグ
バージョン管理/構成管理
作業項目 追跡/管理
自動ビルド テスト環境管理
要件管理
プロジェクト 管理
テスト管理
Flow Solutions + Traceability 戦略的な開発基盤
Demo: Recap
TFS as a open ALM Platform 最新のプラクティスを支えるエンジニアリング基盤
実測駆動な開発プロセスとプラクティス
持続可能かつ、高度な透明性と自動化
継続的デリバリー
ビジネス 価値提案
共同所有された 動くソフトウェア プロダクト
バックログ
運用
バックログ
トリアージ グルーミング
状況分析 開発/テスト
コードレビュー チェックイン
自動ビルド 自動検証
テスト環境 構築/配置
テスト実施 バグ起票
構成変更 デプロイ
フィードバック ループ と 品質の早期作りこみ
Demo: Recap
継続的デリバリーを支えるエンジニアリング基盤
Developer Camp | 2012 Japan Fall
プロセス ポリシー 作業項目 ソースコード ビルド テスト環境 ダッシュボード レポート
Team Foundation Server
P
ビジネス 価値提案
共同所有された 動くソフトウェア プロダクト
バックログ
運用
バックログ
トリアージ グルーミング
状況分析 開発/テスト
コードレビュー チェックイン
自動ビルド 自動検証
テスト環境 構築/配置
テスト実施 バグ起票
構成変更 デプロイ
ムダ取り | サイクルタイムの短縮 | 透明性と結束
継続的フィードバック | 継続的品質 | 継続的デリバリー
Define アイディアの創発
Develop アイディアを 動くソフトウェアに
Measure 実施可能な知見 検査と適応
Operate 動くソフトウェアの運用 ビジネス価値の実現
運用 開発
プロダクトバックログ
共同所有された 動くソフトウェア
ビジネス 価値提案
運用バックログ
戦略的な開発基盤の条件
常に改善できる基盤である 無理のない習熟曲線 繰り返し、成長可能 人や、ツールに極力左右されない開発基盤
価値の流れに自然な活動ができる エンジニアの行動に沿う開発基盤
リポジトリ サイロに陥らない(追跡可能性の確保) クリエイティブな開発業務に専念できる 正しい情報に基づき、正しいやり方で正しいモノづくり
Speaker
長沢 智治 日本マイクロソフト エバンジェリスト
Scrum Alliance 認定 スクラムマスター
10年以上にわたるソフトウェア開発プロセスの経験
開発支援ツール ベンダーを 3社経験
職歴: ソフトウェア エンジニアリング スペシャリスト / プリンシパル コンサルタント / ソリューション アーキテクト