Remote-first: um modelo comportamental para times de desenvolvimento de produto
Segundo a Forbes Magazine, no ano de 2020, cerca de 50% das pessoas vão trabalhar de maneira remota. Com a chegada de 2020, muitas de nós repentinamente nos deparamos com uma realidade que há seis meses pareceria extrema. Não faltam dicas: uma busca rápida na internet revelará que há uma variedade de livros, blogs, artigos e cursos oferecendo conselhos sobre como trabalhar remotamente. Apesar disso, muitos times estão agora sofrendo com a realidade e a produtividade ao trabalhar remotamente.
A autora deste artigo trabalhou com times remotos e distribuÃdos globalmente por mais de 5 anos, cobrindo mais de 17 fusos horários. Nesse contexto, nós entregamos, damos suporte e executamos consistentemente software de alta qualidade, de modo que temos algumas sugestões que podem ajudar.Â
Uma observação importante é que times remotos compensam a distância fÃsica tentando trabalhar como se fossem presenciais. Nós acreditamos que isso é um erro e que, ao invés de tentar compensar o afastamento fÃsico, o melhor é aceitar a situação e abster-se de tentar trabalhar como um time presencial.
Como fazer isso? Nós achamos que as ideias por trás de padrões de projeto de software podem oferecer uma solução.
Vamos usar as técnicas do padrão comportamental para construir um time remote-first bem-sucedido, como é descrito por Martin Fowler em seu artigo , sendo inspirado por vários clássicos: , , , , , e .
O objetivo de documentar um padrão é prover uma série de técnicas replicáveis que possam ser usadas para construir um time de produto remoto de alta performance. Assim é possÃvel aproveitar os diversos benefÃcios de trabalhar de maneira remota enquanto tentamos corrigir algumas possÃveis desvantagens. Este modelo traz alguma restrições de recrutamento, mas a garantia da produtividade independentemente da locação é um benefÃcio chave.Â
°Õ鳦²Ô¾±³¦²¹²õ
O Padrão Mediador
O padrão Mediador tem o objetivo de resolver problemas associados com acoplamento entre objetos que causam dependências em um software. Este também é um problema em times remotos, especialmente quando as pessoas estão distribuÃdas em múltiplos fusos horários.
Com base na lógica do padrão mediador, nós sugerimos o "bastão de revezamento", que é uma técnica feita para construir um time em que todos os membros estejam remotos e localizados em diferentes fusos horários, mas com uma sobreposição razoável entre a maioria. A escolha cuidadosa dos fusos horários pode permitir que o time esteja disponÃvel durante as 24 horas do dia e ainda dentro das horas normais de trabalho. Idealmente deveria existir um par de profissionais em cada faixa de fuso horário, resultando em um acoplamento relaxado entre integrantes do time. Cada profissional pode trabalhar de forma autônoma na maior parte do tempo, mas não completamente desconectada.
O padrão mediador também propõe que seja possÃvel mudar a interação entre vários objetos de maneira independente, um requisito suportado por outra técnica importante.
A técnica de "colocar os pingos no is" demanda que todos os membros do time sejam capazes de colaborar em uma ampla gama de tarefas com qualquer outro membro. Trata-se de garantir que não haja algum trabalho em andamento que é conhecido apenas por uma pessoa. Sempre há alguém que possa retomar uma tarefa e manter o andamento das coisas. Para isso, é necessária uma seleção cuidadosa da localização das pessoas e que o time seja completamente multidisciplinar.Â
Um benefÃcio da combinação dos dois padrões descritos acima é a resiliência deste time. Se algo que impactaria em disponibilidade ou produtividade acontece em uma das localizações, os membros em áreas não afetadas potencialmente não serão afetados.
O Padrão Decorador
O padrão decorador propõe que novas responsabilidades ou comportamentos sejam adicionadas e removidas de um objeto durante a execução do software.
A Corrente de Responsabilidade
A corrente de responsabilidade é um padrão que propõe que o acoplamento entre quem emite e quem recebe uma solicitação seja evitado. Estes padrões se baseiam na já citada técnica de "colocar os pingos nos is".
Convergência Dinâmica
Convergência Dinâmica é uma técnica do padrão de estratégia, que possibilita a seleção de um algoritmo de uma determinada famÃlia de algoritmos durante o tempo de execução do software. Esta técnica propõe que um time, além de ser amplamente multidisciplinar, deve ter indivÃduos (mais de um) que possuam especialidade em um ou mais domÃnios-chave, o que significa que uma parte substancial do trabalho não dependa de uma pessoa especÃfica. A flexibilidade no pareamento é importante e cada integrante do time também deve cuidar para que regularmente colabore com todos os outros membros. Isto reduz riscos de negócio e promove colaboração, conexão, compartilhamento de conhecimento e uma cultura de responsabilidade compartilhada por um produto ou serviço.
Ancoragem
É uma técnica inspirada pelo padrão adaptador, que permite que interfaces incompatÃveis possam trabalhar juntas. A técnica determina que todo membro do time deve se ver como uma "pessoa âncora", cujo papel é dar suporte e coordenar o compartilhamento de informações entre colegas de time nos diferentes fusos horários. Essa é uma prática defendida em Working Out Loud de John Stepper.
Imagem: foto de mulher sentada à mesa em uma sala de estar, usando um laptop
Maneiras de trabalhar e seleção de ferramentas (ou não)
Um time remote-first acaba sendo fortemente dependente de ferramentas online para compartilhamento de trabalho, no entanto, não deveria ser dependente de comunicação sÃncrona. Métodos sÃncronos, como videoconferências, podem funcionar para alguns times, mas não são essenciais. Em algumas circunstâncias, esses métodos podem acabar neutralizando algumas das vantagens do trabalho remoto para algumas pessoas. A tecnologia relacionada à videoconferência está se aperfeiçoando, mas a variação da banda larga continua sendo um desafio. Videoconferências podem ser fÃsica e psicologicamente desgastantes e, em geral, realizar grandes ou longas reuniões é uma experiência que deixa a desejar.Â
É possÃvel usar videoconferência como parte de um conjunto de ferramentas mais amplo, mas dar preferência a meios de comunicação assÃncronos, como chat online, documentos compartilhados, arquivos armazenados e workspaces online colaborativos é igualmente importante. Outras técnicas incluem criar múltiplas salas de chat com foco em temas variados, por exemplo, um chat apenas para conversas informais, além do óbvio chat para temas gerais do time. Ter uma sala de chat para coisas como alertas relacionados à s tarefas e atualizações do quadro de cartões permite que qualquer pessoa se atualize rapidamente sobre como uma parte do trabalho progrediu.
Trabalhar em iterações de duração fixa é desafiador para times cujas semanas de trabalho não coincidem, assim como estimar com base em pontos é difÃcil, especialmente para um time de produto que utiliza a técnica de "colocar os pontos nos is". Tudo isto é particularmente real quando o produto requer um alto nÃvel de disponibilidade. Para esses times, uma estratégia do tipo fluxo contÃnuo, como Kanban, que não separa a entrega de novas funcionalidades do trabalho de suporte, apresentar melhores resultados. Com o ganho de experiência, a capacidade de estimar a entrega de novas funcionalidades em times de longa duração melhora, especialmente se as tarefas são fatiadas em suas menores partes possÃveis.Â
Em resumo
O padrão remote-first foi desenvolvido ao longo de cinco anos em um time de produto de longa duração, cujos mebros estão distribuÃdos em 17 fusos horários diferentes. As técnicas, abordagens de ferramentas e maneiras de trabalhar descritas neste texto foram resultado de muitos erros e acertos, mas contribuÃram para o crescimento e sucesso do time.
Ainda ficam dúvidas sobre o quão escalável seria este modelo. Hoje, o time é composto por oito pessoas, com dois pares de profissionais na mesma localização e quatro profissionais sem par. O padrão aponta que um par deveria ser encontrado para os indivÃduos solitários antes de considerar adicionar novos fusos horários ao time.
Outro desafio é que integrantes do time precisam de um certo nÃvel de senioridade e experiência para poderem trabalhar usando este padrão. Isso torna mais difÃcil realizar planos de sucessão e promover o crescimento de indivÃduos menos experientes.
Aviso: As afirmações e opiniões expressas neste artigo são de responsabilidade de quem o assina, e não necessariamente refletem as posições da ºÚÁÏÃÅ.