マイクロソフトにおける アジャイル開発の実践 日本マイクロソフト株式会社デベロッパーエクスペリエンス & エバンジェリズム統括本部エバンジェリスト 井上章 ( いのうえあきら ) 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 万 1,000,000 以上 フォーチュン 500 企業の Microsoft Azure 利用率 稼働中の Web サイト Azure 内の SQL データベース数 >20 兆 >200 ストレージオブジェクト 万毎秒のリクエスト >3 億 >130 広告利用者 億毎週の認証数 >100 万 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 対応アプリケーション開発 最新 Windows プラットフォームへの対応 Windows 8.1 ストアアプリ開発 Windows 8.1 デスクトップアプリケーション開発 Windows Server 2012 R2 対応アプリケーション開発 アジャイル開発と DevOps チーム開発コラボレーション機能強化 チーム開発のプロジェクト管理 チーム開発のコラボレーション 運用部門との連携 19
チーム間での情報の共有と可視化 その他の 開発ツール その他の 開発ツール プロジェクト ソースコード 作業項目 テストツール 計画と管理 管理 トラッキング とサービス Project Server SharePoint Server System Center Operations Manager ラボ管理 テスト用ラボ環境 ビルド 自動化 レポートと 分析 SQL レポーティングサービス 20
Online Code Insights クラウドサービス版 Team Foundation Server 5 ユーザーまでは無料で利用可能 Microsoft Azure へ継続的デリバリーが可能 Work Deploy 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 2012.8 Update 1 2012.11 Update 2 2013.4 Update 3 2013.6 Update 4 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 Express ハイクオリティな開発環境と DevOps の完全な実現 効率的なチーム開発とテストの高質 / 効率化 様々なアプリ開発を実現する基本セット 品質管理とコラボレーション ( 無償版 ) for Web IntelliTrace 機能 負荷テストとロードテスト メモリーダンプアナライザー 高度なコード分析ツール ユニットテスト テスト環境管理 コードレビュー クライアントアプリクラウドアプリ Web アプリ : HTML5, JavaScript 対応 アジャイル開発対応 テスト管理 継続的フィードバック チーム開発 for Windows for Windows Desktop Team Foundation Server チーム開発とコラボレーションの基盤 Visual Studio Online ソースコード管理 タスク管理 バグ管理 レポーティング チーム開発 アジャイル開発 アプリケーションライフサイクル管理と 運用との連携による DevOps TFS Express ( 無償版 ) 5 人未満 MSDN サブスクリプション 最新バージョンから旧バージョンまで統合的な開発支援 Visual Studio Ultimate with MSDN Visual Studio Premium with MSDN Visual Studio Professional with MSDN Visual Studio Test Professional with MSDN 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