マイクロソフトにおける アジャイル開発の実践 日本マイクロソフト株式会社 デベロッパー エクスペリエンス & エバンジェリズム統括本部 エバンジェリスト 井上 章 (いのうえ あきら) http://aka.ms/chack セッションのゴール Session Takeaways • クラウド時代の開発トレンド を再考する • Visual Studio & Azure モダン デベロップメント を学ぶ • マイクロソフトのアジャイル開発事例 を知る 2 アプリケーション開発は クラウドの時代へ 3 全ての机に家庭にコンピューターを 4 Productivity Future Vision • 多様化するデバイス • マルチデバイス (PC, Tablet, Smartphone ...) • クロス プラットフォーム • IoT (Internet of Things) • 不可欠な Web 技術 • HTML, CSS, JavaScript, HTTP, REST ... • クラウド環境の普及と活用 • スケーラビリティとアベイラビリティ • ビッグデータ分析 5 Digital Life Digital Work 6 デバイス数 デバイスの急速な増大 70億 世界総人口 時間 2008 7 ユーザー デバイス アプリケーション データ 8 マイクロソフトのフォーカス 1 2 3 4 Satya Nadella, Chief Executive Officer, Microsoft Corporation 9 16 regions worldwide in 2014 Microsoft Azure >57% >25 万 フォーチュン 500 企業の Microsoft Azure 利用率 >20 >200 兆 ストレージ オブジェクト 万 毎秒の リクエスト 稼働中の Web サイト 1,000,000 以上 Azure 内の SQL データベース数 >3 >100 億 広告 利用者 >130 億 毎週の 認証数 万 Visual Studio Online に既に 登録済みの 開発者 11 マイクロソフトのクラウド • • • • 200+ サービス, 24 時間 / 7 日稼働 ファースト クラスの利用実績 世界規模でデータセンターを運営 国内にもデータセンターを開設 2.5 億 アカウント 約3億 接続ユーザー 300 PByte Bing データ 4,800 万 サブスクライバー 55 億 サーチ数 / 月 約 5,000 万 Office Web Apps ユーザー 12 エンタープライズを変えていく モバイル & クラウド 14 変化する開発スタイル Azure SQL Database MySQL database 全てのプロセスを クラウドで Azure モダン デベロップメントと Visual Studio 2013 16 プラットフォームの進化とアプリケーション プラットフォーム これまでのアプリケーション これからのアプリケーション • キーボード UI • タッチ UI • イントラネット • インターネット • プロセスの効率化と自動化 • 利用者の操作性と利便性 • 構造化データ • 非構造化データ • ウォーターフォール開発 • アジャイル開発 クライアント デバイス サーバー サービス 17 “これからのアプリケーション” 開発のためのコンセプト モダン デベロップメント ~ マイクロソフト プラットフォーム ストーリー / エンタープライズ DevOps ~ モダン ライフサイクル モダン アプリケーション ~ どうやって作るのか ~ ~ 何を作るのか ~ DevOps Agile Planning 開発と運用の 連携/効率化 継続的デリバリー/ アプリケーション ライフサイクル管理 Quality Enablement Team Collaboration 品質管理と テストの自動化 開発チーム コラボレーション Modern Consumer Applications Modern Business Applications コンシューマー向け アプリケーション 業務アプリケーション Embedded .NET 組込み アプリケーション .NET と開発 プラットフォーム 18 Visual Studio 2013 主な新機能 Visual Studio の UX 向上と 高度なリソース 管理機能 旧製品からの機能/操作性向上 • 分かりやすいアイコンや 操作メニュー • スクロールやマウスオーバーなどの 表示向上 • メモリー 管理などの高度な機能 Windows 8.1 対応 アプリケーション 開発 アジャイル開発と DevOps 最新 Windows プラットフォームへの対応 チーム開発 コラボレーション機能強化 • Windows 8.1 ストア アプリ開発 • チーム開発のプロジェクト管理 • Windows 8.1 デスクトップ アプリケーション開発 • チーム開発のコラボレーション • Windows Server 2012 R2対応 アプリケーション開発 • 運用部門との連携 19 チーム間での情報の共有と可視化 その他の 開発ツール その他の 開発ツール プロジェクト ソースコード 作業項目 テストツール 計画と管理 管理 トラッキング とサービス Project Server SharePoint Server System Center Operations Manager ラボ管理 テスト用ラボ環境 ビルド 自動化 レポートと 分析 SQL レポーティングサービス 20 Online Code Insights クラウド サービス版 Team Foundation Server 5 ユーザーまでは無料で利用可能 Microsoft Azure へ継続的デリバリーが可能 Deploy Work Build Test 21 マイクロソフトにおける アジャイル開発事例 22 Visual Studio の継続的な価値のデリバリー 23 Visual Studio 開発サイクルの改善 Visual Studio 2005 計画:24 ヶ月サイクルでの製品リリース 実績:開発開始から 39 ヶ月後のリリース (15 ヶ月の遅延) Visual Studio 2008 新規開発の一時中断と 4 ヶ月間の MQ (Milestone Quality) の実施 テストの自動化と TFS の利用 Visual Studio 2012 RTM Update 1 Update 2 Update 3 Update 4 2012.8 2012.11 2013.4 2013.6 2013.11 Visual Studio 2013 RTM Update 1 Update 2 2013.10 2014.1 2014.4 24 マイクロソフト 開発事例:Visual Studio Online 2,000 名が Team Foundation Server を利用し Visual Studio Online 開発のタスク管理、コード管理等を実施 3 週間スプリントでタスクを進め、3 か月毎にプロジェクト結果をリリース 利用目的 ‐ 製品開発プロジェクト全体の スピード向上と品質向上 利用製品 ‐ Visual Studio Online ‐ Team Foundation Server 利用者数 効果 レポーティング プロジェクト 管理 ‐ 2,000人 (MS Product 全体では 48,000 人) ‐ ‐ ‐ ‐ 3 週間スプリントでのリリースが実現 ビルド管理 ドキュメント テスト自動化による作業均質化 バックログと成果物のトレーサビリティ プロジェクトの状況を常に可視化でき、状況に 応じた最適な対応を実施 ソースコード バグ管理 ‐ 大小/長短様々なプロジェクト管理を Team Foundation Server 同一ツールで実現 25 マイクロソフト 開発事例:検索エンジン Bing 3 – 4 か月毎のメジャーリリースに加え、“Daily Ship” として 日々検索エンジンのプログラムを最適化しマイナーリリースを実行 目的 利用製品 開発/ リリース スタイル 効果 注意点 開発 / リリースイメージ ‐ 日々変化するユーザー意向の把握を早期かつ的確に 行い、いち早くニーズに合ったサービスを提供 ‐ Visual Studio ‐ Team Foundation Server プロジェクト xx 開発締め/ 効率改善 ‐ 机上でのニーズ分析は必要以上にやらない ‐ 短期的な定期開発/リリース プロジェクト xxx ‐ ユーザーの実際の利用状況からニーズを確認し、 仕組みを向上させ “Daily Ship” でリリース ‐ 日々変化するユーザーニーズの捕捉精度/速度向上 ‐ 効率の良いアジャイル開発 ‐ 緻密なテストと監視を怠るとサービス品質が低下 ‐ ビッグデータからのインサイト導出能力があることが前提 ‐ 不向きなサービスあり(外部のチームとの連携、インフラ/ プラットフォーム系の製品) データ解析/ ゴール設定 (2か月) 新機能開発/ リリース (2か月) 機能改善/ リリース (2か月) 開発締め/ 効率改善 (2か月) Daily Ship 実施 プロジェクト xxxx データ解析/ ゴール設定 26 TFS Internal Usage 統計 • TFS Internal Usage Statistics - 1st Half CY 2013 • Microsoft Application Lifecycle Management ブログ 27 Mobile First, Cloud First 時代の アジャイル開発の実践に向けて 28 Mobile First, Cloud First 時代の継続的価値の提供 要件 バックログ Application Insights 関係者フィードバック依頼 アジャイル ポートフォリオ Kanban ボード管理 タスクのタグ付け バージョンの柔軟な管理 クラウドロードテスト Web ベースのテスト管理 Visual Studio Online “Monaco” Microsoft Azure Mobile Services Xamarin, Cordova チームルーム タスクチャート コード ディスカッション ビルド自動化 継続的なデプロイメント 開発ツールからのシームレスな サービス展開 29 さあ 始めよう visualstudio.com azure.microsoft.com Appendix 31 Visual Studio 2013 エディション構成 Ultimate Premium Professional Test Professional ハイクオリティな開発環境と DevOps の完全な実現 効率的なチーム開発と テストの高質/効率化 様々なアプリ開発を 実現する基本セット 品質管理と コラボレーション (無償版) ・ IntelliTrace 機能 ・負荷テストとロードテスト ・メモリー ダンプ アナライザー ・高度なコード分析ツール ・ユニット テスト ・テスト環境管理 ・コードレビュー • クライアント アプリ クラウド アプリ • Web アプリ: HTML5, JavaScript 対応 • アジャイル開発対応 ・ テスト管理 ・ 継続的フィードバック ・ チーム開発 • for Windows Team Foundation Server チーム開発とコラボレーションの基盤 Visual Studio Online MSDN サブスクリプション 最新バージョンから旧バージョンまで 統合的な開発支援 ・ ソースコード管理、タスク管理、バグ管理、レポーティング ・ チーム開発、アジャイル開発 ・ アプリケーション ライフサイクル管理と、運用との連携による DevOps ・ Visual Studio Ultimate with MSDN ・ Visual Studio Premium with MSDN ・ Visual Studio Professional with MSDN ・ Visual Studio Test Professional with MSDN Express • for Web • for Windows Desktop TFS Express (無償版) 5人未満 ・ MSDN Platforms ・ MSDN Operating Systems 32 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 33
© Copyright 2025 ExpyDoc