Without a Collaborative Culture, You Don t Have DevOps

Size: px
Start display at page:

Download "Without a Collaborative Culture, You Don t Have DevOps"

Transcription

1 Without a Collaborative Culture, You Don t Have DevOps ComputerWorld Oslo 2016 Daniela Cruzes danielac@sintef.no Elisa Diel PUCRS Sabrina Marczak PUCRS

2 Agenda What is DevOps Culture? DevOps primary focus areas and Challenges What is a DevOps Team? Theory of Team Effectiveness applied to DevOps 5 Conditions & Strategies Lessons learned 2

3 What is DevOps Culture? 3

4 A DevOps culture is created through lots of discussion and debate. Traditionally siloed technical teams interact through complex ticketing systems and ritualistic request procedures. A team taking a more DevOps approach talks about the product, production and build metrics throughout its lifecycle, discussing requirements, features, schedules, resources, and whatever else might come up... Mandi Walls Excerpt From: Walls, Mandi. Building a DevOps Culture. ibooks.

5 DevOps Primary Focus Areas Collaboration between project team members/roles Infrastructure as Code as scripted infrastructure configuration Automation of tasks / processes / workflows Monitoring applications and infrastructure Source: DevOps Panel Discussion - Carnegie Mellon University - Yasan Hasar (Page #5) 5

6 Teams Configurations in DevOps Devs and Ops Same Team! DevOps Team Shared Skill set! Dev team and Ops team Close Collaboration! Book: Cross-Functional Teams

7 DevOps is not a role! DevOps emphasize competences rather than Roles/Titles. Boundaries between roles continues to blur. It does not mean dispensing with specialties

8 DevOps happens in a Cross-Functional Team A standard cross functional team is composed of those individuals from departments within the firm whose competencies are essential in achieving an optimal evaluation. Successful teams combine skill sets which no single individual possesses Glenn M. Parker In DevOps, the goal is to facilitate deployment and production and increase value and innovation into the products. Book: Cross-Functional Teams

9 Research: How can the team members collaborate effectively in DevOps? 25 interviews Voice Recorded ~40min each 13 Devs and 12 Ops 9

10 Theoretical Framework for Effective TeamWork Coordination Balance Between Member Contribution Mutual Support Effort Communication Team Performance Effectiveness (Quality) Efficiency (Schedule and Budget) Personal Success Work Satisfaction Learning (Knowledge and Skills) Cohesion Hoegl, M., Gemuenden, H.G., Teamwork Quality and the Success of Innovative Projects: A Theoretical Concept and Empirical Evidence. Organization Science, Vol. 12, No 4, pp

11 1) Coordination Harmonization and synchronization of the individual contributions are important components of the quality of collaborations; teams need to develop and agree on common goal oriented work-down structures, schedules, budgets and deliverables. Coordina(on Balance Between Member Contribu(on Mutual Support Effort Cohesion 11

12 Transparency and Visibility! Visibility of the tasks to the whole team Everyone should understand what the job is Ops tasks should also be visible! Everyone should know important milestones to the team Everyone should know their responsibilities Break the roles barrier Coordina(on Balance Between Member Contribu(on Mutual Support Effort Avoid handover/handoffs between developers and operations. Side effects: help avoid extra documentation and misunderstandings. Cohesion

13 2) Balance Between Members Contributions Contributions to the team tasks are balanced with respect to each member s specific knowledge and experience. Coordina(on Balance Between Member Contribu(on Mutual Support Effort Cohesion 13

14 Every team member should: Have equal value Devs team make the thing and then Ops make sure everything is working Have equal responsibility for having deployment and feature success. Be empowered to identify and solve their own problems and take decisions Figure out their own ways of doing things better Coordina(on Balance Between Member Contribu(on Celebrate Success with devs AND ops! Mutual Support Effort Cohesion

15 3) Mutual Support Team members working on a common goal should display mutual respect, grant assistance when needed, and develop other team members ideas and contributions. Coordina(on Balance Between Member Contribu(on Mutual Support Effort Cohesion 15

16 Work together! Share technical expertise! Dev and Ops have to change their way of working and develop skills that will make possible this mutual support Be empathetic towards each other understand each other job. Practices: Pairing Dev and Ops, Job Rotation Share knowledge about their own specific competencies Practices: Informal Training, Communities of Practice, strategies onboarding of new members. Coordina(on Balance Between Member Contribu(on Mutual Support Effort Developers cannot only write code and operations cannot talk only about systems. Cohesion 16

17 4) Effort To achieve high teamwork quality and avoid conflict among team members, it is important for everyone in the team to know and accept the work norms concerning sufficient effort. Coordina(on Balance Between Member Contribu(on Mutual Support Effort Cohesion 17

18 Commitment to the Job/Task! Team members can't handover issues and ignore them afterwards. Operations don t struggle alone and isolated with code related production issues If overtime is required for short periods, the whole team should be working extra hours If there is need for 24/7 support, everyone should be involved Side effect: defects get fixed faster J Coordina(on Balance Between Member Contribu(on Mutual Support Effort The work is done only when it is performing as designed in production Cohesion

19 5) Cohesion Degree to which team members desire to remain on the team. If the team members lack a sense of togetherness and belonging, if there is little desire to keep the team going, then intensive collaboration seems unlikely. Coordina(on Balance Between Member Contribu(on Mutual Support Effort Cohesion 19

20 Share the same Goals! Whole team ownership to the product! Clear Goals A compelling goal can serve as a motivator for a cross-functional team working on a basic business issue Ownership to the product When the team have sense of ownership their behavior towards work is different. If any group has assumed ownership of product they will have to learn to share that with everyone else on the team in order to succeed Coordina(on Balance Between Member Contribu(on Mutual Support Effort Size Matters: big organizations are much easier to end up in silos Cohesion

21 Build Trust! Get to know people technically and personally! Technical Trust is build overtime of close collaboration: have Ops from day one with the dev team. Work Together, visible processes created opportunities to get to know people technically. Informal Conversations and Informal Meetings are more important that it seems. Liftoffs, Face-to-Face, Social Events. Do a competence Matrix Coordina(on Balance Between Member Contribu(on Mutual Support Effort Get also to know what people do not like to work with! Cohesion

22 Theoretical Framework for Effective TeamWork Coordination Balance Between Member Contribution Mutual Support Effort Communication Team Performance Effectiveness (Quality) Efficiency (Schedule and Budget) Personal Success Work Satisfaction Learning (Knowledge and Skills) Cohesion Conflict is caused by ineffective communication, which leads to misunderstandings, incorrect strategies and mutual feelings of frustration. 22

23 Get your Communication Structured Face-to-face meetings Frequency will depend on the duration/finance of the project Joint chat rooms War rooms (joint planning) for big features, releases, problem solving Daily standups or weekly meetings Availability for adhocmeetings Tech Talks / TechOps / Show Cases Retrospective on the technological part Every time a task is done Communica)on Dev Ops 23

24 Tune the Frequency of the Communication Open chat ALWAYS War rooms, even 1:1s, group chats, Meetings are a necessary evil Weekly meetings, operations standup meeting Planning Meetings Good, if possible: Daily Standups Communica)on Ops need to engage as much as Devs Listen to the communication and act when needed Some background noise due to integration with other tools can be hindering

25 Create awareness on the Content of the Information Flow in your Communication Strategic Planning Technological advices Architectural Changes What facilitates operation Defects Changes in Environment. Devs Communica)on Ops Management 25

26 Find the Best Communication Tools that works for your Team! only on very specific situations only! 26

27 Effective DevOps TeamWork Coordination Balance Between Member Contribution Mutual Support Effort Communication Team Performance Effectiveness (Quality) Efficiency (Schedule and Budget) Personal Success Work Satisfaction Learning (Knowledge and Skills) Cohesion Hoegl, M., Gemuenden, H.G., Teamwork Quality and the Success of Innovative Projects: A Theoretical Concept and Empirical Evidence. Organization Science, Vol. 12, No 4, pp

28 Without a Collaborative Culture, You Don t Have DevOps. Thank You! Daniela Cruzes danielac@sintef.no