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 Operations
Collaboration happens when people feel safe and included. Without safety and collaboration, a DevOps culture and practice cannot thrive.
Safety Collaboration DevOps Team Effectiveness 1 Information Flow 2 Tooling 3 Psychological Safety 4 High Cooperation Version Control I feel safe to take risks and be vulnerable in front of my team. Dependability Shared Risks Code Reviews We complete quality work on time. Structure & Clarity Loosely Coupled Teams Build Environments We have clear roles, plans and goals. Meaning Failure -> Inquiry Test Automation My work is personally important to me. Impact Novelty Implemented Deployment Automation The result of my work matters. 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)
Collaboration is measured by how well information flows in an organization.
Pathological Bureaucratic Generative 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 -> inquiry 1 Novelty crushed Novelty > problems Novelty implemented 1. Blameless PostMortems: https://codeascraft.com/2012/05/22/blameless-postmortems/
Safety Collaboration DevOps Team Effectiveness 1 Information Flow 2 Tooling 3 Psychological Safety High Cooperation Version Control I feel safe to take risks and be vulnerable in front of my team. Dependability Shared Risks Code Reviews We complete quality work on time. Structure & Clarity Loosely Coupled Teams Build Environments We have clear roles, plans and goals. Meaning Failure -> Inquiry Test Automation My work is personally important to me. Impact Novelty Implemented Deployment Automation The result of my work matters. 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
Collaboration happens when people feel safe and included. Without safety and collaboration, a DevOps culture and practice cannot thrive.
Team Effectiveness 1 Information Flow 2 Tooling 3 Psychological Safety High Cooperation Version Control I feel safe to take risks and be vulnerable in front of my team. Dependability Shared Risks Code Reviews We complete quality work on time. Structure & Clarity Loosely Coupled Teams Build Environments We have clear roles, plans and goals. Meaning Failure -> Inquiry Test Automation My work is personally important to me. Impact Novelty Implemented Deployment Automation The result of my work matters. 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
If you don’t want to look…. Ignorant ● Don’t ask questions ○ Incompetent ● ○ Don’t admit weakness or mistakes ● Intrusive Don’t offer ideas ○ Negative ● Don’t critique the status quo ○
Every time we withhold information, we rob ourselves and our team of learning and innovation.
You will not be punished or humiliated for speaking up with ideas, questions, concerns, or mistakes.
How to Build Psychological Safety 1. Frame the work as a learning problem. Not an execution problem. 2. Acknowledge your own fallibility. 3. Model curiosity
Final Thoughts on Collaboration and Safety
Change usually comes from leadership
Leadership aside, it's not about who's on the team, it's about how well that team works together
The more there is communication, the less there is isolation. Make it safe to communicate.
Collaboration happens when people feel safe and included. Without safety and collaboration, a DevOps culture and practice cannot thrive.
Collaborative DevOps Tooling
Version Control
Code Reviews on Pull Requests https://github.com/features/code-review/
Preview Environments
Bug Developer Developer Developer Stakeholder ? QA Release Deploy to Release Plan Developer Staging Stakeholder Integration Prod Developer Stakeholder Developer Bug
Bug Release Plan Developer Preview Stakeholder Release Plan Developer Stakeholder Preview QA Release Deploy to Release Plan Developer Preview Stakeholder Integration Prod Release Plan Developer Preview Stakeholder Release Plan Developer Preview Stakeholder Bug
Self-Service Infrastructure services : php : image: tugboatqa/php:apache depends: mysql commands : init: - ln -snf "${TUGBOAT_ROOT}/web" "${DOCROOT}" update: - rsync -av --delete user@foo.com:/files/ "${DOCROOT}/files/" - chgrp -R www-data "${DOCROOT}/sites/default/files" build: - drush -r "${DOCROOT}" cache-clear all - drush -r "${DOCROOT}" updb -y mysql: image: tugboatqa/mysql commands: update: - scp user@foo.com:database.sql.gz /tmp/database.sql.gz - zcat /tmp/database.sql.gz | mysql tugboat
Automate, together
“When you’re on a team that has empathy, trust, and openness, DevOps tends to follow. Pizza also helps.”
https://tugboat.qa/ It’s free!
Recommend
More recommend