$30 off During Our Annual Pro Sale. View Details »

DevOps em Times distribuídos (DevOpsDays Campin...

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. 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
  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 • 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 • 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. 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.
  21. 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.
  22. 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
  23. 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/
  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 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 ⚠
  42. Porque remoto Para empresas: Possível contratar pessoas incríveis em qualquer

    lugar do mundo Maior produtividade, menos distrações
  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
  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
  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
  46. 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.
  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
  48. 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
  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
  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?)
  51. 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
  52. Comunicação • Mesmo trabalhando em um mesmo escritório anote e

    documente tudo para pessoas remotas e para futuros contribuidores
  53. 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
  54. 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
  55. 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
  56. 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
  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.