- p.1
Developers Summit 2010
長沢 智治
マイクロソフト株式会社
エバンジェリスト
18-D-2
アジリティを向上させる
開発ツールの進化
Visual Studio 2010 の場合。
- p.2
Developers Summit 2010
2010.03.19 Friday
AgileDay 2
開催決定!
主催: マイクロソフト株式会社
場所: 東京・新宿 マイクロソフト新宿オフィス
参加費: 無償 ※事前登録制
詳細は、以下でお知らせ!
http://www.microsoft.com/japan/powerpro/developer/agile/
Please Save the Date
1月22日 第1回の模様
- p.3
Developers Summit 2010
自己紹介
▪ 長沢 智治(Tomoharu Nagasawa)
▪ マイクロソフトのエバンジェリスト
▪ 以前: プリンシパル コンサルタント、ソリューション アーキテクトなど
▪ 情報発信
▪ ブログ: http://blogs.itmedia.co.jp/nagap
▪ ブログ: http://blogs.msdn.com/tomohn
▪ Twitter: http://twitter.com/tomohn
10年 「開発する側」
から
「開発を支援する側」
へ、まわって…
- p.4
Developers Summit 2010
現場は変わったのか?
▪ 皆さんの “現場” は
▪ 変わりましたか?
▪ 変われそうですか?
▪ このセッションで変われるか?
▪ No! 答えは “現場” にあります。
▪ このセッションはきっかけの一つになりたい。
- p.5
Developers Summit 2010
隔週で更新!参加団体/コミュニティ続々登場!随時受付中!
勉強会の周知
“アジャイル” の
適正な理解
開発者の元気
交流の促進
すくすくスクラム NPO法人 ドットNET分散開発
ソフトピア・センター
http://www.microsoft.com/japan/powerpro/developer/agile
活動の可視化
すくすくスクラム瀬戸内 Agile Japan 日本 XP ユーザグループ
マイクロソフトのアジャイル開発支援
- p.6
Developers Summit 2010
本日の内容
マイクロソフトと
アジャイル開発
進化した
Visual Studio 2010
同期安定化プロセス
バリューアップ
Microsoft
Solutions Framework
Agile Ready
ALM Modernization
- p.7
Developers Summit 2010
本日のささやかな(?)予告
▪ 前半: 事例紹介
▪ マイクロソフト本社でのアジャイル開発実
践事例のポイントを紹介
▪ 後半: デモ中心
▪ デモ: Visual Studio 2010 の世界観
▪ Visual Studio 2010 on Windows
▪ Eclipse on Mac OS X
- p.8
Developers Summit 2010
マイクロソフトと
アジャイル開発
- p.9
Developers Summit 2010
市場から求められるもの
適正納期
適正品質
複雑化
システム&チーム
利害関係者の増加 安定性
セキュリティ
・・・
市場への適正対応
コミットメント
・・・
- p.10
Developers Summit 2010
マイクロソフトの開発
独自の
“アジャイルな” 開発文化
デイリービルド
開発者&テスターのペア
コード コンプリート
同期安定化プロセス 市場ニーズ
ムリ
ムダムラ
アジャイル
プラクティス
Scrum
FDD
XP
アジャイルな
開発スタイル
全体を通した
透明性の維持
Get Clean, Stay Clean
- p.11
Developers Summit 2010
アジリティを向上させるために
バリューアップを実践するためのポイント
トップダウン
ボトムアップ
製品戦略
計画
実績
やり方
作業
機能
V.S.
バリューアップ でアジリティを向上
最適化された意思共有の階層構造 Work Down から Value Up へ
- p.12
Developers Summit 2010
バリューアップとは
価値を基準にした組織運営、意思決定
価値 = 投資収益率、信頼関係、透明性、
個人力、責任の共有、状況に応じた戦略
タスク達成率ではなく、価値を測定
アジャイル プロジェクト マネージメント宣言
「相互依存宣言(Declaration of Interdependence)」
http://www.pmdoi.org/
- p.13
Developers Summit 2010
マイクロソフトが実践したこと
Visual Studio 開発部門 | 新規開発を完全中断して目指したこと
品質 という
“価値”
を可視化
End to End の透明性
“Done Done” の定義と徹底
統制のとれた Product Backlog
小規模チーム: Feature Crew
開発者による見積もりと報告義務
段階的なチェックポイントのコミット
品質チェック機構: Quality Gate
必要最小限のルールの徹底と
統制可能な規模での自由を保障
文化の改革、意識の改革
Code
Complete
Feature
Complete
- p.14
Developers Summit 2010
プロダクト バックログ
End to End で利害関係者に透明性を提供する階層構造を定義
Main objectives
Value
proposition
Experiences
Feature
Scenario
Value
prop
Value
prop
exp exp exp
Feature Feature Feature Feature
9
100
300
1,200
計画
実行
- p.15
Developers Summit 2010
マイクロソフト製品での階層構造
Theme
Scenario
Improvement
Task
Re-engineer Processes
Marketing
Feature
Spec
Feature
Crew
Task
Continue What we’ve been doing
Pillar
Scenario
Feature
Task
Consolidate processes
Microsoft Process Template(MPT)
として、オープンソースで公開中
- p.16
Developers Summit 2010
開発プロジェクトの課題
オールインワン 開発インフラストラクチャの必要性
▪ 地味なコスト
▪ 個々のやり方/ツール習熟
▪ ツール間のデータ連携
▪ 手動操作の凡ミスや、ストレス
▪ 導入/管理の手間ひま、フォローの遅れ
ポータル タスク
バグ ソース管理 ビルド レポート
求められ
る機能/ツ
ール
マネージャ チームメンバー
- p.17
Developers Summit 2010
Team Foundation Server (TFS)
オールインワン 開発インフラストラクチャ
ポータル タスク
バグ ソース管理 ビルド レポート
ユーザーストーリー
Feature
タスク
バグ
作業項目管理 ソース管理
ビルド管理
プロジェクト ポータル
開発プロセス
メトリックス / レポート
個別ツ
ール
マネージャ チームメンバー
- p.18
Developers Summit 2010
マイクロソフトにおける TFS 実績
- p.19
Developers Summit 2010
マイクロソフトにおける TFS 実績
2つの主要な利用目的>
1.Dogfood *
2.製品開発
Raw データ >
..31 TFS インスタンス
..VS 2008 in use since ‘05
..VS 2010 in use since ‘07
* Dogfood: n. [Micr osoft, Netscape] In ter im sof tw are u sed intern ally for testin g. "To eat one's ow n
dog food“… means to use the sof tware on e is dev elo ping, as p ar t of on e's ev ery day developm en t
env iron ment… D ev elopers… u sin g their own s oftwar e will quickly learn w hat's m issing or br oken.
ユーザー
数
プロジェ
クト数 作業項目数 ソース
ファイル数 ビルド数
VS 2008 17,131 3,717 4,168,931 65,423,362 896,789
VS 2010 1,103 19 242,769 114,253 2,622
合計 18,234 3,736 4,411,700 65,537,615 899,411
- p.20
Developers Summit 2010
Visual Studio 開発部門
▪ マイクロソフトでの大きな実例
現在のユーザー数 3,586
作業項目数 716,858
作業項目のバージョン数 5,752,885
ソースファイル数 23,681,882
ビルド数 2,010/月
17 TB
以上のデータ
2009年
10月現在
- p.21
Developers Summit 2010
開発基盤で提供・サポート
Team Foundation Server で分散開発、複数チームを統率
Main
objectives
Value
proposition
Experiences
Feature
Scenario
Value
prop
Value
prop
exp exp exp
feat feat feat feat
計画実行
Value Proposition
Experience
Feature
Task
Bug
- p.22
Developers Summit 2010
Feature Crew = プロジェクト
小規模なチームを構成し、自由を許容し、アジャイルを実践
PM DEV TEST
Feature
#001
Feature
#002
Feature
#003
XP
Modified
Agile
WF
物理的な組織
バーチャル チーム = 『Feature Crew』『Feature Crew』: Feature の完成に責任を持つチーム = プロジェクト
- p.23
Developers Summit 2010
チームのライフサイクル
短期間で、成果を共有、確かな品質とアジリティを向上
Product Unit ブランチ
Feature ブランチ
Quality
Gate
Check Point
#1
Check Point
#2
Iteration #2Iteration #1
3 ~ 6 週間
- p.24
Developers Summit 2010
チームの見積もりを元に最適化
リスクを考慮し、常にアジリティの高い意思決定を継続する
重要な Feature
を上位に押し上げ
Yellow/Red を見
極め、減らす
Cut-line を
見極める
- p.25
Developers Summit 2010
段階的な期日のコミット
短期ゴール設定とより精度の高い見積もりでアジリティを向上
開始時
コミット
見積り
見積り
CP#1
コミット
再見積り
CP#2
コミット
Feature ブランチ
Check Point
#1
Check Point
#2
実施計画レビュー
どのように計画し
たのかを説明
実施内容レビュー
何を実施したのか
を説明
Feature のデモ
Check Point (CP):
• マネージャとの
レビュー/フィードバック/意思決定の機会
- p.26
Developers Summit 2010
簡素な責務を果し、昇華する
最小限の報告義務で、最大限の透明性を確保
Task
Task
Task
各 Feature の進捗
Product Unit の進捗
ビジネスの進捗
Feature 単位での報告義務
(タスク レベルは Team の方針による)
- p.27
Developers Summit 2010
品質という “価値” を向上
Quality Gate により、共通の品質基準で、”価値”を計測
Quality
Gate
セキュリティ計画
静的コード分析
コード カバレッジ
パフォーマンスの後退がない
ローカライゼーション テスト
API レビュー
すべてのバグ フィックス
- p.28
Developers Summit 2010
レポートの作成は、不要
Team Foundation Server により、レポートは即時、自動作成
Value Prop
Value Prop から
Experiences
Experience から
Features
Feature 詳細
価値を高める堅実で、正しい開発を行えば、透明性は自ずと確保できる
透明性は、組織、チーム、個人の価値になる
- p.29
Developers Summit 2010
課題と改善の実績(概要)
M1
M3 開発作業
M3.1
M3.3 再開発作業
Beta1 統合作業、そして祈り
Beta2 地獄のようなテスト
RC 0 ~ n 回の最終ビルド
RTM 出荷!
M0 リリース計画とコストの見積もり
過去の製品開発サイクル
3 ~ 4 年
Planning プロダクト バックログ
MQ プラクティスの改善、
次期バージョンへの準備
M0 リリースの目的と顧客価値の設定
Beta1 広範囲なユーザーへのお披
露目とフィードバック
Beta2 ユーザーと共に変更点を確
認、フィードバック
RC 0 ~ n 回の最終ビルド
RTM 出荷!
CTP 主要利用シナリオの
ユーザーによるフィードバック
開発とテスト作業
現在の製品開発サイクル
2年以内
ムリ ムダ ムラ
- p.30
Developers Summit 2010
マイクロソフトが得た成果
“Whidbey” = Visual Studio 2005 “Orcas” = Visual Studio 2008
Whidbey Beta 1
Product bugs only
Orcas Beta 1 stats
ALL bug debt
“負債”を10分の1に削減
最小限の延期
2倍のスケジュール改善
高い予測可能性
顧客満足度の大幅な向上
- p.31
Developers Summit 2010
マイクロソフトが得た
国内 での成果
MSN Japan - http://jp.msn.com
開発主体: 日本
・開発ベンダー: 複数社
・オフショア: 複数国
縦割り構造の
プロジェクト
個別最適な
リソース活用
困難な
ゴールの設定
垣根を越えた
協力体制
リソースの
最適化
明確なゴール
と意識統一
特徴的な成果の例: コードレビューの効率化 リリース ビルドの効率化
シェルブにより対象
の選択と共有に効果
毎 15 分
毎 1 分未満
85%
削減
ビルド
自動化の
効果
毎 28 分
毎 4 分
- p.32
Developers Summit 2010
そして
Visual Studio 2010 へ…
- p.33
Developers Summit 2010
進化した
Visual Studio 2010
- p.34
Developers Summit 2010
お願い
本セッションの内容は、現在開発中の製品について取り扱っていま
す。内容は、予告なく変更される場合があることをあらかじめご了承く
ださい。
また、本セッションでは、内容を簡潔かつ、効果的にお伝えするため
、詳細な情報には触れず簡略化しております。
今後の動向、詳細な情報については、『情報リソース』でご紹介する
各種の情報をご覧ください。
- p.35
Developers Summit 2010
Visual Studio の進化
Agile Ready | Team System は ″標準″ へ
単体テスト/リファクタリング
自動ビルド
その他
テスト駆動開発
継続的インテグレーション
その他
アジャイル計画ツール
テスト駆動開発++
継続的インテグレーション++
その他
Visual Studio 開発部門もアジャイル開
発を実践 & Dog Fooding
- p.36
Developers Summit 2010
Visual Studio 2010 製品構成
設計から導入まで、アプリケーション
ライフサイクルすべての工程に対応
多様なアプリケーション開発を
実現するために必要な基本機能を提供
高い品質と生産性を維持しながら
開発するために必要な機能を搭載
すべてのエディションで Agile Ready!
UML アーキテクチャー
の可視化
コードカバレッジ コード メトリックス
単体テスト リファクタリング
※ 機能は一例です。上位のエディションには下位のエディションのすべての機能が含まれます。
- p.37
Developers Summit 2010
Visual Studio 2010 製品構成
テストの計画から追跡までテストプロセスを
カバーする専用ツール
チーム開発包括的に支援するオールインワ
ン チーム開発基盤
テスト環境を仮想環境として作成し、包括管
理、より高度な効率化と再現性を実現
Team Foundation Server ベースで、より高い Agile Ready!
ストーリー駆動 テスト工程の効率化
仮想化技術 テスト アジリティ
Scrum ベース フル カスタマイズ
※ 機能は一例です。
- p.38
Developers Summit 2010
アジャイル
Agile
Scrum XPFDD Others
TDD
BDD
CI
Burn-down
Refactor
Stand Ups
Product
Backlog
Sprint
Backlog
Domain Model
Feature Team
Pairwise
Programming
Agile is a
movement…
represented by a
set of
methodologies…
comprised of a
set a best
practices.
- p.39
Developers Summit 2010
プラクティスとツール
出典: Kent Beck, Tool for Agility, June 2008
Visual Studio は、直接的な機能、多くの機能の組み合わせで、
さまざまなプラクティスの実践、効率化をサポート
『Tool for Agility』 by Kent Beck より
- p.40
Developers Summit 2010
今度の予測
『Tool for Agility』 by Kent Beck
出典: Kent Beck, Tool for Agility, June 2008
作業間のスムーズな移行
自動テストの対象の拡大
透明性
リアルタイムの共同作業
今後のツール活用への期待
- p.41
Developers Summit 2010
Visual Studio 2010 で実現
Create the
Product
Backlog
Plan the
Iteration
Drive
Quality
Continuously
Refactor
Existing
Architecture
Unit Test
the Code
Use
Integrated
Test Tools
Track
the Iteration
- p.42
Developers Summit 2010
The “Done” Sweet Spot
ソース管理
ビルド
レイヤー検証
デプロイ
テスト実施
バグ・タスク
チェックイン
テスト可能な
ビルド
ストーリー
イテレーション
プロダクト
自動化、効率化
徹底
知る、認知
“Done”
- p.43
Developers Summit 2010
MSF for Agile 5.0
▪ Scrum
▪ Engineering Practices
▪ Artifacts
▪ Roles
▪ Meetings
Microsoft Solutions Framework for Agile Software Development 5.0
英語: http://msdn.microsoft.com/en-us/library/dd380647(VS.100).aspx
日本語: http://msdn.microsoft.com/ja-jp /library/dd380647(VS.100).aspx
MSF for Agile 5.0 のガイダンスをベースに
したプロセスが実装済み
⇒ そのまま、即利用、プロジェクトで活用
⇒ カスタマイズし、プロジェクトで活用
- p.44
Developers Summit 2010
Product Backlog Workbook
プロダクト バックログ
ユーザー ストーリー ユーザー ストーリー タスク
イテレーション バックログ
Commit
!
Commit
!
3
3
3
Can’t
Commit
!
キャパシティ
イテレーション プラン
- p.45
Developers Summit 2010
Iteration Backlog Workbook
イテレーション バックログ
- p.46
Developers Summit 2010
Track Progress
- p.47
Developers Summit 2010
テスト影響分析
より適切な開発者テストを効果的に
コード変更によるテストへの影響を分析、通知
影響を受けたテスト 変更コード
即テスト実行
- p.48
Developers Summit 2010
IntelliTrace
デバッグ情報の記録、再生、巻き戻し
- p.49
Developers Summit 2010
アーキテクチャ 設計と検証
レイヤー ダイアグラム と UML
アーキテクチャ エクスプローラー
“Done” を実践、効率化する多くの機能を提供
- p.50
Developers Summit 2010
単体テストとテスト駆動開発
テスト記述
テスト実施
コード記述
テスト実施
リファクタリング
※ TDD をサポートする各種機能は、Visual Studio 2008 から搭載
“Done” を実践、効率化する多くの機能を提供
- p.51
Developers Summit 2010
継続的インテグレーション
Gated Check-in (ゲート チェックイン)
チェックイン前に結合し、ビルド、BVTを実施、
OK 時のみチェックイン
※ 継続的インテグレーションは、Visual Studio 2008 から標準機能として搭載
“Done” を実践、効率化する多くの機能を提供
- p.52
Developers Summit 2010
テスト管理とテスト効率化
“Done” を実践、効率化する多くの機能を提供
- p.53
Developers Summit 2010
Demo
計画
TFS を用いた
アジャイル計画
アーキテクチャ
エクスプローラー
と UML
アーキテクチャ
把握
タスク出し
タスク認識
テスト駆動開発
TFS によるタスク
の取り扱い
継続的インテグ
レーション
テスト
の効率化
単体テスト機能
リファクタリング、
メトリックスなど
TFS の進化した
ビルド機能
包括的なテスト管理と
手動テストの革新
Visual Studio 2010 Ultimate + Team Foundation Server 2010 で行うアジャイル開発
すべて、デフォルト設定でデモンストレーションいたします。
※ カスタマイズすることで、最も馴染む環境にすることができます。
- p.54
Developers Summit 2010
Visual Studio+オープン ソース
TFS Sticky Buddy
http:// tfsstickybuddy.codeplex.com
Scrum Planning Poker
http://scrumpoker.codeplex.com/
Team Build Screen Saver
http://teambuildscreensaver.codeplex.com
- p.55
Developers Summit 2010
本日のまとめ
▪ マイクロソフトは、継続してアジリティの
高いプラットフォームの開発に取り組みま
す。
▪ 進化した Visual Studio 2010 は、その英
知を皆様にお届けする開発プラットフォー
ムです。
Agile Ready! Are You Ready?
すべての機能を今すぐ試せます
Visual Studio 2010 Beta2 日本語版
詳細は、次のページ
- p.56
Developers Summit 2010
情報リソース
http://www.microsoft.com/japan/visual
studio/products/2010/default.mspx
Visual Studio 2010
β2 無償ダウンロードにて公開中!
※ 最上位エディションをお試しいただけます。
- p.57
Developers Summit 2010
情報リソース
http://www.microsoft.com/japan/msdn/vstudio/2010/overview/
Visual Studio 2010 概要
魅力を動画を交えて解説!
- p.58
Developers Summit 2010
情報リソース
http://www.microsoft.com/japan/powerpro/developer/agile/
マイクロソフトのアジャイル開発支援サイト
団体・コミュニティの
情報発信と共有支援
コラム、勉強会開催レポート、勉強会ビデオ・スト
リーミング、勉強会開催告知などを掲載中
- p.59
Developers Summit 2010
情報リソース
http://download.microsoft.com/downlo
ad/5/1/8/518c15f0-ca42-429d-93c6-
b5890183a979/Tools_for_Agility_white
_paper_by_Kent_Beck.pdf
アジリティ(俊敏性)向上のためのツール
Kent Beck 著
http://bit.ly/16Ig1j
- p.60
Developers Summit 2010
情報リソース
Visual Studio Team Systemで実践する
ソフトウェアエンジニアリング
成功する開発プロジェクト運営のために
著者
Sam Guckenheimer
Juan J. Perez
- p.61
Developers Summit 2010
2010.03.19 Friday
AgileDay 2
開催決定!
主催: マイクロソフト株式会社
場所: 東京・新宿 マイクロソフト新宿オフィス
参加費: 無償 ※事前登録制
詳細は、以下でお知らせ!
http://www.microsoft.com/japan/powerpro/developer/agile/
Please Save the Date
1月22日 第1回の模様
- p.62
Developers Summit 2010
お問合せ先
▪ マイクロソフト株式会社
エバンジェリスト
長沢 智治 (ながさわ ともはる)
▪ tomohn@microsoft.com
▪ http://blogs.msdn.com/tomohn
▪ http://blogs.itmedia.co.jp/nagap
▪ http://twitter.com/tomohn (@tomohn)
- p.63
Developers Summit 2010
ご清聴、まことにありがとうございました。