Slide 1

Slide 1 text

Role of Team Structures in DevOps Transformation Journey Adarsh Shah Principal Consultant @ Contino ShahAdarsh Deck: http://bit.ly/team-structures

Slide 2

Slide 2 text

Common team structures for DevOps Dev & Ops collaboration Collaboration Dev Ops Dev SRE HandOff - Meets Standards? Site Reliability Engineering (Google) Dev Cross-functional team Platform Engineering team Platform Api driven monitoring tools analytics App Dev 1 Ops App Dev 2 server provisioning self service pipelines container platform

Slide 3

Slide 3 text

Conway’s law “Organizations which design systems, are constrained to produce designs which are copies of the communication structures of these organizations” - Melvin Conway

Slide 4

Slide 4 text

Dev & Ops silo

Slide 5

Slide 5 text

Dev Ops Software Development

Slide 6

Slide 6 text

Dev Ops Software Development IT buying Monitoring servers Respond to Outages Change Control Backup & DR planning Software Deployment Application monitoring & support Server provisioning & configuration

Slide 7

Slide 7 text

Issues • Communication barriers • Project focused instead of Product • Waste during “hand-off” • Increased feature lead time

Slide 8

Slide 8 text

Dev Ops QA

Slide 9

Slide 9 text

Dev Ops QA

Slide 10

Slide 10 text

Dev Ops QA

Slide 11

Slide 11 text

Dev & Ops collaboration

Slide 12

Slide 12 text

Dev Ops Software Development IT buying Monitoring servers Respond to Outages Change Control Backup & DR planning Software Deployment Application monitoring & support Server provisioning & configuration

Slide 13

Slide 13 text

IT buying Monitoring servers Respond to Outages Change Control Backup & DR planning Software Deployment Application monitoring & support Server provisioning & configuration Software Development Dev Ops

Slide 14

Slide 14 text

Collaboration Software Deployment Application monitoring & support Server provisioning & configuration Dev Ops Software Development IT buying Respond to Outages Change Control Backup & DR planning Monitoring servers

Slide 15

Slide 15 text

Dev Ops Software Development Software Deployment Application monitoring & support Server provisioning & configuration IT buying Respond to Outages Change Control Backup & DR planning Monitoring servers

Slide 16

Slide 16 text

Advantages of this model • Improved communication & collaboration • Reduced feature lead time • Software stability and quality

Slide 17

Slide 17 text

For this model to work • Dev and Ops - Shared vision • Organizational maturity • Need skills to self-manage operations stack

Slide 18

Slide 18 text

Cross-functional team

Slide 19

Slide 19 text

Product team Software Development IT buying Monitoring servers Respond to Outages Change Control Backup & DR planning Software Deployment Application monitoring & support Server provisioning & configuration

Slide 20

Slide 20 text

Software Development IT buying Monitoring servers Respond to Outages Change Control Backup & DR planning Software Deployment Application monitoring & support Server provisioning & configuration Product team

Slide 21

Slide 21 text

Why Cross functional? • Promotes product thinking • Empowers teams • Autonomy • Reduces feature lead time

Slide 22

Slide 22 text

Site Reliability Engineering

Slide 23

Slide 23 text

Site Reliability Engineering is what happens when you ask a software engineer to design an operations team - Ben Sloss, Senior VP (technical operations) at Google

Slide 24

Slide 24 text

Attributes of SRE • Site reliability & uptime is really critical • Engineers + very close to engineers with Ops skills • Focused on automation • Empowered SRE team • Data Driven & techniques like Error Budgeting

Slide 25

Slide 25 text

Dev Ops Software Development

Slide 26

Slide 26 text

Dev SRE Software Development

Slide 27

Slide 27 text

Dev SRE Software Development HandOff - Meets Standards?

Slide 28

Slide 28 text

Dev SRE Software Development IT buying Monitoring servers Respond to Outages Change Control Backup & DR planning Software Deployment Application monitoring & support Server provisioning & configuration Automation Data Driven

Slide 29

Slide 29 text

Platform Engineering team

Slide 30

Slide 30 text

Platform Engineering Team is responsible for operating a platform which enables delivery teams to self-service deploy and operate systems with reduced lead time and complexity

Slide 31

Slide 31 text

Example responsibilities Platform Api driven monitoring tools analytics server provisioning self service pipelines container platform App Dev 1 Ops App Dev 2

Slide 32

Slide 32 text

Example Workflow new microservice trigger Platform Dev Dockerfile my-service.yml self service pipelines containers monitoring analytics server provisioning api call

Slide 33

Slide 33 text

Why Platform engineering team? - Teams lack skills to self-manage full app & ops stack - Delivery teams still responsible for supporting what they deploy onto the platform

Slide 34

Slide 34 text

Journey

Slide 35

Slide 35 text

Common team structures for DevOps Dev & Ops collaboration Collaboration Dev Ops Dev SRE HandOff - Meets Standards? Site Reliability Engineering (Google) Dev Cross-functional team Platform Engineering team Platform Api driven monitoring tools analytics App Dev 1 Ops App Dev 2 server provisioning self service pipelines container platform

Slide 36

Slide 36 text

Dev Ops Dev & Ops Dev & Ops collaboration Collaboration Dev Ops Dev SRE HandOff - Meets Standards? Site Reliability Engineering (Google) Platform

Slide 37

Slide 37 text

Questions Adarsh Shah Principal Consultant @ Contino ShahAdarsh Deck: http://bit.ly/team-structures