developer isolation how devops helps team building
play

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


  1. Developer Isolation: How DevOps Helps Team Building Baltimore Drupal Camp - Oct. 12 th , 2018 Matt Westgate @mettamatt

  2. About Me 15+ years of Drupal. Yikes! ● Iowa native ●

  3. DevOps is a collaboration movement. Development Production Operations

  4. Collaboration happens when people feel safe and included. Without safety and collaboration, a DevOps culture and practice cannot thrive.

  5. 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)

  6. Collaboration is measured by how well information flows in an organization.

  7. 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/

  8. 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

  9. Collaboration happens when people feel safe and included. Without safety and collaboration, a DevOps culture and practice cannot thrive.

  10. 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

  11. 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 ○

  12. Every time we withhold information, we rob ourselves and our team of learning and innovation.

  13. You will not be punished or humiliated for speaking up with ideas, questions, concerns, or mistakes.

  14. 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

  15. Final Thoughts on Collaboration and Safety

  16. Change usually comes from leadership

  17. Leadership aside, it's not about who's on the team, it's about how well that team works together

  18. The more there is communication, the less there is isolation. Make it safe to communicate.

  19. Collaboration happens when people feel safe and included. Without safety and collaboration, a DevOps culture and practice cannot thrive.

  20. Collaborative DevOps Tooling

  21. Version Control

  22. Code Reviews on Pull Requests https://github.com/features/code-review/

  23. Preview Environments

  24. Bug Developer Developer Developer Stakeholder ? QA Release Deploy to Release Plan Developer Staging Stakeholder Integration Prod Developer Stakeholder Developer Bug

  25. 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

  26. 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

  27. Automate, together

  28. “When you’re on a team that has empathy, trust, and openness, DevOps tends to follow. Pizza also helps.”

  29. https://tugboat.qa/ It’s free!

Recommend


More recommend