マイクロソフトにおける アジャイル開発の実践

マイクロソフトにおける
アジャイル開発の実践
日本マイクロソフト株式会社
デベロッパー エクスペリエンス & エバンジェリズム統括本部
エバンジェリスト
井上 章 (いのうえ あきら) 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