アジャイル開発から継続的デリバリーへ TFSUG#5

6,386 views
6,222 views

Published on

Published in: Technology

アジャイル開発から継続的デリバリーへ TFSUG#5

  1. 1. アジャイル開発から 継続的デリバリーへ 株式会社 NTTデータ 柴山 洋徳 2012/4/13Copyright © 2012 NTT DATA CORPORATION
  2. 2. 自己紹介 柴山 洋徳 (Twitter:shibao800) 株式会社NTTデータ 認定プロジェクトマネージャ 仕事  CCPM/TOC コンサルティング  組織変革コンサルティング  社内システム開発のスクラムマスター  社内システム開発のプロダクトオーナー  社内アジャイルコーチCopyright © 2012 NTT DATA CORPORATION
  3. 3. プロローグ:アジャイルとの出会いhttp://www.flickr.com/photos/conchur/3358169824/ Copyright © 2012 NTT DATA CORPORATION
  4. 4. 悪夢の始まり 社内システム開発のユーザ部門責任者 開発は別組織の別部隊 インドは素晴らしい(らしい) アジャイルっておいしいの? Copyright © 2012 NTT DATA CORPORATION
  5. 5. 流れないウォーターフォール インド人にとって慣れないウォーターフォール 大幅な遅延,眠らない開発 モチベーションダウン アジャイルっておいしいの? http://www.flickr.com/photos/denise_mayumi/2269480944/ Copyright © 2012 NTT DATA CORPORATION
  6. 6. ピボットポイント 「お前プロジェクトマネージャやれ」 でも,「当初の予定通りに開発してね」 残された時間は4ヶ月 アジャイルっておいしいの? Copyright © 2012 NTT DATA CORPORATION
  7. 7. アジャイルとの邂逅 Scrumをベースにプロセスを徹底的に整備 インド開発拠点の自治化 プロダクトオーナー&スクラムマスター アジャイルっておいしいの? http://www.flickr.com/photos/yto/5101830991/ Copyright © 2012 NTT DATA CORPORATION
  8. 8. 山場を越えて 当初の計画通りに開発を完了 スモールスタート・スモールサクセス 開発メンバのやる気と自信 アジャイルっておいしい http://www.flickr.com/photos/alvarolopez/2257656186/ Copyright © 2012 NTT DATA CORPORATION
  9. 9. みんな幸せHappy EndCopyright © 2012 NTT DATA CORPORATION
  10. 10. まだだ、まだ終わらんよ! To Be Continued
  11. 11. 第一章:過渡期のアジャイルの限界 http://www.flickr.com/photos/alexandernilssen/3103869801/Copyright © 2012 NTT DATA CORPORATION
  12. 12. 終わらない開発 新規開発からエンハンス開発へ移行 特定顧客向けの派生開発の立ち上げ チームの拡大 アジャイルっておいしいままなの? http://www.flickr.com/photos/runfreefall/903725838/ Copyright © 2012 NTT DATA CORPORATION
  13. 13. 自動化されていないテスト http://www.flickr.com/photos/lawley/4918643/Copyright © 2012 NTT DATA CORPORATION
  14. 14. 統一されていない環境 http://www.flickr.com/photos/horiavarlan/4273913228/Copyright © 2012 NTT DATA CORPORATION
  15. 15. お約束のあれCopyright © 2012 NTT DATA CORPORATION
  16. 16. 新たな試練 To Be ContinuedCopyright © 2012 NTT DATA CORPORATION
  17. 17. 第二章:アジャイルの再構築 http://www.flickr.com/photos/qmnonic /4794257439/Copyright © 2012 NTT DATA CORPORATION
  18. 18. アジャイル導入において重要なこと ゴールの共有 対立構図の解消 スモールスタート・スモールサクセス 制約と非制約の混合アプローチ Copyright © 2012 NTT DATA CORPORATION
  19. 19. ゴールの共有 Copyright © 2012 NTT DATA CORPORATION どんな世界を目指すのか? 自己組織化を促す わくわく感を持つ http://www.flickr.com/photos/alistairmcmillan/171605775/
  20. 20. 定期ワークショップの開催 Continuous Deliveryの勉強会 Visual Studio ALMのデモ動画試聴会 毎週半日をワークショップの時間に Copyright © 2012 NTT DATA CORPORATION
  21. 21. 対立構図の解消 http://www.flickr.com/photos/xtrah/5670936962/ Copyright © 2012 NTT DATA CORPORATION 導入したい人・もの vs チームから コンテキスト・問題 vs チームへ 自律的カイゼンを促す
  22. 22. Agile Buffet 構成管理 http://www.flickr.com/photos/mako_side_b/2337300578/Copyright © 2012 NTT DATA CORPORATION
  23. 23. スモールスタートスモールサクセス http://www.flickr.com/photos/sneakerdog/319088191/Copyright © 2012 NTT DATA CORPORATION
  24. 24. モチベーションのハイプカーブ動機 時間 未来への 現実 成功 好循環 期待 問題 体験Copyright © 2012 NTT DATA CORPORATION
  25. 25. モチベーションのハイプカーブ動機 時間 未来への 現実 成功 好循環 期待 問題 体験Copyright © 2012 NTT DATA CORPORATION
  26. 26. ステップ戦略 開発環境 ⇒ テスト環境 ⇒ Scrum環境 まずは,日本で.上手くいったらインドへ 各スプリントで何か一つを取り入れる http://www.flickr.com/photos/foilman/ Copyright © 2012 NTT DATA CORPORATION
  27. 27. 開発環境 構成管理,CIをTFSへ一番最初に移行 TFSサーバはインドに配置.専用線で日本から 開発者環境はVMイメージを作成して配布 TFS: Team Foundation Server. Microsoft社のApplication Lifecycle Management環境を実現するプロダクト. Copyright © 2012 NTT DATA CORPORATION
  28. 28. 構成管理 The two DEV India Team branches are created assequential tasks, Japan Teambut as one unit of Branch Branch work. FI FI RI RI Development 3.0DEV V3.0 (start) flow of merges (changes) V2.4 (start) 2.4DEV CI / Nightly Builds Branch Branch RI (Early validation) FI FI V2.3 Hotfix1 MAIN V2.3 V2.4 flow of merges (changes) Branch Production Nightly Build RI (Early Validation) Production / Release HOT FIX Branch Branch RI RI The two Production branches are created as RELEASE sequential tasks, but as one unit of Release 2.3.1.0 Release 2.3.1.1 Release 2.4.0.0 Release 2.4.0.1 work. Copyright © 2012 NTT DATA CORPORATION
  29. 29. テスト環境 Test Manager & TFS 受け入れテストから自動化 出力データ,DBの状態,UI画像の正解比較 受け入れテスト実行環境はHype-Vで管理 Copyright © 2012 NTT DATA CORPORATION
  30. 30. テスト自動化 クライアント側 サーバ側 結果データ出力 (XML/SQL/IMG) 5 4 正解データと ブラウザ 出力結果を比較 (XML/SQL/IMG) 1 2自動化 自動化コード実行 事前処理実行 3パラメータ一覧 PsExec 6 事後処理実行 Visual Studio 2010 Copyright © 2012 NTT DATA CORPORATION
  31. 31. 制約と非制約の混合アプローチ http://www.flickr.com/photos/perspective/67620969/ Copyright © 2012 NTT DATA CORPORATION どっちをとるか?のジレンマ 常に正解は一つではない TOC的アプローチ
  32. 32. テスト戦略 単体テストの自動化 vs 受け入れテストの自動化 ビジネス価値最大化の制約は何か? エンハンス開発なら「受け入れテスト」が制約 既存の受け入れテストをパワーをかけて自動化 単体は開発対象となったスプリントで自動化 Copyright © 2012 NTT DATA CORPORATION
  33. 33. リスクベースドテスト 各フィーチャをビジネス価値付け ビジネス価値低下のリスクを算出 リスクの高いものからテスト自動化 スプリント毎にインドと日本で分担 テストプランニングミーティング Copyright © 2012 NTT DATA CORPORATION
  34. 34. リスクベースドテストCopyright © 2012 NTT DATA CORPORATION
  35. 35. アジャイルの安定運用へ To Be ContinuedCopyright © 2012 NTT DATA CORPORATION
  36. 36. 第三章:安定期のアジャイル模様 http://www.flickr.com/photos/58782395@N03/5518988345/Copyright © 2012 NTT DATA CORPORATION
  37. 37. ツール vs アナログ http://www.flickr.com/photos/finklez/5561579362/Copyright © 2012 NTT DATA CORPORATION
  38. 38. ツール vs アナログ 対立ではなく,組み合わせ チームの成熟度にもよる 立ち上げ初期はアナログを推奨 http://www.flickr.com/photos/finklez/5561579362/ Copyright © 2012 NTT DATA CORPORATION
  39. 39. ツールの高度な透明性 http://www.flickr.com/photos/dany13/6306491150/ Copyright © 2012 NTT DATA CORPORATION アナログでは見えない事もある 気付かない事に気づくきっかけ 本来やるべきことに集中できる
  40. 40. アナログの直感的な透明性 http://www.flickr.com/photos/williamhook/4742869256/ Copyright © 2012 NTT DATA CORPORATION 毎日いつでも誰でもすぐに見える チームの外からも見える 人間の感覚に訴える
  41. 41. ユーザーストーリーマッピングCopyright © 2012 NTT DATA CORPORATION
  42. 42. プロダクトバックログCopyright © 2012 NTT DATA CORPORATION
  43. 43. プランニングポーカーCopyright © 2012 NTT DATA CORPORATION
  44. 44. スプリントバックログCopyright © 2012 NTT DATA CORPORATION
  45. 45. スプリント中のモニタリングCopyright © 2012 NTT DATA CORPORATION
  46. 46. バーンダウンチャートCopyright © 2012 NTT DATA CORPORATION
  47. 47. デモレビューCopyright © 2012 NTT DATA CORPORATION
  48. 48. 振り返りCopyright © 2012 NTT DATA CORPORATION
  49. 49. さらなる継続的改善 To Be ContinuedCopyright © 2012 NTT DATA CORPORATION
  50. 50. 第四章:Continuous Deliveryへ http://www.flickr.com/photos/nicmcphee/250890495/Copyright © 2012 NTT DATA CORPORATION
  51. 51. アジャイルにおける開発期間 4週間 3週間 2週間 1週間以下 0% 20% 40% 60% 出典: Scott W. Ambler www.ambysoft.com/surveys/Copyright © 2012 NTT DATA CORPORATION
  52. 52. アジャイルにおけるリリース期間 1ヶ月over 4週間 3週間 2週間 1週間 1日以下 0% 10% 20% 30% 40% 出典: Scott W. Ambler www.ambysoft.com/surveys/Copyright © 2012 NTT DATA CORPORATION
  53. 53. Agilityの欠如 http://www.flickr.com/photos/wwarby/4782861914Copyright © 2012 NTT DATA CORPORATION
  54. 54. Water-Scrum-Fall よく見かける現実解 プロダクト制約,会社ルール,コンプライアンスRequirements Releaseand planning Sprints http://www.flickr.com/photos/wimox/5208779639/ Copyright © 2012 NTT DATA CORPORATION
  55. 55. リリースの悪夢 レガシーシステム リリーストレインアプローチ リリースオーバーヘッド 組織文化の変化への抵抗 http://www.flickr.com/photos/wimox/5208779639/ Sprints Release Copyright © 2012 NTT DATA CORPORATION
  56. 56. 技術的負債 Cost of Change (CoC) Delivery Speed  Responsiveness  Actual CoC Product Technical Debt Release Optimal CoC 1 2 3 4 5 6 7 8 YearsCopyright © 2012 NTT DATA CORPORATION
  57. 57. Continuous DeliveryCopyright © 2011 NTT DATA CORPORATION http://www.flickr.com/photos/evelynishere/3451469791
  58. 58. ビジネスニーズ駆動のリリース http://www.flickr.com/photos/teegardin/5912231439 開発の制約ではなく,ビジネスニーズと連動 常にソフトウェアはリリース可能な状態Copyright © 2012 NTT DATA CORPORATION
  59. 59. ユーザと開発の強いフィードバックループ http://www.flickr.com/photos/usnationalarchives/6124109059Copyright © 2012 NTT DATA CORPORATION 新しいアイディアをすぐに実現できるようにする ユーザからの早期のフィードバックを得る ユーザをソフトウェアライフサイクルに巻き込む
  60. 60. リスクの低減Copyright © 2012 NTT DATA CORPORATION http://www.flickr.com/photos/epsos/4376727123 ムダなソフトウェアを作るリスクの低減 ビックバンリリースのリスクの低減 リリースプロセス自体のリスクの低減
  61. 61. Continuous Deliveryの全体像 Release Deploy User Acceptance Test Deploy Commit Acceptance Test Unit Test開発者 ユーザ Feedback CI Env. Integration Test ATT Env. Canary Env. Feedback Feedback Feedback Copyright © 2012 NTT DATA CORPORATION
  62. 62. デリバリープロセスを全て自動化する http://www.flickr.com/photos/fagorautomation/6482019321Copyright © 2012 NTT DATA CORPORATION ビルド/テストを自動化する 環境構築/設定、デプロイを自動化する 何か問題があれば、以前の状態に自動的に戻す
  63. 63. すべてを構成管理下に置く ソースコード テストコード/テストケース/テストデータ ミドル/アプリケーション設定ファイル デプロイスクリプト データベーススクリプト テスト/開発環境のスナップショットイメージ Copyright © 2012 NTT DATA CORPORATION
  64. 64. すべてをクラウドに置く 開発者は開発環境クラウドに接続することで、全員が同じ環 境を使う Acceptance Test環境もクラウド上にホストし、並列でテス トを自動実行する すべての環境は必ずデプロイ自動化の仕組みによってデプロイ する スナップショットイメージよるバックアップとロールバック Copyright © 2012 NTT DATA CORPORATION
  65. 65. クライアントAPのデプロイ自動化 クライアントAPがデプロイ自動化の大きな壁 一般的には、自動アップデートで対応 TS(Terminal Service)Remote APPの仕組みを利用 Copyright © 2012 NTT DATA CORPORATION
  66. 66. カナリヤリリースとリーン http://www.flickr.com/photos/revdancatt/400814032Copyright © 2012 NTT DATA CORPORATION
  67. 67. 顧客はクラウドの中 http://www.flickr.com/photos/dannykboyd/4746718211 不特定多数の顧客や潜在的な顧客 顧客自身も“本当に欲しい物”に気付いていない 誰からも使われない機能の“ムダ” Copyright © 2012 NTT DATA CORPORATION
  68. 68. イノベーター理論とフィードバック イノベーターとアーリーアダプター 両ユーザに対して先行リリースしてFBを得る ア レ ア ー イ ー リ イ ト リ ー ノ マ ラ ー マ ベ ジ ガ ア ジ ー ョ ー ダ ョ タ リ ド プ リ ー テ タ テ ィ ー ィ ー ー 2.5% 13.5% 34% 34% 16% Copyright © 2012 NTT DATA CORPORATION
  69. 69. MVP(Minimum Viable Product) Copyright © 2012 NTT DATA CORPORATION http://www.flickr.com/photos/kmk7702/5917424548/ 必要最小限のプロダクト/フィーチャー ユーザからのフィードバックを受けるための最小単位
  70. 70. カナリヤリリース通常エンハンス Release Deploy 一般ユーザ ユーザストーリー CI Env. ATT Env. Production Env.新フィーチャー Release Deplo y Deploy コア 一般ユーザ ユーザ ユーザストーリー CI Env. ATT Env. Canary Env. Production Env.(MVP) Feedback Copyright © 2012 NTT DATA CORPORATION
  71. 71. 顧客へ迅速に価値の高いソフトウェアをデリバリーするために!一緒に議論していきましょう! Fin. TFS , Team Foundation ServerおよびVisual Studio は、米国 Microsoft CORPORATIONの米国およびその他の国における登録商標または商標です。 その他、記載されている会社名、商品名、サービス名等は、各社の商標または登録商標です。Copyright © 2012 NTT DATA CORPORATION

×