SlideShare a Scribd company logo
Enterprise Agile and DevOps
Vol.01 May/25/2016
Yasunobu Kawaguchi
Product Strategy Department, Rakuten Inc.
http://tech.rakuten.co.jp/
2
> whoami
Yasunobu Kawaguchi
Agile Coach
3
アジャイル開発手法を
チームを越えて適用する
取り組みの総称である。
エンタープライズアジャイルとは…
Enterprise Agile :
Agile in Enterprise
4
Courtesy by Michael Sahota
http://agilitrix.com/2015/03/enterprise-agile-agile-enterprise/
5
Courtesy by Michael Sahota
http://agilitrix.com/2015/03/enterprise-agile-agile-enterprise/
6
A:チーム運営上の課題
A-1 プロジェクトチーム解散時の記憶喪失
A-2 チームの熟成不足
A-3 スキルとプロセス合意の不足
B:チーム外との調整の課題
B-1 チーム外との調整負担
B-2 承認プロセスが足を引っ張る
B-3 予算管理や受発注契約と開発プロセスの不一致
C:組織全体の課題
C-1 評価制度のミスマッチ:
C-2 指導者の不足
C-3 情報共有不足と不信感
7
A-1 プロジェクトチーム解散時の記憶喪失
プロジェクト終了時にチームが解散し、
チームに蓄積された多くのノウハウや
暗黙知が失われ、「記憶喪失」が発生する。
スモールチーム
の維持
事例共有会、
技術勉強会、
コミュニティ
自動化と
リポジトリの共有
8
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社)
9
A:チーム運営上の課題
A-1 プロジェクトチーム解散時の記憶喪失
A-2 チームの熟成不足
A-3 スキルとプロセス合意の不足
B:チーム外との調整の課題
B-1 チーム外との調整負担
B-2 承認プロセスが足を引っ張る
B-3 予算管理や受発注契約と開発プロセスの不一致
C:組織全体の課題
C-1 評価制度のミスマッチ
C-2 指導者の不足
C-3 情報共有不足と不信感
10
A:チーム運営上の課題
A-1 プロジェクトチーム解散時の記憶喪失
A-2 チームの熟成不足
A-3 スキルとプロセス合意の不足
B:チーム外との調整の課題
B-1 チーム外との調整負担
B-2 承認プロセスが足を引っ張る
B-3 予算管理や受発注契約と開発プロセスの不一致
C:組織全体の課題
C-1 評価制度のミスマッチ
C-2 指導者の不足
C-3 情報共有不足と不信感
このあたり
DevOpsが
効果ありそう
11
A-2 チームの熟成不足
プロジェクトの全体工数見積もりと予算確保の後に開発チームが
編成される場合、チームビルディングに時間がかかる。その場合、
実際に作業にあたる開発チームの知見を利用した見積もりを
行っていないために計画精度が悪く、チームのコミットメントも
低くなる。
スモールチーム
の維持
スクラム研修、
メンバーの
スキル分析
定期的な
計画とふりかえり
12
A-3 スキルとプロセス合意の不足
チーム内のスキルが不足していて
短期間でリリースできない場合や、
プロセスについての合意が不足すると、
予定した成果物が出ないといった問題が生じる。
事例共有会、
技術勉強会、
コミュニティ
スクラム研修、
メンバーの
スキル分析
テストの
コーディング研修
13
B-1 チーム外との調整負担
職能別組織の場合、 あるスキルを持つ人々が専門の部署
にいて、開発チームとの協働するために時間がかかる。
一方、事業別組織では、調査などの予算や教育が部門ごとで、
部署を超えた情報共有が起こりにくい。
事例共有会、
技術勉強会、
コミュニティ
明確な
プロダクト
オーナー
関係者への
成果物のデモと
フィードバック
14
B-2 承認プロセスが足を引っ張る
チームが適切な権限を持っておらず、シニアマネジメントや
委員会での承認や手続きが必要なことがある。過去に
発生した障害の再発を防ぐ目的でプロセスが追加され、
予算執行・ドキュメント・手順などの事前チェックによって
スピードが落ちる。
マネジメント
からの支援
関係者への
成果物のデモと
フィードバック
明確な
プロダクト
オーナー
15
What is ?
16
Dev : Development
Ops : Operations
DevOps : Faster Feedback
for Business
Old Way
DevOps Way
Automation
Hand-offs and Approvals
Small Team
Reduce Waste (Time and Money)
18
Faster Feedback Loop
19
http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr
Flickr
20
http://www.slideshare.net/jallspaw/10-
deploys-per-day-dev-and-ops-
cooperation-at-flickr
21
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
22
Microsoft Yahoo!
Even in older companies…
23
Rakuten
24
2016
October
25
Why?
26
Agile
Technical Excellence
Small Team
DevOps
Cloud
Enterprise
Virtualization
Automation
Self Service
Quality
Organization
Collaboration
Customer Value
and
on
27
28
Hand-offs and Approvals
Real Time Co-Work
Enterprise
Startups
29
Hand-offs
30
Hand-offs
Small Team
31
Hand-offs
Automation
Small Team
32
33
Business
Sales
Creative
Marketing
Development
Product
Enterprise
34
Business
Sales
Creative
Marketing
Development
DevOps
35
Business
Sales
Creative
Marketing
Development
DevOps
Cross Functional
Cover All Skillsets
Trusted by others
36
37
Enterprise
Hand-offs and Approvals
38
Automation
DevOps
Enterprise
Hand-offs and Approvals
39
Automation
DevOps
Enterprise
Hand-offs and Approvals
Self Service
Fast and Frequent
Value Stream
DevOps Real Life Examples at Rakuten
Vol.01 May/25/2016
Dimitrov Kanio
Ecosystem Service Department, Rakuten Inc.
http://tech.rakuten.co.jp/
About Me
Azure MVP, Architect & Advisor
Tokyo Azure Meetup Host
twitter: @azurekanio
blog: https://azurekan.wordpress.com/
Black Ships
42
Rakuten Shugi
43
• Always Improve, Always Advance
• Passionately Professional
• Hypothesize -> Practice -> Validate -> Shikumika
• Maximize Customer Satisfaction
• Speed!! Speed!! Speed!!!
DevOps
44
Culture
45
Rakuten Shugi DevOps
Always Improve, Always Advance Managing Technical Debt
Passionately Professional Team Autonomy & Enterprise
Alignment; Production First Mindset
Hypothesize -> Practice -> Validate ->
Shikumika
Evidence gathered in Production;
Backlog groomed with Learning
Maximize Customer Satisfaction Flow of Customer Value
Speed!! Speed!! Speed!!! Managing Infrastructure as a Flexible
Resource
@
Mobile Ecosystem Team
Agenda
Dev
Ops
Team
Tools
Services
Data
Analysis
Process
Process – Predictability and Discipline
Dev
Ops
Team
Tools
Services
Data
Analysis
Process
Process - Scrum
Team – Critical Success Factor
Dev
Ops
Team
Tools
Services
Data
Analysis
Process
Feature Teams
Developers QA DevOps Product
Manager
Project
Manager
• Owns, Develops and Supports Features
Tools – DevOps Philosophy Applied
Dev
Ops
Team
Tools
Services
Data
Analysis
Process
Build Server - Roles
• Central part of development process
• Integrated with Messaging App (Hip Chat) forreal time
reporting
• Global Collaboration
– Tokyo, Japan
– San Mateo, USA
– Cambridge, UK
– Bangalore, India
Build Server - Roles
• Centralized deployment
• Configuration management
• Resource provisioning in the cloud
• Start / stop agents on demand
Build Server – Code Quality
• Feature branches builds – Build during development
• Reduce Code Review - Automation
• Gated Builds – Merge only if successful build exist
Build
Unit
Tests
Code
Coverage
Build Server – Code Quality
Style
Cop
Sonar
Cube
Patch
Config
Backup Deployment
Integration
Tests
Microsoft
Azure
Build Server Set Up
Build Server
Agent AgentAgent Agent
Tokyo San Mateo Cambridge Bangalore
Automation Tools
• PowerShell
• Azure Resource Manager
• Azure Automation
• Azure Backup
Cloud Services – optimized for DevOps
Dev
Ops
Team
Tools
Services
Data
Analysis
Process
Azure Web App
• Hosting Web Sites
• Hosting Web API-s
• Hosting Background Workers– Web Jobs
• Hybrid Scenarios – Express Route
DevOps
• Built-in staging
• Roll-back – Blue / Green
• Testing -in-production
• Auto Scaling based on custom rules
• Performance testing
Deployment - Auto Swap
• Zero Downtime, Zero Cold Start
Automated Deployment Workflow
Internet
Traffic
Load
Balancer
Production
Slot
Staging
Slot
Application
Insights
Error
Tracker
Function
Cleanup
Function
Error
Checker
Function
Error
Table
PowerShell, Build Server Step
Change
Traffic
Routing
Deploy
Source
Code
Swap
Demo
Technical Debt - Shared Data Context
API #1
API #2
API #3
API #4
API #5Azure SQL Database,
Code First Approach
Issues – Schema change affects all
API #1
API #2
API #3
API #4
API #5
DB
Schema
Change
Initial State - Coupling
Group => Split
Microservices
• Small Autonomous services that work together,
modelled around a business domain
• Small - 2 weeks to rewrite / few hundred lines of code
• Independently scalable and deployable
API Relations
API #3
API #8
API #1 API #4
API #5
API #2
API #7
API #6
API #9
6 Callers
4 Callers
2 Callers
Microservices Model
Microservices Characteristics
• Very simple services
• Use best tool for the job
• Loosely coupled
• Independent teams
• Great for continuous delivery
Bounded Context
Microservices Principles
• Model around business domain
• Hide Implementation (database)
• Automation
• Chunky, not Chatty Communication
Microservices Principles
• Dumb pipes, smart endpoints
• Deploy independently
• Highly Observable
• Isolate Failure
• Chaos Monkey
Microservices Challenges
• Significant Operations Overhead
• DevOps skills required
• Implicit Interfaces
Microservices Challenges
• Distributed Computing Complexity
• Duplication of Effort
• Testability Challenges
Azure Service Fabric
• Generally Available
• Powers key Azure Services
• Great tooling
• Pay only for the infrastructure
Deploy Everywhere
Azure Service Fabric
• Docker support coming
• Azure Stack support coming
• Preview for Linux
Models
• Reliable Services:
– Stateless
– Stateful (reliable collections)
• Reliable Actors :
– Independent objects (“actors”)
– Service Fabric takes care:
• Deployment
• Scaling
• Communication across actors
DevOps
• Any framework supported
• Rolling upgrades
• Automatic rollback
• Application always in consistent state
• Fully scriptable -> easy to integrate with CI / CD
Demo
Data – The Greatest Asset
Dev
Ops
Team
Tools
Services
Data
Analysis
Process
Monitoring
Microsoft
Azure -
Compute
Application Insights
Support
Team
Azure Storage
Analysis - Identify Trends=> Improve
Dev
Ops
Team
Tools
Services
Data
Analysis
Process
Learn from Errors
• Incidents Weekly Review Meeting
• Pattern identification
• Architecting solutions
• Share lessons learnt

More Related Content

PDF
Pivotal Trackerでアジャイルなプロジェクト管理
PDF
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
PDF
ソフトウェア構成管理入門
PDF
CIサーバを制圧せよ! - プロジェクトメトリクスと自動化技術の活用よる混乱の収拾と「最強」の組織の育成
PDF
Artifact Driven CI/CD
PDF
RAD Studioで実践する継続的インテグレーション アプリとデベロッパーの価値を拡張するエッセンス #dcamp_jp
PDF
【19-B-4】 そろそろ俺たちの本気を見せてやるぜ!~ マイクロソフトとOSSごった煮 DevOps 衝撃デモシリーズ!
PPT
大規模アジャイル Ibm
Pivotal Trackerでアジャイルなプロジェクト管理
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
ソフトウェア構成管理入門
CIサーバを制圧せよ! - プロジェクトメトリクスと自動化技術の活用よる混乱の収拾と「最強」の組織の育成
Artifact Driven CI/CD
RAD Studioで実践する継続的インテグレーション アプリとデベロッパーの価値を拡張するエッセンス #dcamp_jp
【19-B-4】 そろそろ俺たちの本気を見せてやるぜ!~ マイクロソフトとOSSごった煮 DevOps 衝撃デモシリーズ!
大規模アジャイル Ibm

What's hot (11)

PDF
Devops days 2018 Effective feedback from OPS case study in Rakuten email service
PDF
機敏な製品リリースを可能にする企業内の連携モデルを提示するScaled Agile Framework (SAFe) のご紹介
PDF
PDF
AgileJapan2010 Alan Shalloway's keynote: What Is Next In the Agile World - Ja...
PPTX
心・技・態 -LINEにおける改善の真実-
PDF
自社開発プロダクト ALL-IN で行っている単体テストのパフォーマンスチューニングTips
PDF
アジャイルRCA
PDF
これからのソフトウェア開発での
プロジェクト管理の展望【リックソフトセミナー】
PDF
Agileツール適合化分科会(構成管理・ビルドツール)
PDF
なんたって”DevQA” アジャイル開発とQAの合体が改善を生む - 永田 敦 氏 #postudy
PDF
開発とテストが一体となったソフトウェア開発
Devops days 2018 Effective feedback from OPS case study in Rakuten email service
機敏な製品リリースを可能にする企業内の連携モデルを提示するScaled Agile Framework (SAFe) のご紹介
AgileJapan2010 Alan Shalloway's keynote: What Is Next In the Agile World - Ja...
心・技・態 -LINEにおける改善の真実-
自社開発プロダクト ALL-IN で行っている単体テストのパフォーマンスチューニングTips
アジャイルRCA
これからのソフトウェア開発での
プロジェクト管理の展望【リックソフトセミナー】
Agileツール適合化分科会(構成管理・ビルドツール)
なんたって”DevQA” アジャイル開発とQAの合体が改善を生む - 永田 敦 氏 #postudy
開発とテストが一体となったソフトウェア開発
Ad

Similar to DOO-004_楽天での DevOps 実践事例と Azure ベスト プラクティス (20)

PDF
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
PPTX
Bringing Continuous Agile to Japan
PPTX
20211109 JAWS-UG SRE keynotes
PPTX
GitLab好きのAzureユーザーに朗報!あなたのAzure OpenAIをつかって、GitLabでAIを使う方法とメリットをご紹介.pptx
PPTX
Agile at salesforce
PPTX
Agile Development at Salesforce
PDF
楽天がCloud foundryを選んだ理由
PDF
Provisioning & Deploy on AWS
PDF
DAY2_Keynote_Alan Shalloway
PDF
To be sn agile enterprise
PDF
[TL09] 突撃! 隣の Visual Studio Team Services / Team Foundation Server ~利用者からのベスト...
PDF
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
PDF
Go azure tfs_service
PDF
A 1-1 tfs on azure で始めるイマドキのソフトウェア開発
PDF
今なぜサーバーレスなのか
PDF
イノベーションスプリント2011 infragisticsにおける世界分散アジャイル開発事例~ communication matters ~
PDF
楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten, core skills neede...
PDF
なぜ「マイクロサービス“化”」が必要なのか
PDF
チーム×ツール Team Foundation Server & Service 共感しActionできる開発基盤 アルティメイタム【デブサミ 2013 ...
PDF
【de:code 2020】 アマダの Azure への取り組みと DevOPS・MLOPS 環境の構築と運用
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
Bringing Continuous Agile to Japan
20211109 JAWS-UG SRE keynotes
GitLab好きのAzureユーザーに朗報!あなたのAzure OpenAIをつかって、GitLabでAIを使う方法とメリットをご紹介.pptx
Agile at salesforce
Agile Development at Salesforce
楽天がCloud foundryを選んだ理由
Provisioning & Deploy on AWS
DAY2_Keynote_Alan Shalloway
To be sn agile enterprise
[TL09] 突撃! 隣の Visual Studio Team Services / Team Foundation Server ~利用者からのベスト...
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
Go azure tfs_service
A 1-1 tfs on azure で始めるイマドキのソフトウェア開発
今なぜサーバーレスなのか
イノベーションスプリント2011 infragisticsにおける世界分散アジャイル開発事例~ communication matters ~
楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten, core skills neede...
なぜ「マイクロサービス“化”」が必要なのか
チーム×ツール Team Foundation Server & Service 共感しActionできる開発基盤 アルティメイタム【デブサミ 2013 ...
【de:code 2020】 アマダの Azure への取り組みと DevOPS・MLOPS 環境の構築と運用
Ad

More from decode2016 (20)

PDF
SPL-005_オープンソースから見たマイクロソフト
PDF
SPL-004_Windows 10 開発の舞台裏から学ぶエンジニアの未来
PDF
SPL-003_黒船襲来! 世界DevOps トップ企業 x マイクロソフトによるトークバトル セッション
PDF
SPL-002_クラウド心配性な上司を説得するコツを伝授します ~本当に信頼できるクラウドの構築/運用とは? マイクロソフト クラウド成長の軌跡~
PDF
PRD-009_クラウドの ERP による業務システム開発 ~OData エンド ポイントから Power BI 連携~
PDF
PRD-008_クラウド ネイティブ ERP ~Dynamics AX のアーキテクチャ/環境構築から開発/運用まで~
PDF
PRD-006_機械学習で顧客対応はこう変わる! Azure ML と Dynamics で造る次世代 CRM
PDF
PRD-005_Skype Developer Platform によるアプリケーション開発の最新情報
PDF
PRD-004_ここまでできる! Azure AD と Office 365 連携開発の先進手法
PDF
PRD-002_SharePoint Server 2016 & Online ハイブリッド環境での業務活用
PDF
INF-028_そのエラーやお困りごと、ツールを使えば解決できるかも! ~Sysinternals や OS 標準ツールの徹底活用術~
PDF
INF-027_セキュリティ マニアックス -サイバー攻撃の手口と防御手法- ~敵を知り、己を知れば百戦危うからず~
PDF
INF-026_真のクラウドベース EMM ~マイクロソフトのモビリティ戦略はいかにユニークか~
PDF
INF-025_企業で使える Windows 10 ~現実的なアプリ & デバイス管理~
PDF
INF-024_Windows 10 の展開 ~プロビジョニング? いやワイプ & ロードでしょ!~
PDF
INF-023_マイクロソフトの特権管理ソリューションの全貌 ~永続的な管理者特権の廃止への道~
PDF
INF-022_情報漏えいを責めるべからず。今必要な対策とは? ~Windows 10 セキュリティ機能徹底解説~
PDF
INF-021_実践! Windows as a Service との上手な付き合い方 ~新しい OS 更新管理の徹底解説~
PDF
INF-020_メーカーがおしえてくれない正しいクラウドについて
PDF
INF-019_Nano Server だけでここまでできる! ~極小サーバーの使い方~
SPL-005_オープンソースから見たマイクロソフト
SPL-004_Windows 10 開発の舞台裏から学ぶエンジニアの未来
SPL-003_黒船襲来! 世界DevOps トップ企業 x マイクロソフトによるトークバトル セッション
SPL-002_クラウド心配性な上司を説得するコツを伝授します ~本当に信頼できるクラウドの構築/運用とは? マイクロソフト クラウド成長の軌跡~
PRD-009_クラウドの ERP による業務システム開発 ~OData エンド ポイントから Power BI 連携~
PRD-008_クラウド ネイティブ ERP ~Dynamics AX のアーキテクチャ/環境構築から開発/運用まで~
PRD-006_機械学習で顧客対応はこう変わる! Azure ML と Dynamics で造る次世代 CRM
PRD-005_Skype Developer Platform によるアプリケーション開発の最新情報
PRD-004_ここまでできる! Azure AD と Office 365 連携開発の先進手法
PRD-002_SharePoint Server 2016 & Online ハイブリッド環境での業務活用
INF-028_そのエラーやお困りごと、ツールを使えば解決できるかも! ~Sysinternals や OS 標準ツールの徹底活用術~
INF-027_セキュリティ マニアックス -サイバー攻撃の手口と防御手法- ~敵を知り、己を知れば百戦危うからず~
INF-026_真のクラウドベース EMM ~マイクロソフトのモビリティ戦略はいかにユニークか~
INF-025_企業で使える Windows 10 ~現実的なアプリ & デバイス管理~
INF-024_Windows 10 の展開 ~プロビジョニング? いやワイプ & ロードでしょ!~
INF-023_マイクロソフトの特権管理ソリューションの全貌 ~永続的な管理者特権の廃止への道~
INF-022_情報漏えいを責めるべからず。今必要な対策とは? ~Windows 10 セキュリティ機能徹底解説~
INF-021_実践! Windows as a Service との上手な付き合い方 ~新しい OS 更新管理の徹底解説~
INF-020_メーカーがおしえてくれない正しいクラウドについて
INF-019_Nano Server だけでここまでできる! ~極小サーバーの使い方~

DOO-004_楽天での DevOps 実践事例と Azure ベスト プラクティス