Enterprise Agileを現実のものに - MicrosoftのALM

Enterprise Agileを現実のものに
- MicrosoftのALM日本マイクロソフト株式会社
デベロッパー エバンジェリズム統括本部
エバンジェリスト・マネジャー
板倉
真由美
元:日本IBM
社内システム構築エンジニア
お客様担当SE
プロジェクトマネジャー
技術部門マネジャー
米国ワトソンリサーチIT戦略策定チームコアメンバー
IBM基礎研究所マネジャー
2013/02~
日本マイクロソフト (株)
デベロッパー エバンジェリズム統括本部
エバンジェリスト・マネジャー
趣味:ワイン用葡萄栽培@山梨県甲州市勝沼 中央葡萄酒の栽培メンバー
• 目的
• ゴール
2. MicrosoftにおけるAgile事例
スプリントからトレインへ
ビジネスの変化に素早く対応する
ITインフラ
サーバーの購入~
セットアップに数か月
オンプレミス
Cloudで同じ環境を
用意するなら1-2日
クラウド
5
型アプリケーション
ビジネスの変化に素早く対応する
ITインフラと・・・
アプリケーション!?
クライアント
サーバー
デバイス
サービス
SaaSをそのまま利用する場合を除く
6
開発プロセスを Cloud First に
4人ずつの開発グループ
4週間ごとに、クラウド側に新機能を追加
年に一度、オンプレミス製品に反映
 200を超えるインターネットスケールの自社クラウド
サービス (Office 365, Xbox Live,…) で得た知見を
オンプレミス製品にフィードバック
7
Visual Studio を中心とした完全な DevOps の世界
リポジトリ
ビルド
テスト
デプロイ
Online
コーディング / デバッグ Azure Application Insights/
Azure Operational Insights
開発者
Release Management
運用管理・監視
Azure
Microsoft Azure
2. MicrosoftにおけるAgile事例
スプリントからトレインへ
2. MicrosoftにおけるAgile事例
スプリントからトレインへ
Visual Studio 2005 beta1 Product Bug
「予定通りの作業+予定外の作業」
= VS 2005 Beta1のバグのグラフ
延期は「いつものこと」
常に未完了
終わりが見えない・・・
Visual Studio 2008 beta1 All Bugs
バグの大幅な削減
延期を最小に
開発期間が半分以下に
予測可能なスケジュールに
大幅な顧客満足度向上
VS 2005 (Buildに3-4年)
VS 2008 (Buildに2年)
VS 2005 (Buildに3-4年)
VS 2008 (Buildに2年)
Beta1: 一般のお客様へもお披露目: フィードバック収集
Beta2: お客様と最新の変更の評価: フィードバック収集
RC (release candidate) 0..n: 最終Build
RTM: 出荷!
16
Update 4
約 3 カ月
Update 1
Update 2
Update 3
約 3 週間 ごとのアップデート
17
Update 4
Visual Studioの評価
Community votes for best product
Industry analysts recognize Microsoft leadership
GARTNER:
Magic Quadrant for Application Life
Cycle Management 5 June 2012
VOKE:
Test Market Mover Array
July 2010 Evaluating VS2010
IDC:
IT PPM Market Landscape
December 2010 Evaluating VS2010
19
最新の Team Foundation Server による ALM ソリューション
準備・計画
設計
開発・テスト
管理
リリース管理および DevOps を加えた、最新のApplication Lifecycle Management
内
容
・コレクション
・プロジェクト
・テンプレート
プロジェクト準備
・ファイル管理
・コーディング規約
PM/SE
役
割
と
作
業
プロジェクト
テンプレート設定
・要求(ユーザストーリ)
・タスク
・タスク
・担当者
・工数
・ソースコード
・変更履歴
・ブランチ/マージ
タスク登録
開発
・要件登録
・タスク分析
・担当者割り当て
・工数見積もり
・コーディング
・ソース管理
構成管理
PM
タスク管理
プロジェクト管理
・運用監視
・情報共有
・テスト進捗
・バグ推移
・その他
テスト・修正
設計・分析
設計者/SE
・リリース管理
・承認管理
・チケット管理
・テスト報告書
・バグ票
開発者
ビルド機能
デバッグ機能
・テスト作成
・テスト実施
・バグ票(チケット)
テスト担当者
リリース管理
レポート
・レポート
・ポータル
PM
テスト管理
テスト自動化
レポート機能
ポートフォリオ
Agileを採用するにあたって、
メンバーは反発しませんでしたか?
弊社では自分以外はまったく乗り気ではありません。
誰を動かせばいいですか?
リリースサイクルをもっと早く!
トレイン方式に移行
2015/03/25からAzure Websitesは、Azure App ServiceのWeb Appsに統合されました。
スプリントモデルからトレインモデルへ
Deploy
Deploy
24
スプリントモデルからトレインモデルへ
トレインモデルの
メリットは
25
こんなに頻繁にリリースされたら、
運用側が疲弊するのではないでしょうか?
これは理想であって、実際にはこんなにうまくいかないだろう。
チーム編成や、人員配置はどうしていますか?
26
従来の開発と運用
DEV
OPS
DevOps
計画
要求
バックログ
モニタリング +
学び
検証と発見
インサイトと学び
ステークホルダーとのエン
ゲージメントプロセス
自動化
Release
Management
環境
デプロイメント
リリース管理と
ガバナンス
ソースコントロールと
ビルド
開発 + テスト
リリース
複雑
間違えやすい
カオス
リリースサイクルの自動化
デプロイの自動化
TFS
DEV
INT
QA
PROD
リリースサイクルの自動化
承認ワークフローの自動化
TFS
DEV
INT
QA
PROD
リリースサイクルの自動化
全てのステージに同じ方法で
デプロイ
TFS
DEV
INT
QA
PROD
リリースサイクルの自動化
完全なトレーサビリティ
TFS
DEV
INT
QA
PROD
<参考> Release Management アーキテクチャ
Visual Studio を中心とした完全な DevOps の世界
リポジトリ
ビルド
テスト
デプロイ
Online
コーディング / デバッグ Azure Application Insights/
Azure Operational Insights
開発者
Release Management
運用管理・監視
Azure
Microsoft Azure
DevOps
Azure Application Insights/
Azure Operational Insights
計画
要求
バックログ
モニタリング +
学び
検証と発見
インサイトと学び
ステークホルダーとのエン
ゲージメントプロセス
環境
デプロイメント
リリース管理と
ガバナンス
ソースコントロールと
ビルド
開発 + テスト
リリース
‘Find – Fix – Release’ & ‘Build – Measure – Learn’
Azure Application Insights
Application
Insights
1.各ティアでテレメトリー 情報
を収集される: モバイルアプリ、
サーバーアプリ、ブラウザ
2. テレメトリー情報が
Application Insights サービス側
で処理され保存される
3. アプリの可用性、パフォーマ
ンス、利用状況の360° ビューを
得る
<参考>
Azure Application Insights主な機能
• アプリケーションの利用状況の分析
Keyシナリオにおけるユーザーの使用状況を
トラッキングできる
• アプリケーション・パフォーマンスや異常の分析
モバイルアプリ、Java, ASP.NET, Webアプリを対象
• アプリケーション可用性の確認
Webテストを設定し、パフォーマンスなどの問題を
リアルタイムに知らせる
システム管理もクラウドから
Azure Operational Insights
エージェント型の稼働監視サービス
(現在 Preview)
旧:System Center Advisor
アプリの稼働状況とパフォーマンス監視
システムの問題解析/情報収集
システムのパフォーマンス監視
システムの可用性監視
システムの使用状況監視
Insight を
伴う監視へ
ビルドおよびリリース管理の証跡(ログ)出力
開発イテレーション
Team Foundation
Server
ビルドサーバ
ビルドエージェント
Release
Management
ソースコード
リリース・イテレーション
ビルド実行
・手動ビルド
・継続的インテグレーション
・ゲートチェックインビルド
1.0.0.x
ビルド
コントローラ
ビルド
ビルドアプリ
ビルドキュー
1.0.0.3
1.0.0.2
1.0.0.1
1.0.0.3
1.0.0.2
1.0.0.1
障害情報
ビルド番号による関連付け
ログの出力
※)ログへの情報出力方法は、スクリプト/プログラム等による形式が可能。
(詳細は未定)
1.0.0.x
監視チームから開発チームへのフィードバックとツール連携
アプリ
稼働監視
Team
Foundation
アプリ
Server
稼働監視
Release
Management
アラート/ログ監視
運用から不具合情報 取得
1.0.0.x
アプリロジック監視
ワークアイテム化
開発者アサイン
ソース管理
ソースレベル監視
不具合確認作業とデバッグ
ビルド管理
Azure
App Insights
クラウド上のチーム開発
基盤により対応
1.0.0.x
運用管理者と開発者が
利用するツールを共通化
リリース管理
Visual Studio を中心とした完全な DevOps の世界
リポジトリ
ビルド
テスト
デプロイ
Online
コーディング / デバッグ Azure Application Insights/
Azure Operational Insights
開発者
Release Management
運用管理・監視
Azure
Microsoft Azure
2. MicrosoftにおけるAgile事例
スプリントからトレインへ
ソフトバンク・テクノロジー株式会社様
スクラム開発の効果を引き出す
ため Release Management
for Visual Studio を導入
リリースプロセスのワークフロー化
および自動化を実現し、人手に頼る
部分を徹底的に削減。
高品質で安定的な継続的デリバリーを
実現。
タスク管理とコード管理はすべて
TFS 上で行われ、ビルドの実行、
社内検証環境への展開、本番環境へ
の展開は、Release Management上で
依頼、承認を行うことで自動的に
実行されます。
http://www.microsoft.com/ja-jp/casestudies/softbanktech3.aspx
ソフトバンク・テクノロジー株式会社様
開発チームによる内部リリース と、顧客に対するリリースを分離し、両者にとって
最適なリリース・タイミングを実現。Release Managementで、このような2レベ
ルのリリース管理も実現。
リリースの工数が1回あたり、 210人分(3.5時間) ⇒ 10人分(0.16時間)へ
自動化によって、リリース作業の人
的コストも大幅に削減。
以前は1 回のリリースで
3 人×70 分 (210 人 分) の工数 ⇒
現在ではリリース プロセスが自動化
されており、人手はステージング確
認で必要になるだけなので、
1 人×10 分 (10 人 分) の工数に。
http://www.microsoft.com/ja-jp/casestudies/softbanktech3.aspx
株式会社富士通システムズ・ウエスト様
継続的インテグレーション環境を、Visual Studio, Team Foundation Server,
Sharepointで実現。作業の自動化でデイリービルドが可能に
分散環境での開発が可能な継続的
インテグレーション環境の導入が
必須。
複数の拠点が混在する開発環境に
おいても課題であったプロジェク
ト資産の一元管理と情報共有が、
有効に活用できるようになった。
継続的インテグレーション環境の
導入よる作業の自動化においては、
Visual Studio と Team Foundation
Server によって、ビルドとテスト
の自動化を実現したことにより、
デイリー ビルドが可能な運用体制
が実現。
http://www.microsoft.com/ja-jp/casestudies/vsfwest.aspx
株式会社富士通システムズ・ウエスト様
プロジェクトでは、デイリー ビルドとリリース
ビルドという二種類のビルドを定義。
日々の常時結合のために実施するデイリー ビル
ドを Team Foundation Server で自動化して、深
夜にビルドと自動テストを毎日実施している。
異常が発生したときには、メンバーにメールが
通知される仕組みを実現。
この自動化によって、製造工程の時間が大幅に
短縮されて、効率化を実現している。
検証した結果では、最初はテストコードを作成
するので、どうしても余計に工数がかかってし
まいますが、2 回目からは手動によるテストと
ほぼ同じになり、3 回目からのテストでは効率
化が向上し、自動テストの効果が出てきた。
http://www.microsoft.com/ja-jp/casestudies/vsfwest.aspx
Visual Studio を中心とした完全な DevOps の世界
リポジトリ
ビルド
テスト
デプロイ
Online
コーディング / デバッグ Azure Application Insights/
Azure Operational Insights
開発者
Release Management
運用管理・監視
Azure
Microsoft Azure
マイクロソフトは自らAgile開発手法を実践し、短いサイクルかつ
高い品質で、Visual Studio, Visual Studio Online, Visual Studio
Team Foundation Server, Azure Websitesなどの製品を投入す
ることに成功しました。また、自社製品を使って継続的デリバ
リーを続けています。
エンタープライズのお客様も、ビジネスの変化をサポートする
AgilityのあるIT開発を行う必要性が増しています
ぜひマイクロソフトの提案する実現可能なエンタープライズ
Agileを実践し、ビジネスの成功に結び付けてください
50
DevとOpsのハッピーな関係
DEV
OPS