Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DevOps em Times distribuídos (DevOpsDays Recife 2019)

DevOps em Times distribuídos (DevOpsDays Recife 2019)

Palestra apresentada dia 14 de dezembro de 2019 no DevOpsDays Recife - SP (https://devopsdays.org/events/2019-recife/program/wellington-figueira-da-silva). Mostramos como começamos implantar trabalho remoto no escritório brasileiro da Cabify/Easytaxi, passando pelo remote manifesto, pelo modelo de trabalho de Gitlab, pelas vantagens e desvantages, comunicação e ferramentas para melhoria dessa comunicação.

Wellington F. Silva

December 14, 2019
Tweet

More Decks by Wellington F. Silva

Other Decks in Technology

Transcript

  1. DevOps em times
    Distribuídos
    Recife 2019

    View Slide

  2. Wellington F. Silva
    contato:
    @_wsilva
    nicks:
    wsilva, boina, tom, fisi*
    funções:
    pai, tec. telecom,
    programador, sysadmin,
    docker community leader,
    instrutor, escritor, zend
    certified engineer, docker
    certified associate e certified
    kubernetes administrator
    * deprecation in favor of Well

    View Slide

  3. Agenda
    • História
    • Remote Manifesto
    • Vantagens e desvantagens
    • Persistência de dados X Comunicação

    View Slide

  4. Disclaimer
    • Não vamos abordar o que é ou não DevOps
    • Vamos focar principalmente em comunicação
    • Thanks to Pablo Carranza and Daniele Valeriani

    View Slide

  5. Primeiro uma
    História

    View Slide

  6. História
    • Easytaxi + Tapsi - Ganhamos um sueco no
    time

    View Slide

  7. História
    • Easytaxi + Tapsi - Ganhamos um sueco no
    time
    • Como integrar e dividir tarefas com esse cara?

    View Slide

  8. História
    • Easytaxi + Tapsi - Ganhamos um sueco no
    time
    • Como integrar e dividir tarefas com esse cara?
    • Mattermost + daily hangouts

    View Slide

  9. História
    Insights sobre a experiência:
    • Seria legal poder trabalhar de casa um dia
    que acordarmos meio virados não?

    View Slide

  10. História
    Insights sobre a experiência:
    • Seria legal poder trabalhar de casa um dia
    que acordarmos meio virados não?
    • Grupo de discussão no Mattermost

    View Slide

  11. História
    Insights sobre a experiência:
    • Seria legal poder trabalhar de casa um dia
    que acordarmos meio virados não?
    • Grupo de discussão no Mattermost
    • Levamos ideia aos coordenadores

    View Slide

  12. História
    Resultado:

    View Slide

  13. História
    Resultado:
    • Começamos home-office 1 a 2 vezes por
    semana alinhados com outros times e com RH

    View Slide

  14. História
    Resultado:
    • Começamos home-office 1 a 2 vezes por
    semana alinhados com outros times e com RH
    Nesse meio tempo:
    • Cabify + Easytaxi

    View Slide

  15. História
    • Em Madri ninguém do time de infra ficava no
    escritório

    View Slide

  16. História
    • Em Madri ninguém do time de infra ficava no
    escritório
    • Integração SP - Madri muito ruim

    View Slide

  17. História
    • Em Madri ninguém do time de infra ficava no
    escritório
    • Integração SP - Madri muito ruim
    • Líderes da Cabify pintaram em São Paulo
    (meses depois)

    View Slide

  18. História
    • Em Madri ninguém do time de infra ficava no
    escritório
    • Integração SP - Madri muito ruim
    • Líderes da Cabify pintaram em São Paulo
    (meses depois)
    • Cada um dos lados do oceano mostrou como
    trabalhava

    View Slide

  19. História
    • Mostramos sobre home-office

    View Slide

  20. História
    • Mostramos sobre home-office
    • Pediram:

    View Slide

  21. História
    • Mostramos sobre home-office
    • Pediram:
    • Fazer TODOS OS DIAS

    View Slide

  22. História
    • Mostramos sobre home-office
    • Pediram:
    • Fazer TODOS OS DIAS
    • Combinar um dia por semana para se
    encontrar (se possível) mas não
    necessariamente no escritório

    View Slide

  23. História
    • Mostramos sobre home-office
    • Pediram:
    • Fazer TODOS OS DIAS
    • Combinar um dia por semana para se
    encontrar (se possível) mas não
    necessariamente no escritório
    • Se fossemos ao escritório, sentar cada dia
    em um lugar diferente

    View Slide

  24. Primeiras
    impressões

    View Slide

  25. Primeiras impressões
    • Interrupções diminuíram drasticamente

    View Slide

  26. Primeiras impressões
    • Interrupções diminuíram drasticamente
    • Mais projetos de evolução começaram sair

    View Slide

  27. Primeiras impressões
    • Interrupções diminuíram drasticamente
    • Mais projetos de evolução começaram sair
    • Sentimos a necessidade de daily para alinhar o
    que cada um estava fazendo

    View Slide

  28. Primeiras impressões
    • Interrupções diminuíram drasticamente
    • Mais projetos de evolução começaram sair
    • Sentimos a necessidade de daily para alinhar o
    que cada um estava fazendo
    • Incidentes mais difíceis de tratar

    View Slide

  29. Primeiras impressões
    • Muita liberdade para trabalhar de casa, em
    viagem, etc

    View Slide

  30. Primeiras impressões
    • Muita liberdade para trabalhar de casa, em
    viagem, etc
    • Problemas de COMUNICAÇÃO surgiram☹:

    View Slide

  31. Primeiras impressões
    • Muita liberdade para trabalhar de casa, em
    viagem, etc
    • Problemas de COMUNICAÇÃO surgiram☹:
    • Alinhar reuniões presenciais
    • Ferramenta e pessoas de fora
    • Lentidão até alinhar todos envolvidos

    View Slide

  32. Conways Law

    View Slide

  33. “Organizations which design systems ... are
    constrained to produce designs which are
    copies of the communication structures of
    these organizations”

    View Slide

  34. Tradução livre:
    Organizações que desenham sistemas ...
    são limitados a produzir desenhos que são
    cópias da estrutura de comunicação delas
    mesmas.

    View Slide

  35. Tradução livre:
    Organizações que desenham sistemas ...
    são limitados a produzir desenhos que são
    cópias da estrutura de comunicação delas
    mesmas.

    View Slide

  36. Feedback

    View Slide

  37. Feedback
    • Estão no caminho mas pode melhorar

    View Slide

  38. Feedback
    • Estão no caminho mas pode melhorar
    • Citamos o Gitlab como referência

    View Slide

  39. Feedback
    • Estão no caminho mas pode melhorar
    • Citamos o Gitlab como referência
    • Alguns integrantes do time de infra da Cabify
    eram ex-Gitlab, inclusive líderes

    View Slide

  40. Feedback
    • Estão no caminho mas pode melhorar
    • Citamos o Gitlab como referência
    • Alguns integrantes do time de infra da Cabify
    eram ex-Gitlab, inclusive líderes
    • REMOTE MANIFESTO https://about.gitlab.com/
    2015/04/08/the-remote-manifesto/

    View Slide

  41. Remote Manifesto

    View Slide

  42. Remote Manifesto
    • Trabalhe de onde quiser

    View Slide

  43. Remote Manifesto
    • Trabalhe de onde quiser
    • Se comunique de maneira assíncrona

    View Slide

  44. Remote Manifesto
    • Trabalhe de onde quiser
    • Se comunique de maneira assíncrona
    • Reconheça que o futuro é incerto

    View Slide

  45. Remote Manifesto
    • Trabalhe de onde quiser
    • Se comunique de maneira assíncrona
    • Reconheça que o futuro é incerto
    • Tenha reuniões on-line cara-a-cara

    View Slide

  46. Remote Manifesto
    • Trabalhe de onde quiser
    • Se comunique de maneira assíncrona
    • Reconheça que o futuro é incerto
    • Tenha reuniões on-line cara-a-cara
    • Reuniões são para gerar vínculo, para blockers
    e futuro

    View Slide

  47. Remote Manifesto
    • Trabalhe de onde quiser
    • Se comunique de maneira assíncrona
    • Reconheça que o futuro é incerto
    • Tenha reuniões on-line cara-a-cara
    • Reuniões são para gerar vínculo, para blockers
    e futuro
    • Crie vínculos na vida real

    View Slide

  48. Remote Manifesto
    • Trabalhe de onde quiser
    • Se comunique de maneira assíncrona
    • Reconheça que o futuro é incerto
    • Tenha reuniões on-line cara-a-cara
    • Reuniões são para gerar vínculo, para blockers
    e futuro
    • Crie vínculos na vida real
    • Dê créditos aos envolvidos e sempre lembre de
    agradecer

    View Slide

  49. –Victor, Product Manager, GitLab
    “Remote is not a
    challenge to overcome.
    It's a clear business
    advantage.”

    View Slide

  50. Porque remoto?

    View Slide

  51. Porque remoto
    Para funcionários:
    Mais flexibilidade no dia a dia (família, passeio,
    esportes)

    View Slide

  52. Porque remoto
    Para funcionários:
    Mais flexibilidade no dia a dia (família, passeio,
    esportes)
    Sem desperdício de tempo e dinheiro com
    transporte

    View Slide

  53. Porque remoto
    Para funcionários:
    Mais flexibilidade no dia a dia (família, passeio,
    esportes)
    Sem desperdício de tempo e dinheiro com
    transporte (subway and bus fees, gas, car
    maintenance, tolls, etc.)
    Menos exposição a doenças em transporte
    público e de colegas de trabalho

    View Slide

  54. Porque remoto
    Para funcionários:
    Redução de interrupções e aumento de
    produtividade

    View Slide

  55. Porque remoto
    Para funcionários:
    Redução de interrupções e aumento de
    produtividade
    Possibilidade de viajar sem precisar tirar
    férias

    View Slide

  56. Porque remoto
    Para funcionários:
    Redução de interrupções e aumento de
    produtividade
    Possibilidade de viajar sem precisar tirar
    férias
    Possibilidade de mudar de cidades

    View Slide

  57. Porque remoto
    Para funcionários:
    Redução de interrupções e aumento de
    produtividade
    Possibilidade de viajar sem precisar tirar
    férias
    Possibilidade de mudar de cidades
    Alguns se comunicam melhor em ambientes
    diferentes

    View Slide

  58. Porque remoto
    Para funcionários:
    A integração (onboard) pode ser menos
    estressante socialmente

    View Slide

  59. Porque remoto
    Para funcionários:
    A integração (onboard) pode ser menos
    estressante socialmente
    Refeições em casa são geralmente mais
    baratas e mais saudáveis

    View Slide

  60. Porque remoto
    Para funcionários:
    A integração (onboard) pode ser menos
    estressante socialmente
    Refeições em casa são geralmente mais
    baratas e mais saudáveis
    Impostos mais baratos em alguns países

    View Slide

  61. Porque remoto
    Para funcionários:
    A integração (onboard) pode ser menos
    estressante socialmente
    Refeições em casa são geralmente mais
    baratas e mais saudáveis
    Impostos mais baratos em alguns países
    Sem regras para roupas

    View Slide

  62. Porque remoto
    Para funcionários:
    Falta de contato físico dificulta integração

    View Slide

  63. Porque remoto
    Para funcionários:
    Falta de contato físico dificulta integração
    Primeiro mês pode ser solitário

    View Slide

  64. Porque remoto
    Para funcionários:
    Falta de contato físico dificulta integração
    Primeiro mês pode ser solitário
    O setup para trabalho remoto pode impactar
    capacidade de comunicação

    View Slide

  65. Porque remoto
    Para funcionários:
    Falta de contato físico dificulta integração
    Primeiro mês pode ser solitário
    O setup para trabalho remoto pode impactar
    capacidade de comunicação
    Trabalhar no mesmo ambiente onde vivem e
    dormem pode ser desafiador para alguns

    View Slide

  66. Porque remoto
    Para funcionários:
    Horários de reuniões podem ser ruins por
    causa de timezone

    View Slide

  67. Porque remoto
    Para funcionários:
    Horários de reuniões podem ser ruins por
    causa de timezone
    Impostos podem ser ruins dependendo do país

    View Slide

  68. Porque remoto
    Para funcionários:
    Horários de reuniões podem ser ruins por
    causa de timezone
    Impostos podem ser ruins dependendo do país
    Trabalhar sempre em alta performance por
    muito tempo pode levar a um Burnout ⚠

    View Slide

  69. Porque remoto
    Para empresas:
    Possível contratar pessoas incríveis em
    qualquer lugar do mundo

    View Slide

  70. Porque remoto
    Para empresas:
    Possível contratar pessoas incríveis em
    qualquer lugar do mundo
    Maior produtividade, menos distrações

    View Slide

  71. Porque remoto
    Para empresas:
    Possível contratar pessoas incríveis em
    qualquer lugar do mundo
    Maior produtividade, menos distrações
    Economia com custos de escritório

    View Slide

  72. Porque remoto
    Para empresas:
    Possível contratar pessoas incríveis em
    qualquer lugar do mundo
    Maior produtividade, menos distrações
    Economia com custos de escritório
    Atração natural de talentos e iniciantes

    View Slide

  73. Porque remoto
    Para empresas:
    Possível contratar pessoas incríveis em
    qualquer lugar do mundo
    Maior produtividade, menos distrações
    Economia com custos de escritório
    Atração natural de talentos e iniciantes
    Mais fácil para crescer empresa

    View Slide

  74. Porque remoto
    Para empresas:
    Possível contratar pessoas incríveis em
    qualquer lugar do mundo
    Maior produtividade, menos distrações
    Economia com custos de escritório
    Atração natural de talentos e iniciantes
    Mais fácil para crescer empresa
    Menos reuniões mais foco em resultado.

    View Slide

  75. Porque remoto
    Para empresas:
    Empresa continua funcionando mesmo em
    caso de desastres naturais ou eventos políticos

    View Slide

  76. Porque remoto
    Para empresas:
    Empresa continua funcionando mesmo em
    caso de desastres naturais ou eventos políticas
    Diferentes países, diferentes moedas,
    diferentes legislações podem ser desafiadores

    View Slide

  77. Porque remoto
    Para empresas:
    Empresa continua funcionando mesmo em
    caso de desastres naturais ou eventos políticas
    Diferentes países, diferentes moedas,
    diferentes legislações podem ser desafiadores
    100% remoto preocupa investidores, parceiros
    e clientes

    View Slide

  78. Porque remoto
    Quer mais detalhes sobre porque remoto?
    https://www.owllabs.com/state-of-remote-work

    View Slide

  79. Mas como quebrar
    silos com cada um em
    sua casa?

    View Slide

  80. Comunicação

    View Slide

  81. Comunicação
    Voltamos ao item 2 do manifesto: Comunicação
    Assíncrona

    View Slide

  82. Comunicação
    Voltamos ao item 2 do manifesto: Comunicação
    Assíncrona
    • Não copiar o escritório, usar issues,
    ferramentas de chat e video call

    View Slide

  83. Comunicação
    Voltamos ao item 2 do manifesto: Comunicação
    Assíncrona
    • Não copiar o escritório, usar issues,
    ferramentas de chat e video call
    • Escolher o canal correto de acordo com a
    necessidade da tarefa (pode esperar alguns
    minutos? algumas horas? alguns dias?)

    View Slide

  84. Comunicação
    Voltamos ao item 2 do manifesto: Comunicação
    Assíncrona
    • Não copiar o escritório, usar issues,
    ferramentas de chat e video call
    • Escolher o canal correto de acordo com a
    necessidade da tarefa (pode esperar alguns
    minutos? algumas horas? alguns dias?)
    • Não interrompa o trabalho dos outros se não há
    necessidade

    View Slide

  85. Comunicação
    • Mesmo trabalhando em um mesmo escritório
    anote e documente tudo para pessoas remotas
    e para futuros contribuidores

    View Slide

  86. Teorema CAPS

    View Slide

  87. Teorema CAPS
    Consistent reads , Availability , Partition Tolerance

    View Slide

  88. CAPS
    Paralelo entre sistema de armazenamento e
    pessoas trabalhando em grupo para produzir
    resultados

    View Slide

  89. CAPS
    Paralelo entre sistema de armazenamento e
    pessoas trabalhando em grupo para produzir
    resultados
    • Partições não podem ocorrer, não podemos
    abrir mão

    View Slide

  90. CAPS
    Paralelo entre sistema de armazenamento e
    pessoas trabalhando em grupo para produzir
    resultados
    • Partições não podem ocorrer, não podemos
    abrir mão
    • Podemos projetar para que o sistema seja
    consistente ou disponíveis

    View Slide

  91. CAPS
    Paralelo entre sistema de armazenamento e
    pessoas trabalhando em grupo para produzir
    resultados
    • Partições não podem ocorrer, não podemos
    abrir mão
    • Podemos projetar para que o sistema seja
    consistente ou disponíveis
    • Os escritórios clássicos são consistentes e
    tolerantes a partições

    View Slide

  92. CAPS
    Paralelo entre sistema de armazenamento e pessoas
    trabalhando em grupo para produzir resultados
    • Partições não podem ocorrer, não podemos abrir
    mão
    • Podemos projetar para que o sistema seja
    consistente ou disponíveis
    • Os escritórios clássicos são consistentes e
    tolerantes a partições
    • 100% remoto temos disponibilidade e tolerância a
    falha

    View Slide

  93. Reuniões

    View Slide

  94. Reuniões
    • Eventos síncronos

    View Slide

  95. Reuniões
    • Eventos síncronos
    • Presença obrigatória para agregar valor
    (opinar)

    View Slide

  96. Reuniões
    • Eventos síncronos
    • Presença obrigatória para agregar valor
    (opinar)
    • Volátil, quem não participa precisa de gravação
    e ou de uma agenda para se atualizar

    View Slide

  97. Reuniões
    • Eventos síncronos
    • Presença obrigatória para agregar valor
    (opinar)
    • Volátil, quem não participa precisa de gravação
    e ou de uma agenda para se atualizar
    • Não são remote friendly

    View Slide

  98. Reuniões
    • Eventos síncronos
    • Presença obrigatória para agregar valor
    (opinar)
    • Volátil, quem não participa precisa de gravação
    e ou de uma agenda para se atualizar
    • Não são remote friendly
    • Muito caras. Quantidade de pessoas x salário
    de cada uma delas

    View Slide

  99. Reuniões
    • Alto vazão de informações

    View Slide

  100. Reuniões
    • Alto vazão de informações
    • Mini reuniões ad-hoc (tapinha no ombro)
    causam muitas interrupções

    View Slide

  101. Google Docs

    View Slide

  102. Google Docs
    • Persistente

    View Slide

  103. Google Docs
    • Persistente
    • Pode ser síncrono ou assíncrono*

    View Slide

  104. Google Docs
    • Persistente
    • Pode ser síncrono ou assíncrono*
    • Pode ser privado ou público*
    *dependendo do uso

    View Slide

  105. Google Docs
    • Persistente
    • Pode ser síncrono ou assíncrono*
    • Pode ser privado ou público*
    *dependendo do uso
    • Ótimo para tornar reuniões persistentes

    View Slide

  106. Google Docs
    • Persistente
    • Pode ser síncrono ou assíncrono*
    • Pode ser privado ou público*
    *dependendo do uso
    • Ótimo para tornar reuniões persistentes
    • Bom para fazer review (usando o suggestions)

    View Slide

  107. Google Docs
    • Persistente
    • Pode ser síncrono ou assíncrono*
    • Pode ser privado ou público*
    *dependendo do uso
    • Ótimo para tornar reuniões persistentes
    • Bom para fazer review (usando o suggestions)
    • Função comments não escala, UX ruim para
    mais de 2, 3 comentários

    View Slide

  108. Google Docs
    • Persistente
    • Pode ser síncrono ou assíncrono*
    • Pode ser privado ou público*
    *dependendo do uso
    • Ótimo para tornar reuniões persistentes
    • Bom para fazer review (usando o suggestions)
    • Função comments não escala, UX ruim para mais
    de 2, 3 comentários
    • Fragmenta informação, difícil buscar informação

    View Slide

  109. Slack

    View Slide

  110. Slack
    • Persistente mas caótico (mensagens soltas e
    mensagens em threads, além dos canais)

    View Slide

  111. Slack
    • Persistente mas caótico (mensagens soltas e
    mensagens em threads, além dos canais)
    • Assíncrono, mas dependendo da
    disponibilidade dos interlocutores pode ser
    síncrono

    View Slide

  112. Slack
    • Persistente mas caótico (mensagens soltas e
    mensagens em threads, além dos canais)
    • Assíncrono, mas dependendo da
    disponibilidade dos interlocutores pode ser
    síncrono
    • Bom para conversas rápidas e
    compartilhamento de trechos de códigos e
    exemplos

    View Slide

  113. Slack
    • Persistente mas caótico (mensagens soltas e
    mensagens em threads, além dos canais)
    • Assíncrono, mas dependendo da
    disponibilidade dos interlocutores pode ser
    síncrono
    • Bom para conversas rápidas e
    compartilhamento de trechos de códigos e
    exemplos
    • Sugestão: muitas idas e vindas de mensagens
    rápidas, mude para uma call (pair programming)

    View Slide

  114. E-mail

    View Slide

  115. E-mail
    • Assíncrono

    View Slide

  116. E-mail
    • Assíncrono
    • Persistente

    View Slide

  117. E-mail
    • Assíncrono
    • Persistente
    • Ordenado

    View Slide

  118. E-mail
    • Assíncrono
    • Persistente
    • Ordenado
    • Caótico se a thread se extende

    View Slide

  119. E-mail
    • Assíncrono
    • Persistente
    • Ordenado
    • Caótico se a thread se extende
    • Privado, quem se junta a thread não tem o
    histórico, precisa ser repassada

    View Slide

  120. Issue Tracker

    View Slide

  121. Issue Tracker
    • Assíncrono, remete a fóruns

    View Slide

  122. Issue Tracker
    • Assíncrono, remete a fóruns
    • Ordenado

    View Slide

  123. Issue Tracker
    • Assíncrono, remete a fóruns
    • Ordenado
    • Persistente

    View Slide

  124. Issue Tracker
    • Assíncrono, remete a fóruns
    • Ordenado
    • Persistente
    • Público

    View Slide

  125. Issue Tracker
    • Assíncrono, remete a fóruns
    • Ordenado
    • Persistente
    • Público
    • Rastreio fácil (tags, label, etc)

    View Slide

  126. Issue Tracker
    • Assíncrono, remete a fóruns
    • Ordenado
    • Persistente
    • Público
    • Rastreio fácil (tags, label, etc)
    • Geralmente 2 ritmos: rápido (vários por dia)
    para resolução de problemas; lento
    (planejamento de negócio, arquitetura)

    View Slide

  127. TL;DR

    View Slide

  128. TL;DR
    • Use a ferramenta certa para o momento certo

    View Slide

  129. TL;DR
    • Use a ferramenta certa para o momento certo
    • Prefira comunicação pública, organizada e
    assíncrona e em algum lugar persistente.

    View Slide

  130. Obrigado
    https://speakerdeck.com/wsilva/

    View Slide