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

DevOps em Times distribuidos (DevOpsDays Porto Alegre 2019)

DevOps em Times distribuidos (DevOpsDays Porto Alegre 2019)

Palestra apresentada dia 24 de maio de 2019 no DevOpsDays Porto Alegre - RS (https://devopsdays.org/events/2019-porto-alegre/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 da comunicação.

Wellington F. Silva

May 24, 2019
Tweet

More Decks by Wellington F. Silva

Other Decks in Technology

Transcript

  1. 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
  2. Disclaimer • Não vamos abordar o que é ou não

    DevOps • Vamos focar principalmente em comunicação • Thanks to Pablo Carranza - autor de parte da palestra.
  3. História • Easytaxi + Tapsi - Ganhamos um sueco !

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

    no time • Como integrar e dividir tarefas com esse cara? • Mattermost + daily hangouts
  5. História Insights sobre a experiência: • Seria legal poder trabalhar

    de casa um dia que acordarmos meio virados não?
  6. 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
  7. 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
  8. História Resultado: • Começamos home-office 1 a 2 vezes por

    semana alinhados com outros times e com RH
  9. 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
  10. História • Em Madri ninguém do time de infra ficava

    no escritório • Integração SP - Madri muito ruim
  11. 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)
  12. 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
  13. 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
  14. 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
  15. Primeiras impressões • Interrupções diminuíram drasticamente. • Projetos de evolução

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

    começaram sair do papel • Sentimos a necessidade de daily para alinhar o que cada um estava fazendo • Incidentes mais difíceis de tratar
  17. Primeiras impressões • Muita liberdade para trabalhar de casa, em

    viagem, etc. • Problemas de COMUNICAÇÃO surgiram☹:
  18. 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
  19. Organizations which design systems ... are constrained to produce designs

    which are copies of the communication structures of these organizations.
  20. Organizações que desenham sistemas ... são limitados a produzir desenhos

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

    que são cópias da estrutura de comunicação delas mesmas.
  22. Feedback • Estão no caminho mas pode melhorar • Citamos

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

    o Gitlab como referencia • 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/
  24. Remote Manifesto • Trabalhe de onde quiser • Se comunique

    de maneira assíncrona • Reconheça que o futuro é incerto
  25. 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
  26. 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
  27. 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
  28. 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
  29. –Victor, Product Manager, GitLab “Remote is not a challenge to

    overcome. It's a clear business advantage.”
  30. Porque remoto Para funcionários: Mais flexibilidade no dia a dia

    (família, passeio, esportes) Sem desperdício de tempo e dinheiro com transporte
  31. 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
  32. Porque remoto Para funcionários: Redução de interrupções e aumento de

    produtividade Possibilidade de viajar sem precisar tirar férias
  33. 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
  34. 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
  35. 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
  36. 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
  37. 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
  38. 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
  39. 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
  40. 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
  41. Porque remoto Para empresas: Possível contratar pessoas incríveis em qualquer

    lugar do mundo Maior produtividade, menos distrações
  42. 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
  43. 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
  44. 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
  45. 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.
  46. 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
  47. 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
  48. 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
  49. 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?)
  50. 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
  51. Comunicação • Mesmo trabalhando em uma mesmo escritório anote e

    documente tudo para pessoas remotas e para futuros contribuidores
  52. CAPS Vamos fazer um paralelo entre sistema de armazenamento e

    pessoas trabalhando em grupo para produzir resultados
  53. CAPS Vamos fazer um paralelo entre sistema de armazenamento e

    pessoas trabalhando em grupo para produzir resultados Partições de rede fazem parte de vida
  54. CAPS Vamos fazer um paralelo entre sistema de armazenamento e

    pessoas trabalhando em grupo para produzir resultados Partições de rede fazem parte de vida Podemos projetar para que o sistema seja consistente ou disponíveis
  55. CAPS Vamos fazer um paralelo entre sistema de armazenamento e

    pessoas trabalhando em grupo para produzir resultados Partições de rede fazem parte de vida Podemos projetar para que o sistema seja consistente ou disponíveis Os escritórios clássicos são consistentes e tolerantes a partições
  56. CAPS Vamos fazer um paralelo entre sistema de armazenamento e

    pessoas trabalhando em grupo para produzir resultados Partições de rede fazem parte de vida 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
  57. 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
  58. 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
  59. 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
  60. Reuniões • Alto vazão de informações • Mini reuniões ad-hoc

    (tapinha no ombro) causam muitas interrupções
  61. Google Docs • Persistente • Pode ser síncrono ou assíncrono*

    • Pode ser privado ou público* *dependendo do uso
  62. 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
  63. 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)
  64. 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
  65. 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
  66. 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
  67. 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
  68. 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)
  69. 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
  70. Issue Tracker • Assíncrono, remete a fóruns • Ordenado •

    Persistente • Público • Rastreio fácil (tags, label, etc)
  71. 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)
  72. TL;DR Use a ferramenta certa para o momento certo Prefira

    comunicação pública, organizada e assíncrona e em algum lugar persistente.