Developer Isolation: How DevOps Helps Team Building
Baltimore Drupal Camp - Oct. 12th, 2018 Matt Westgate @mettamatt
Developer Isolation: How DevOps Helps Team Building Baltimore Drupal - - PowerPoint PPT Presentation
Developer Isolation: How DevOps Helps Team Building Baltimore Drupal Camp - Oct. 12 th , 2018 Matt Westgate @mettamatt About Me 15+ years of Drupal. Yikes! Iowa native DevOps is a collaboration movement. Development Production
Baltimore Drupal Camp - Oct. 12th, 2018 Matt Westgate @mettamatt
Development Production Operations
Team Effectiveness1
Psychological Safety4
I feel safe to take risks and be vulnerable in front of my team.
Dependability
We complete quality work on time.
Structure & Clarity
We have clear roles, plans and goals.
Meaning
My work is personally important to me.
Impact
The result of my work matters.
Information Flow2
High Cooperation Shared Risks Loosely Coupled Teams Failure -> Inquiry Novelty Implemented
Tooling3
Version Control Code Reviews Build Environments Test Automation Deployment Automation
1. re:Work with Google: https://rework.withgoogle.com/guides/understanding-team-effectiveness/ (2016, Google) 2. A Typology of Organisational Cultures: https://qualitysafety.bmj.com/content/13/suppl_2/ii22 (Westrum, 2004) 3. State of DevOps Report: https://puppet.com/resources/whitepaper/state-of-devops-report (2018, DORA) 4. Psychological Safety and Learning Behavior: https://www.jstor.org/stable/2666999 (1999, Edmondson)
Safety Collaboration DevOps
Power oriented Rule oriented Performance oriented Low cooperation Modest cooperation High cooperation Messengers shot Messengers neglected Messengers trained Responsibilities shirked Narrow responsibilities Risks are shared Bridging discouraged Bridging tolerated Bridging encouraged Failure -> scapegoating Failure -> justice Failure -> inquiry1 Novelty crushed Novelty > problems Novelty implemented
1. Blameless PostMortems: https://codeascraft.com/2012/05/22/blameless-postmortems/
Team Effectiveness1
Psychological Safety
I feel safe to take risks and be vulnerable in front of my team.
Dependability
We complete quality work on time.
Structure & Clarity
We have clear roles, plans and goals.
Meaning
My work is personally important to me.
Impact
The result of my work matters.
Information Flow2
High Cooperation Shared Risks Loosely Coupled Teams Failure -> Inquiry Novelty Implemented
Tooling3
Version Control Code Reviews Build Environments Test Automation Deployment Automation
1. re:Work with Google: https://rework.withgoogle.com/guides/understanding-team-effectiveness/steps/introduction/ 2. A Typology of Organisational Cultures: https://qualitysafety.bmj.com/content/13/suppl_2/ii22 3. State of DevOps Report: https://puppet.com/resources/whitepaper/state-of-devops-report
Safety Collaboration DevOps
Team Effectiveness1
Psychological Safety
I feel safe to take risks and be vulnerable in front of my team.
Dependability
We complete quality work on time.
Structure & Clarity
We have clear roles, plans and goals.
Meaning
My work is personally important to me.
Impact
The result of my work matters.
Information Flow2
High Cooperation Shared Risks Loosely Coupled Teams Failure -> Inquiry Novelty Implemented
Tooling3
Version Control Code Reviews Build Environments Test Automation Deployment Automation
1. re:Work with Google: https://rework.withgoogle.com/guides/understanding-team-effectiveness/steps/introduction/ 2. A Typology of Organisational Cultures: https://qualitysafety.bmj.com/content/13/suppl_2/ii22 3. State of DevOps Report: https://puppet.com/resources/whitepaper/state-of-devops-report
○ Don’t ask questions
○ Don’t admit weakness or mistakes
○ Don’t offer ideas
○ Don’t critique the status quo
1. Frame the work as a learning problem. Not an execution problem. 2. Acknowledge your own fallibility. 3. Model curiosity
https://github.com/features/code-review/
Release Plan Developer Developer Developer Developer Developer Stakeholder Stakeholder Stakeholder QA Release Integration Deploy to Prod Bug Bug
Staging Developer
Release Plan Developer Developer Developer Developer Developer Stakeholder Stakeholder Stakeholder QA Release Integration Deploy to Prod Bug Bug Release Plan Release Plan Release Plan Release Plan Stakeholder Stakeholder
Preview Preview Preview Preview Preview
services: php: image: tugboatqa/php:apache depends: mysql commands: init:
update:
build:
mysql: image: tugboatqa/mysql commands: update:
It’s free!