Karine Valença
Eusouelliot
Published in
5 min readJan 10, 2019

--

O Elliot inicia hoje seu Blog de tecnologia. Essas publicações serão feitas por nós, da equipe de desenvolvimento, e têm como propósito compartilhar nossas experiências, cases de sucesso e o que aprendemos com nossas falhas. Além disso, também apresentaremos texto técnicos e tutoriais criados por nós, desenvolvedores do Elliot.

Nesse primeiro texto, você vai ler sobre uma das principais características e caso de sucesso do Elliot, a equipe de desenvolvimento 100% remota. Apresentaremos as características da equipe, os problemas que conseguimos solucionar e quais ainda estamos buscando soluções.

Trabalho remoto é uma realidade cada vez mais presente nas empresas de tecnologia da informação. Enquanto algumas empresas ainda se esforçam para manter sua equipe presencial, acreditando que o contato e a comunicação constante fornecida pelo compartilhamento de espaço irão resolver os problemas de produtividade, outras optam pela equipe remota, utilizando ferramentas e metodologias para diminuir a dificuldade de comunicação inerente em qualquer “relacionamento” à distância.

De fato, estar em contato direto com colegas de trabalho agiliza na resolução de problemas e diminui os gaps de comunicação. Em contrapartida, ter uma equipe 100% presencial aumenta os custos da empresa e diminui a quantidade de pessoas que podem ser contratadas. Equipes remotas não precisam ter locais fixos, não demandam custo de locomoção dos funcionários e permitem a contratação de um talento em qualquer lugar do mundo, aumentando a possibilidade de achar alguém muito bom para a vaga.

Atualmente, o Elliot trabalha com sua equipe de desenvolvimento 100% remota. A equipe reside em diferentes cidades do Rio Grande do Sul, Brasília e Mato Grosso. Os desenvolvedores seguem horário de trabalho mais ou menos fixo, de acordo com a definição do seu squad de desenvolvimento. O esforço do desenvolvimento está focado em áreas que entregam valor para o cliente e a avaliação da entrega não é baseada na quantidade de tarefas concluídas, mas focada no valor entregue.

Trabalhar com a equipe toda remota tem muitos desafios. A maioria deles se originam por falhas na comunicação. Para alguns desses problemas a equipe do Elliot encontrou soluções que estão funcionando bem. A seguir, apresentaremos os principais problemas que enfrentamos e como conseguimos resolvê-los.

Encontrar alguém online

Um problema clássico em equipes remotas é nem sempre poder encontrar alguém que possa te ajudar online. Por vezes, é necessário tirar alguma dúvida ou é preciso que alguém realize algum procedimento para que o desenvolvedor possa avançar no seu trabalho. Não encontrar quem possa te ajudar, trava o desenvolvimento e até leva ao desperdício de várias horas de trabalho.

Solução: Para evitar esses desencontros, nós trabalhamos em um horário mais ou menos fixo. Esses horários foram definidos por squad de desenvolvimento e os horários dos squads foram convergindo para um horário único. Dessa forma, os horários das pessoas são previsíveis e desencontros são evitados. Porém, isso não é rígido, se alguém precisar ficar ausente nesse período, ele só precisa informar ao seu time.

Acompanhamento das tarefas

Ter a visão do que está sendo desenvolvido é mais difícil quando se está com o time remoto. É necessário ter uma designação clara das tarefas, para que não haja trabalho duplicado, além disso, devem ser o mais independente possível, para diminuir a chance de conflitos no códigos e que o desenvolvimento de uma tarefa interfira no desenvolvimento de outra. Também é importante saber como as tarefas estão sendo desenvolvidas ao longo da sprint, para melhorar o planejamento das próximas sprints.

Solução: Para fazer o acompanhamento das tarefas, utilizamos dois mecanismos. Utilizamos o JIRA para criação e acompanhamento das issues. As issues são atribuídas para cada desenvolvedor no planejamento da sprint e elas podem estar em cinco estados que auxiliam o acompanhando da issue: To Do, In Progress, QA, Under Review e Done. Além disso, temos 3 dailys por semana, de 10 minutos, onde cada um diz o que fez, o que está fazendo e o que irá fazer. Dessa forma, todos conseguem ter a visão do que está sendo desenvolvido pela equipe.

Entendimento dos critérios de aceitação

Os critérios de aceitação definem o que deve ser cumprido para uma tarefa ser aceita. Se os critérios de aceitação não estiverem bem definidos, o desenvolvedor terá dificuldades em implementar sua funcionalidade, e será difícil validar se o que foi implementado está correto. Assim, os critérios de aceitação devem ter uma definição bem clara e que deve ser feita, de preferência, em conjunto com os responsáveis pelo desenvolvimento. Cabe a esses responsáveis também a documentação dos critérios em um lugar de fácil acesso (esse fator é ainda mais importante em uma equipe de desenvolvimento remota).

Solução: Os critérios de aceitação são passados para as equipes durante a reunião de planejamento da sprint (feita por hangouts) e por meio da descrição da issues. Durante a reunião, a equipe de desenvolvimento pode tirar as dúvidas sobre esses critérios e até sugerir soluções. A descrição da issue permite documentar e auxilia nos testes que serão realizados posteriormente.

Ainda temos alguns problemas que não conseguimos resolver, mas que estamos buscando formas de solucioná-los. Um dos problemas atuais se dá pelo fato de outra parte da equipe Elliot (negócios, financeiro, suporte) estar em escritório. Alguns dos assuntos que são discutidos dentro dessa equipe presencial, por vezes, não chega até a equipe que está remota. Assim, acaba ocorrendo um gap de comunicação da equipe que trabalha presencial para a equipe que trabalha remotamente. Para resolver esse problema, iremos fazer reuniões semanais com toda a equipe, passando os objetivos e como estamos caminhando em direção a eles.

Outro problema reportado pelos desenvolvedores é a falta de contato pessoal. Em um escritório, conversas ocorrem frequentemente, dúvidas são mais facilmente resolvidas com alguém te explicando pessoalmente e é mais fácil saber como o colega de trabalho está se sentindo. Testamos uma solução de deixar uma sala do hangtous aberta durante o dia, para que os desenvolvedores pudessem entrar e jogar conversa fora, porém o experimento não deu certo.

Trabalhar remotamente é desafiador, exige comprometimento do indivíduo e da equipe. É difícil encontrar profissionais que compartilhem dos nossos valores, que tenham autonomia, compromisso e responsabilidade com o trabalho remoto para se unirem ao nosso time. Porém, a equipe do Elliot acredita que todas essas dificuldades nos forçam a ter o caminho mais alinhado e nos permitem evoluir como empresa e como profissionais.

Esse é o primeiro texto do Tech Blog do Elliot , em breve teremos muito mais. Qualquer dúvida ou se tiver interesse em participar da equipe Elliot, envie um e-mail para staff@eusouelliot.com.

--

--