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

DevOps em Times distribuídos (DevOpsDays Campinas 2019)

DevOps em Times distribuídos (DevOpsDays Campinas 2019)

Palestra apresentada dia 25 de outubro de 2019 no DevOpsDays Campinas - SP (https://devopsdays.org/events/2019-campinas/program/wellington-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

October 25, 2019
Tweet

More Decks by Wellington F. Silva

Other Decks in Technology

Transcript

  1. DevOps em times
    Distribuídos

    View full-size 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 e docker
    certified associate
    * deprecation in favor of Well

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  5. Primeiro uma
    História

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size 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 full-size 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 full-size slide

  12. História
    Resultado:

    View full-size slide

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

    View full-size 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 full-size slide

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

    View full-size slide

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

    View full-size 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 full-size 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 full-size slide

  19. História
    • Mostramos sobre home-office

    View full-size slide

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

    View full-size slide

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

    View full-size 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 full-size 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 full-size slide

  24. Primeiras
    impressões

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  28. Primeiras impressões
    • Interrupções diminuíram drasticamente
    • 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 full-size slide

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

    View full-size slide

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

    View full-size 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 full-size slide

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

    View full-size slide

  33. 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 full-size 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 full-size slide

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

    View full-size slide

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

    View full-size slide

  37. 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 full-size slide

  38. 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 full-size slide

  39. Remote Manifesto

    View full-size slide

  40. Remote Manifesto
    • Trabalhe de onde quiser

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  43. 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 full-size slide

  44. 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 full-size 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
    • Reuniões são para gerar vínculo, para blockers
    e futuro
    • Crie vínculos na vida real

    View full-size 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
    • Crie vínculos na vida real
    • Dê créditos aos envolvidos e sempre lembre de
    agradecer

    View full-size slide

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

    View full-size slide

  48. Porque remoto?

    View full-size slide

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

    View full-size slide

  50. 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 full-size slide

  51. 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 full-size slide

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

    View full-size slide

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

    View full-size slide

  54. 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 full-size slide

  55. 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 full-size slide

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

    View full-size slide

  57. 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 full-size slide

  58. 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 full-size 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
    Impostos mais baratos em alguns países
    Sem regras para roupas

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  62. 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 full-size slide

  63. 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 full-size slide

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

    View full-size slide

  65. 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 full-size slide

  66. 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 full-size slide

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

    View full-size slide

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

    View full-size slide

  69. 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 full-size slide

  70. 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 full-size 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
    Atração natural de talentos e iniciantes
    Mais fácil para crescer empresa

    View full-size 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
    Mais fácil para crescer empresa
    Menos reuniões mais foco em resultado.

    View full-size slide

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

    View full-size slide

  74. 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 full-size slide

  75. 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 full-size slide

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

    View full-size slide

  77. Comunicação

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  81. Comunicação
    Voltamos ao item 2 do manifesto: Comunicação
    Assíncrona
    • Não copiar o escritório, usar issues, mentions e
    ferramentas de chat
    • 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 full-size slide

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

    View full-size slide

  83. Teorema CAPS

    View full-size slide

  84. Teorema CAPS
    Consistent reads , Availability , Partition Tolerance

    View full-size slide

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

    View full-size slide

  86. 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 full-size slide

  87. 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 full-size slide

  88. 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 full-size 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
    • 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 full-size slide

  90. Reuniões
    • Eventos síncronos

    View full-size slide

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

    View full-size slide

  92. 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 full-size slide

  93. 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 full-size slide

  94. 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 full-size slide

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

    View full-size slide

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

    View full-size slide

  97. Google Docs
    • Persistente

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  100. 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 full-size slide

  101. 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 full-size slide

  102. 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 full-size slide

  103. 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 full-size slide

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

    View full-size slide

  105. 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 full-size slide

  106. 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 full-size slide

  107. 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 full-size slide

  108. E-mail
    • Assíncrono

    View full-size slide

  109. E-mail
    • Assíncrono
    • Persistente

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  112. 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 full-size slide

  113. Issue Tracker

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  119. 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 full-size slide

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

    View full-size slide

  121. 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 full-size slide

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

    View full-size slide