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
© Copyright 2024 Paperzz