Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

2 >  whoami Yasunobu  Kawaguchi Agile  Coach

Slide 3

Slide 3 text

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.

Slide 4

Slide 4 text

4

Slide 5

Slide 5 text

5 Dev Ops 越えられない壁

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

7 Dev Ops Test Ops Ops Ops Ops 煩雑な交渉 Dev Ops Test 業務専門家 標準パターン 自動化スクリプト ワンクリック! 権限の不足している サービスチーム 十分な権限のある サービスチーム

Slide 8

Slide 8 text

8 プロビジョニング サーバ情報 テスト結果 CI  システム テスト Cookbook Terraform Files Pull  Request Review デプロイメントパイプライン Opsの自動化 開発〜テストの 自動化

Slide 9

Slide 9 text

9 0 50 100 150 200 旧チーム体制 Dolphin (hours) 99.40%削減 Dev,  Ops,  Testの三位一体の自動化により それぞれの自動化の効果を最大化 Build Functional Test Provisioning (Deploy) Non-­‐Functional Test Test  Report リードタイム

Slide 10

Slide 10 text

10 そしてDevとOpsの 壁がなくなった・・・

Slide 11

Slide 11 text

11 What  is ?

Slide 12

Slide 12 text

12 Dev  :  Development  開発者 Ops  :  Operations  運用者 DevOps  :  協力してビジネスに より迅速に対応する

Slide 13

Slide 13 text

13 アジャイル 技術的卓越性 スモールチーム DevOps クラウド エンタープライズ 仮想化 自動化 セルフサービス 品質 組織 コラボレーション 顧客価値 and on

Slide 14

Slide 14 text

14 http://www.slideshare.net/jallspaw/10-­deploys-­per-­day-­dev-­and-­ops-­cooperation-­at-­flickr Flickr

Slide 15

Slide 15 text

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. 非難しない

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

18 Rakuten

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

22 A:チーム運営上の課題 A-1 プロジェクチーム解散時の記憶喪失 A-2 チームの熟成不足 A-3 スキルとプロセス合意の不足 B:チーム外との調整の課題 B-1 チーム外との調整負担 B-2 承認プロセスが足を引っ張る B-3 予算管理や受発注契約と開発プロセスの不一致 C:組織全体の課題 C-1 評価制度のミスマッチ: C-2 指導者の不足 C-3 情報共有不足と不信感

Slide 23

Slide 23 text

23 A-1 プロジェクトチーム解散時の記憶喪失 プロジェクト終了時にチームが解散し、 チームに蓄積された多くのノウハウや 暗黙知が失われ、「記憶喪失」が発生する。 スモールチーム の維持 事例共有会、 技術勉強会、 コミュニティ 自動化と リポジトリの共有

Slide 24

Slide 24 text

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社)

Slide 25

Slide 25 text

25 A-2 チームの熟成不足 プロジェクトの全体工数見積もりと予算確保の後に開発チームが 編成される場合、チームビルディングに時間がかかる。その場合、 実際に作業にあたる開発チームの知見を利用した見積もりを 行っていないために計画精度が悪く、チームのコミットメントも 低くなる。 スモールチーム の維持 スクラム研修、 メンバーの スキル分析 定期的な 計画とふりかえり

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

27 B-1 チーム外との調整負担 職能別組織の場合、 あるスキルを持つ人々が専門の部署 にいて、開発チームとの協働するために時間がかかる。 一方、事業別組織では、調査などの予算や教育が部門ごとで、 部署を超えた情報共有が起こりにくい。 事例共有会、 技術勉強会、 コミュニティ 自動化と リポジトリの共有 明確な プロダクト オーナー

Slide 28

Slide 28 text

28 A:チーム運営上の課題 A-1 プロジェクチーム解散時の記憶喪失 A-2 チームの熟成不足 A-3 スキルとプロセス合意の不足 B:チーム外との調整の課題 B-1 チーム外との調整負担 B-2 承認プロセスが足を引っ張る B-3 予算管理や受発注契約と開発プロセスの不一致 C:組織全体の課題 C-1 評価制度のミスマッチ: C-2 指導者の不足 C-3 情報共有不足と不信感

Slide 29

Slide 29 text

29

Slide 30

Slide 30 text

30

Slide 31

Slide 31 text

31

Slide 32

Slide 32 text

32 マ ジ

Slide 33

Slide 33 text

33

Slide 34

Slide 34 text

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.

Slide 35

Slide 35 text

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.

Slide 36

Slide 36 text

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.

Slide 37

Slide 37 text

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.

Slide 38

Slide 38 text

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.

Slide 39

Slide 39 text

39 この飛行機はどうやったら うまく着陸できるでしょうか?

Slide 40

Slide 40 text

40 ?

Slide 41

Slide 41 text

41

Slide 42

Slide 42 text

42

Slide 43

Slide 43 text

43 ! 違うかも

Slide 44

Slide 44 text

44 ! 違うかも 微調整!

Slide 45

Slide 45 text

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

Slide 46

Slide 46 text

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

Slide 47

Slide 47 text

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

Slide 48

Slide 48 text

48 同じ距離

Slide 49

Slide 49 text

49 同じ距離 同じ高度

Slide 50

Slide 50 text

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

Slide 51

Slide 51 text

51 予測可能!

Slide 52

Slide 52 text

DevOps!!