Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Enterprise Agile and DevOps

Enterprise Agile and DevOps

A64ac825509279a770c13c6fc517f11a?s=128

Yasunobu Kawaguchi

July 26, 2016
Tweet

Transcript

  1. 楽天でのエンタープライズアジャイルとDevOps ~Dev/Test/Ops  三位一体の自動化~ Vol.01 Jul/19/2016 Yasunobu  Kawaguchi Rakuten Inc. http://tech.rakuten.co.jp/

  2. 2 >  whoami Yasunobu  Kawaguchi Agile  Coach

  3. 3 Jan  2011 Dr.  Jeff  Sutherland Prof.  Ikujiro Nonaka Mr.

     Kenji  Hiranabe INNOVATION  SPRINT  2011  @  Rakuten Tower  1 Co-­creator  of  Scrum adapted  from  Joe  Justice,  Scrum  Inc.
  4. 4

  5. 5 Dev Ops 越えられない壁

  6. 6 Dev Ops Test 役割で分割されたチー ム 影響 モノリシックなアーキテクチャ インフラ DB

     レイヤ API API アプリケーション 依存 ウォータースクラムフォール? Dev Test Ops Dev 役割で分割されたチームの問題点 ・ ビジネスの非機能要件とは無関係に 組織構造によりアーキテクチャやプロセスに制約 ・ 役割を越えた作業に交渉や承認が必要 Test Ops チーム アーキテクチャ 影響 プロセス 自動テスト 影響 影響
  7. 7 Dev Ops Test Ops Ops Ops Ops 煩雑な交渉 Dev

    Ops Test 業務専門家 標準パターン 自動化スクリプト ワンクリック! 権限の不足している サービスチーム 十分な権限のある サービスチーム
  8. 8 プロビジョニング サーバ情報 テスト結果 CI  システム テスト Cookbook Terraform Files

    Pull  Request Review デプロイメントパイプライン Opsの自動化 開発〜テストの 自動化
  9. 9 0 50 100 150 200 旧チーム体制 Dolphin (hours) 99.40%削減

    Dev,  Ops,  Testの三位一体の自動化により それぞれの自動化の効果を最大化 Build Functional Test Provisioning (Deploy) Non-­‐Functional Test Test  Report リードタイム
  10. 10 そしてDevとOpsの 壁がなくなった・・・

  11. 11 What  is ?

  12. 12 Dev  :  Development  開発者 Ops  :  Operations  運用者 DevOps

     :  協力してビジネスに より迅速に対応する
  13. 13 アジャイル 技術的卓越性 スモールチーム DevOps クラウド エンタープライズ 仮想化 自動化 セルフサービス

    品質 組織 コラボレーション 顧客価値 and on
  14. 14 http://www.slideshare.net/jallspaw/10-­deploys-­per-­day-­dev-­and-­ops-­cooperation-­at-­flickr Flickr

  15. 15 http://www.slideshare.net/jallspaw/10-­ deploys-­per-­day-­dev-­and-­ops-­ cooperation-­at-­flickr 1.インフラ自動化 2.  バージョン管理の共有 3.  ビルド&デプロイ一発 4.

     フィーチャーフラグ 5. メトリクスの共有 6.  チャットとロボット 1. 尊敬 2. 信頼 3. 失敗への健全な態度 4. 非難しない
  16. 16 Amazon  Web  Services http://www.slideshare.net/shivamaan/devops-­and-­aws Facebook http://www.infoq.com/presentations/Facebook-­Release-­Process https://www.google.com/events/io/s chedule/session/c9e32eaf-­4acb-­ e311-­b297-­00155d5066d7

    Google
  17. 17 Microsoft Yahoo! 歴史ある企業でもDevOpsへの移行が起きている…

  18. 18 Rakuten

  19. 19 Courtesy  by  Michael  Sahota http://agilitrix.com/2015/03/enterprise-­agile-­agile-­enterprise/ エンタープライズ内アジャイル

  20. 20 Hand-­‐offs  and  Approvals Real  Time  Co-­‐Work Enterprise Startups

  21. 21 Courtesy  by  Michael  Sahota http://agilitrix.com/2015/03/enterprise-­agile-­agile-­enterprise/ アジャイルなエンタープライズ

  22. 22 A:チーム運営上の課題 A-1 プロジェクチーム解散時の記憶喪失 A-2 チームの熟成不足 A-3 スキルとプロセス合意の不足 B:チーム外との調整の課題 B-1

    チーム外との調整負担 B-2 承認プロセスが足を引っ張る B-3 予算管理や受発注契約と開発プロセスの不一致 C:組織全体の課題 C-1 評価制度のミスマッチ: C-2 指導者の不足 C-3 情報共有不足と不信感
  23. 23 A-1 プロジェクトチーム解散時の記憶喪失 プロジェクト終了時にチームが解散し、 チームに蓄積された多くのノウハウや 暗黙知が失われ、「記憶喪失」が発生する。 スモールチーム の維持 事例共有会、 技術勉強会、

    コミュニティ 自動化と リポジトリの共有
  24. 24 A-1 プロジェクトチーム解散時の記憶喪失 “When  we  ship  a  release  at  Microsoft,

     people  often  change  jobs. For  employees,  this  rotation  is  an  opportunity  both  to  develop  a  career and  improve  personal  satisfaction  in  trying  new  challenges.” “Although  this  is  a  healthy  pattern  for  the  company  and  its  employees   overall,  in  the  short  term  it  can  create  a  sort  of  amnesia.” Sam  Guckenheimer,  Neno Loje “Visual  Studio  Team  Foundation  Server  2012  :  Adopting  Software  Practices” 「Microsoftでは製品リリースにこぎつけると通常は 人事異動が行われます。社員にとって、この人事異動は、 キャリアを開発し、新しい挑戦を行なって 個人の満足度を高める好機です。」 「これは企業にとっても社員全体にとっても 健全なやり方ですが、短期的には一種の 記憶喪失状態を生み出すことになります。」 「アジャイルソフトウェアエンジニアリング」 (日経BP社)
  25. 25 A-2 チームの熟成不足 プロジェクトの全体工数見積もりと予算確保の後に開発チームが 編成される場合、チームビルディングに時間がかかる。その場合、 実際に作業にあたる開発チームの知見を利用した見積もりを 行っていないために計画精度が悪く、チームのコミットメントも 低くなる。 スモールチーム の維持

    スクラム研修、 メンバーの スキル分析 定期的な 計画とふりかえり
  26. 26 A-3 スキルとプロセス合意の不足 チーム内のスキルが不足していて 短期間でリリースできない場合や、 プロセスについての合意が不足すると、 予定した成果物が出ないといった問題が生じる。 事例共有会、 技術勉強会、 コミュニティ

    スクラム研修、 メンバーの スキル分析 テストの コーディング研修
  27. 27 B-1 チーム外との調整負担 職能別組織の場合、 あるスキルを持つ人々が専門の部署 にいて、開発チームとの協働するために時間がかかる。 一方、事業別組織では、調査などの予算や教育が部門ごとで、 部署を超えた情報共有が起こりにくい。 事例共有会、 技術勉強会、

    コミュニティ 自動化と リポジトリの共有 明確な プロダクト オーナー
  28. 28 A:チーム運営上の課題 A-1 プロジェクチーム解散時の記憶喪失 A-2 チームの熟成不足 A-3 スキルとプロセス合意の不足 B:チーム外との調整の課題 B-1

    チーム外との調整負担 B-2 承認プロセスが足を引っ張る B-3 予算管理や受発注契約と開発プロセスの不一致 C:組織全体の課題 C-1 評価制度のミスマッチ: C-2 指導者の不足 C-3 情報共有不足と不信感
  29. 29

  30. 30

  31. 31

  32. 32 マ ジ

  33. 33

  34. 34 Jan  2011 Dr.  Jeff  Sutherland Prof.  Ikujiro Nonaka Mr.

     Kenji  Hiranabe INNOVATION  SPRINT  2011  @  Rakuten Tower  1 Co-­creator  of  Scrum adapted  from  Joe  Justice,  Scrum  Inc.
  35. 35 Type  A  – Isolated  cycles  of  work Type  B

     – Overlapping  work Type  C  – All  at  once The  New  New  Product  Development  Game Takeuchi  and  Nonaka Harvard  Business  Review,  Jan  1986 NASA Fuji  Xerox Honda,  Canon,  etc. adapted  from  Joe  Justice,  Scrum  Inc.
  36. 36 Type  A  – Isolated  cycles  of  work Type  B

     – Overlapping  work Type  C  – All  at  once The  New  New  Product  Development  Game Takeuchi  and  Nonaka Harvard  Business  Review,  Jan  1986 NASA Fuji  Xerox Honda,  Canon,  etc. adapted  from  Joe  Justice,  Scrum  Inc.
  37. 37 Type  A  – Isolated  cycles  of  work Type  B

     – Overlapping  work Type  C  – All  at  once The  New  New  Product  Development  Game Takeuchi  and  Nonaka Harvard  Business  Review,  Jan  1986 NASA Fuji  Xerox Honda,  Canon,  etc. adapted  from  Joe  Justice,  Scrum  Inc.
  38. 38 Type  A  – Isolated  cycles  of  work Type  B

     – Overlapping  work Type  C  – All  at  once The  New  New  Product  Development  Game Takeuchi  and  Nonaka Harvard  Business  Review,  Jan  1986 NASA Fuji  Xerox Honda,  Canon,  etc. Scrum! ID  2706456  ©  Patrimonio Designs  Limited  |  Dreamstime.com Scrum adapted  from  Joe  Justice,  Scrum  Inc.
  39. 39 この飛行機はどうやったら うまく着陸できるでしょうか?

  40. 40 ?

  41. 41

  42. 42

  43. 43 ! 違うかも

  44. 44 ! 違うかも 微調整!

  45. 45 ! 違うかも 微調整! 微調整!

  46. 46 ! 違うかも 微調整! 微調整! 着陸成功!

  47. 47 セルフマネジメント ! 違うかも 微調整! 微調整! 着陸成功!

  48. 48 同じ距離

  49. 49 同じ距離 同じ高度

  50. 50 同じ距離 同じ高度 経験あるパイロット

  51. 51 予測可能!

  52. DevOps!!