18-D-2長沢 智治マイクロソフト株式会社エバンジェリストアジリティを向上させる開発ツールの進化Visual Studio 2010 の場合。
Please Save the Dateカジュアル イベントです。気軽に参加し、気づきと交流を!2010.03.19 FridayAgileDay2 開催決定!主催:	マイクロソフト株式会社場所:東京・新宿 マイクロソフト新宿オフィス参加費: 無償  ※事前登録制1月22日 第1回の模様詳細は、以下でお知らせ!http://www.microsoft.com/japan/powerpro/developer/agile/
自己紹介「開発する側」   から 「開発を支援する側」  へ、まわって…10年長沢 智治(TomoharuNagasawa)マイクロソフトのエバンジェリスト以前: プリンシパル コンサルタント、ソリューション アーキテクトなど情報発信ブログ:http://blogs.itmedia.co.jp/nagapブログ:http://blogs.msdn.com/tomohnTwitter: http://twitter.com/tomohn
現場は変わったのか?皆さんの “現場” は変わりましたか?変われそうですか?このセッションで変われるか?No! 答えは “現場” にあります。このセッションはきっかけの一つになりたい。
マイクロソフトのアジャイル開発支援http://www.microsoft.com/japan/powerpro/developer/agile“アジャイル” の適正な理解隔週で更新!参加団体/コミュニティ続々登場!随時受付中!勉強会の周知開発者の元気交流の促進活動の可視化すくすくスクラムNPO法人 ドットNET分散開発ソフトピア・センターAgile Japan日本 XP ユーザグループすくすくスクラム瀬戸内
本日の内容マイクロソフトとアジャイル開発進化したVisualStudio2010MicrosoftSolutionsFrameworkAgileReady同期安定化プロセスALMModernizationバリューアップ
本日のささやかな(?)予告前半: 事例紹介マイクロソフト本社でのアジャイル開発実践事例のポイントを紹介後半: デモ中心デモ:VisualStudio2010 の世界観VisualStudio2010 on WindowsEclipse on Mac OS X
マイクロソフトとアジャイル開発
市場から求められるもの複雑化システム&チーム適正納期適正品質利害関係者の増加安定性セキュリティ・・・市場への適正対応コミットメント・・・
マイクロソフトの開発独自の “アジャイルな” 開発文化アジャイルプラクティス同期安定化プロセス市場ニーズScrumデイリービルド開発者&テスターのペアFDDムリXPコード コンプリートムラムダGetClean, Stay CleanProduct BacklogDefining “Done”アジャイルな開発スタイル全体を通した透明性の維持Iteration BacklogReal SchedulingMeasurement & HardeningEngineering Principles
アジリティを向上させるためにバリューアップを実践するためのポイントトップダウン機能製品戦略作業V.S.計画やり方実績ボトムアップバリューアップでアジリティを向上WorkDown から ValueUp へ最適化された意思共有の階層構造
バリューアップとはタスク達成率ではなく、価値を測定価値を基準にした組織運営、意思決定価値 = 投資収益率、信頼関係、透明性、  個人力、責任の共有、状況に応じた戦略アジャイル プロジェクト マネージメント宣言「相互依存宣言(Declaration of Interdependence)」http://www.pmdoi.org/12
マイクロソフトが実践したことVisualStudio 開発部門 | 新規開発を完全中断して目指したことEndto End の透明性“Done Done” の定義と徹底統制のとれた ProductBacklog品質 という “価値”を可視化小規模チーム:FeatureCrew開発者による見積もりと報告義務段階的なチェックポイントのコミット品質チェック機構:QualityGate必要最小限のルールの徹底と   統制可能な規模での自由を保障文化の改革、意識の改革CodeCompleteFeatureComplete
プロダクト バックログEndto End で利害関係者に透明性を提供する階層構造を定義9MainobjectivesScenarioValuepropositionValue propValue prop100計画expexpexpExperiences300FeatureFeature実行1,200FeatureFeatureFeature
マイクロソフト製品での階層構造Continue What we’ve been doingRe-engineerProcessesMarketingFeaturePillarThemeScenarioSpecScenarioFeatureCrewImprovementFeatureConsolidate processesTaskTaskTaskMicrosoftProcessTemplate(MPT)として、オープンソースで公開中
開発プロジェクトの課題オールインワン 開発インフラストラクチャの必要性求められる機能/ツールレポートビルドタスクソース管理ポータルバグ地味なコスト個々のやり方/ツール習熟ツール間のデータ連携手動操作の凡ミスや、ストレス導入/管理の手間ひま、フォローの遅れチームメンバーマネージャ
TeamFoundationServer (TFS)オールインワン 開発インフラストラクチャ個別ツールレポートビルドタスクソース管理ポータルバグ開発プロセス作業項目管理ソース管理ユーザーストーリープロジェクト ポータルFeatureタスクバグビルド管理メトリックス / レポートマネージャチームメンバー
マイクロソフトにおける TFS 実績
マイクロソフトにおける TFS 実績Raw データ>..31 TFS インスタンス..VS 2008 in use since ‘05 ..VS 2010 in use since ‘072つの主要な利用目的>Dogfood * 製品開発* Dogfood: n. [Microsoft, Netscape] Interim software used internally for testing. "To eat one's own dogfood“…  means to use the software one is developing, as part of one's everyday development environment… Developers… using their own software will quickly learn what's missing or broken.
VisualStudio 開発部門マイクロソフトでの大きな実例2009年10月現在17 TB以上のデータ
開発基盤で提供・サポートTeamFoundationServer で分散開発、複数チームを統率Value PropositionMainobjectivesScenarioValue propValue propValueproposition計画expexpexpExperiences実行featfeatfeatfeatFeatureExperienceBugFeatureTask
FeatureCrew= プロジェクト小規模なチームを構成し、自由を許容し、アジャイルを実践『FeatureCrew』:Feature の完成に責任を持つチーム = プロジェクトPMDEVTESTFeature#001XP1人5人以下5人以下ModifiedAgileFeature#002バーチャル チーム = 『FeatureCrew』Feature#003WF物理的な組織
チームのライフサイクル短期間で、成果を共有、確かな品質とアジリティを向上Iteration#1Iteration#2ProductUnit ブランチ3 ~ 6 週間QualityGateFeature ブランチCheckPoint#2CheckPoint#1
チームの見積もりを元に最適化リスクを考慮し、常にアジリティの高い意思決定を継続する重要な Feature を上位に押し上げCut-line を見極めるYellow/Red を見極め、減らすYellow/Red Game
段階的な期日のコミット短期ゴール設定とより精度の高い見積もりでアジリティを向上開始時CP#1CP#2コミット見積りコミット見積り再見積りコミットCheckPoint (CP):マネージャとのレビュー/フィードバック/意思決定の機会Feature ブランチCheckPoint#2CheckPoint#1実施計画レビュー実施内容レビューどのように計画したのかを説明何を実施したのかを説明Feature のデモ
簡素な責務を果し、昇華する最小限の報告義務で、最大限の透明性を確保TaskTaskTask各 Feature の進捗Feature 単位での報告義務 (タスク レベルは Team の方針による)ProductUnitの進捗ビジネスの進捗
品質という “価値” を向上QualityGate により、共通の品質基準で、”価値”を計測セキュリティ計画静的コード分析QualityGateコード カバレッジパフォーマンスの後退がないローカライゼーション テストAPI レビューすべてのバグ フィックス
レポートの作成は、不要TeamFoundationServer により、レポートは即時、自動作成ValuePropValueProp からExperiencesExperience からFeaturesFeature 詳細価値を高める堅実で、正しい開発を行えば、透明性は自ずと確保できる透明性は、組織、チーム、個人の価値になる
課題と改善の実績(概要)過去の製品開発サイクル現在の製品開発サイクルプロダクト バックログPlanningM0リリース計画とコストの見積もりプラクティスの改善、次期バージョンへの準備MQM0リリースの目的と顧客価値の設定M1・・・開発作業M36week sprints開発とテスト作業M3.1・・・3 ~ 4 年2年以内再開発作業M3.3主要利用シナリオのユーザーによるフィードバックCTP広範囲なユーザーへのお披露目とフィードバックBeta1Beta1統合作業、そして祈りBeta2Beta2ユーザーと共に変更点を確認、フィードバック地獄のようなテストRCRC0 ~n 回の最終ビルド0 ~n 回の最終ビルドRTMRTM出荷!出荷!ムリムダムラ
マイクロソフトが得た成果Whidbey Beta 1Product bugs onlyOrcas Beta 1 stats ALL bug debt“負債”を10分の1に削減最小限の延期2倍のスケジュール改善高い予測可能性顧客満足度の大幅な向上“Whidbey” = Visual Studio 2005“Orcas” = Visual Studio 2008
マイクロソフトが得た 国内 での成果MSN Japan - http://jp.msn.com開発主体: 日本  ・開発ベンダー: 複数社  ・オフショア:  複数国垣根を越えた協力体制縦割り構造のプロジェクトリソースの最適化個別最適なリソース活用明確なゴールと意識統一困難なゴールの設定特徴的な成果の例:コードレビューの効率化リリース ビルドの効率化毎 28 分毎 15 分85%削減ビルド自動化の効果シェルブにより対象の選択と共有に効果毎 4 分毎 1 分未満
そしてVisualStudio2010 へ…
進化したVisualStudio2010
お願い 本セッションの内容は、現在開発中の製品について取り扱っています。内容は、予告なく変更される場合があることをあらかじめご了承ください。 また、本セッションでは、内容を簡潔かつ、効果的にお伝えするため、詳細な情報には触れず簡略化しております。 今後の動向、詳細な情報については、『情報リソース』でご紹介する各種の情報をご覧ください。
VisualStudio の進化AgileReady| Team System は ″標準″へアジャイル計画ツール
テスト駆動開発++
継続的インテグレーション++
その他
テスト駆動開発
継続的インテグレーション
その他VisualStudio 開発部門もアジャイル開発を実践 &DogFooding単体テスト/リファクタリング
自動ビルド
その他VisualStudio2010 製品構成すべてのエディションで AgileReady!設計から導入まで、アプリケーション ライフサイクルすべての工程に対応UMLアーキテクチャーの可視化高い品質と生産性を維持しながら開発するために必要な機能を搭載コードカバレッジコード メトリックス多様なアプリケーション開発を実現するために必要な基本機能を提供単体テストリファクタリング※ 機能は一例です。上位のエディションには下位のエディションのすべての機能が含まれます。
VisualStudio2010 製品構成TeamFoundationServer ベースで、より高い AgileReady!テストの計画から追跡までテストプロセスをカバーする専用ツールストーリー駆動テスト工程の効率化テスト環境を仮想環境として作成し、包括管理、より高度な効率化と再現性を実現仮想化技術テスト アジリティチーム開発包括的に支援するオールインワン チーム開発基盤Scrum ベースフル カスタマイズ※ 機能は一例です。
アジャイルAgileAgile is a movement…represented by a set of methodologies…comprised of a set a best practices.ScrumXPFDDOthersCITDDBDDStandUpsBurn-downDomain ModelProductBacklogRefactorPairwiseProgrammingSprintBacklogFeature Team
プラクティスとツール『Tool for Agility』 by Kent Beck より出典:Kent Beck, Tool for Agility, June 2008VisualStudio は、直接的な機能、多くの機能の組み合わせで、さまざまなプラクティスの実践、効率化をサポート
今度の予測『Toolfor Agility』 by Kent Beck今後のツール活用への期待作業間のスムーズな移行自動テストの対象の拡大透明性リアルタイムの共同作業出典:Kent Beck, Tool for Agility, June 2008
Visual Studio 2010 で実現Create theProduct BacklogRefactorExistingArchitecturePlan theIterationUnitTestthe CodeDrive Quality ContinuouslyUse IntegratedTest ToolsTrackthe Iteration
The “Done”SweetSpot“Done”自動化、効率化テスト可能なビルド徹底ソース管理ビルドバグ・タスク知る、認知イテレーションテスト実施レイヤー検証チェックインデプロイストーリープロダクト
MSFfor Agile 5.0Microsoft 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).aspxScrumEngineeringPracticesArtifactsRolesMeetingsMSF for Agile 5.0 のガイダンスをベースにしたプロセスが実装済み  ⇒ そのまま、即利用、プロジェクトで活用  ⇒ カスタマイズし、プロジェクトで活用
Product Backlog Workbookプロダクト バックログイテレーション バックログユーザー ストーリーユーザー ストーリータスクCommit!333Commit!Can’t Commit!キャパシティイテレーション プラン
IterationBacklog Workbookイテレーション バックログユーザー ストーリータスクCommit!Commit!Can’t Commit!
Track Progress
テスト影響分析より適切な開発者テストを効果的にコード変更によるテストへの影響を分析、通知即テスト実行影響を受けたテスト変更コード
IntelliTrace™デバッグ情報の記録、再生、巻き戻し
アーキテクチャ 設計と検証“Done” を実践、効率化する多くの機能を提供レイヤー ダイアグラム と UMLアーキテクチャ エクスプローラー
単体テストとテスト駆動開発“Done” を実践、効率化する多くの機能を提供テスト記述リファクタリングテスト実施テスト実施コード記述※TDD をサポートする各種機能は、Visual Studio 2008 から搭載
継続的インテグレーション“Done” を実践、効率化する多くの機能を提供GatedCheck-in (ゲート チェックイン)チェックイン前に結合し、ビルド、BVTを実施、OK 時のみチェックイン※ 継続的インテグレーションは、Visual Studio 2008 から標準機能として搭載
テスト管理とテスト効率化“Done” を実践、効率化する多くの機能を提供
DemoVisualStudio2010 Ultimate + Team Foundation Server 2010 で行うアジャイル開発すべて、デフォルト設定でデモンストレーションいたします。※ カスタマイズすることで、最も馴染む環境にすることができます。アーキテクチャ把握タスク出しタスク認識計画TFS を用いたアジャイル計画TFSによるタスクの取り扱いアーキテクチャエクスプローラーと UMLテスト駆動開発継続的インテグレーションテストの効率化単体テスト機能リファクタリング、メトリックスなど包括的なテスト管理と手動テストの革新TFS の進化したビルド機能
Visual Studio+オープン ソースTFS Sticky Buddy 	http:// tfsstickybuddy.codeplex.comTeam Build Screen Saver	http://teambuildscreensaver.codeplex.comScrum Planning Poker	 http://scrumpoker.codeplex.com/
本日のまとめAgile Ready!AreYouReady?マイクロソフトは、継続してアジリティの高いプラットフォームの開発に取り組みます。進化した VisualStudio2010 は、その英知を皆様にお届けする開発プラットフォームです。すべての機能を今すぐ試せますVisualStudio2010Beta2 日本語版詳細は、次のページ
情報リソースVisualStudio2010	β2 無償ダウンロードにて公開中!http://www.microsoft.com/japan/visualstudio/products/2010/default.mspx※ 最上位エディションをお試しいただけます。

【デブサミ2010】アジリティを向上させる開発ツールの進化