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 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, docker
    certified associate e certified
    kubernetes administrator
    * 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 and Daniele Valeriani

    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
    • Mais projetos de evolução começaram sair

    View full-size 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 full-size 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 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. Porque remoto
    Quer mais detalhes sobre porque remoto?
    https://www.owllabs.com/state-of-remote-work

    View full-size slide

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

    View full-size slide

  78. Comunicação

    View full-size slide

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

    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,
    ferramentas de chat e video call

    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,
    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 full-size 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
    • 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

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

    View full-size slide

  84. Teorema CAPS

    View full-size slide

  85. Teorema CAPS
    Consistent reads , Availability , Partition Tolerance

    View full-size slide

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

    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

    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

    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

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

  91. Reuniões
    • Eventos síncronos

    View full-size slide

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

    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

    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

    View full-size slide

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

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

    View full-size slide

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

    View full-size slide

  98. Google Docs
    • Persistente

    View full-size slide

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

    View full-size slide

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

    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

    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)

    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

    View full-size slide

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

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

    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

    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

    View full-size slide

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

  109. E-mail
    • Assíncrono

    View full-size slide

  110. E-mail
    • Assíncrono
    • Persistente

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

  114. Issue Tracker

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

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

    View full-size slide

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

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

    View full-size slide