< Back
Julho 10, 2020

7 passos para acelerar o processo de onboarding

Integrar novos membros na equipa: o que podemos aprender com projetos de open-source?
onboardingopensourceprojetosti

Escrito por:

Ricardo Santos

Os projetos de software são muito mais voláteis hoje em dia, do que eram antes. Os requisitos estão sempre a ser alterados, a tecnologia está em constante evolução e a rotatividade nas equipas está a aumentar. É cada vez mais comum ter pessoas a entrar e a sair de um projeto, por inúmeras razões. Algumas podem-se evitar. Outras nem por isso.

Independentemente dos motivos da rotatividade elevada nas equipas de projeto, é importante definir estratégias para garantir que estas mudanças têm o menor impacto possível no sucesso do projeto.

Em relação a este assunto, as empresas e respetivas equipas de desenvolvimento de software têm muito a aprender com a comunidade de open-source.

Um dos principais desafios que os projetos de open-source enfrentam é garantir que a barreira colocada à entrada de novos responsáveis é pequena ou inexistente. As pessoas devem ser capazes de, com o mínimo de esforço possível, entender o projeto, os caminhos a seguir e como contribuir para o mesmo, tornando-se num elemento útil o mais fácil e rapidamente possível.

Com esse desafio em mente, existem algumas práticas comuns entre projetos de open-source bem-sucedidos, que podem ser aplicadas durante o processo de integração de novos membros na equipa.

1. Planeamento do projeto

Porque é necessário um planeamento de implementação do projeto?

O planeamento do projeto é uma parte importante do repositório do mesmo. Juntamente com a descrição do projeto, este planeamento ajuda os novos membros da equipa a ter uma ideia rápida dos objetivos a cumprir.

O que deve estar incluído num planeamento de projeto?

Neste documento, podemos adicionar uma lista de recursos do que “fazer”, “não fazer” e do que eventualmente se “pode fazer”, incluindo ainda os motivos por trás de cada decisão.

Desta forma, não será necessário repetir sempre a mesma conversa cada vez que a equipa recebe um novo membro.

Se estás a começar a planear o teu projeto, podes encontrar um modelo de planeamento de projeto aqui, que te pode ser útil.

2. Configuração simplificada

Configurar um ambiente de desenvolvimento complexo pode ser dispendioso. Todo o tempo aqui investido, é tempo que o programador não está a usar para acrescentar valor ao próprio projeto. Este custo é ainda maior quando outro membro da equipa precisa de intervir e ajudar o novo programador com a tarefa em questão.

Quanto tempo deve a configuração demorar?

Não é suposto a configuração do ambiente de desenvolvimento demorar dias ou semanas; deve apenas demorar algumas horas – ou minutos.

O processo deve ser o mais planeado e automatizado possível. Os novos membros da equipa devem ser capazes de configurar os seus ambientes de desenvolvimento apenas com a documentação de apoio. Se eles precisarem de ajuda, porque esta documentação está desatualizada ou não é clara o suficiente, isto significa que o novo membro da equipa acabou de ganhar uma oportunidade para fazer o seu primeiro contributo para o projeto, atualizando a documentação e os scripts de configuração.

3. Convenções de código

Um bom código deve ser previsível e de fácil leitura. As convenções são extremamente importantes. A equipa deve acordar as convenções de código a serem utilizadas, e garantir que estas são aplicadas de uma forma automática. Se as convenções de formatação e nomenclatura forem consistentes, a base de código será mais fácil de ler e entender, o que significa que as novas contribuições serão mais fáceis de fazer e rever.

Linters (alguns exemplos no GitHub aqui) e ferramentas de análise de código estático (top 10 do G2 aqui) são cruciais para ajudar o projeto a continuar no caminho certo, relativamente às convenções de programação e práticas recomendadas.

4. Testes automatizados

Os testes devem ser automatizados e integrados no processo de CI / CD. Deve ser relativamente fácil escrever um novo teste.

Os testes têm um papel muito importante na ajuda e integração dos novos membros da equipa. Conseguem não só dar uma sensação de segurança ao alterar ou adicionar código, como podem também ser essenciais para compreender a estrutura de base do código.

Testes relevantes e de escrita fácil são bons para todos os membros da equipa. No entanto, os testes podem ser ainda mais relevantes na orientação e integração de um novo membro da equipa ao adicionar código ao projeto ou a corrigir problemas existentes.

5. Utilização de templates

A forma como os problemas são apresentados e geridos é muito importante para reduzir barreiras à entrada de novos membros da equipa.

Os problemas devem ser apresentados de uma forma clara, e com todas as informações necessárias. É por isso que os templates são úteis. Assim, todos os membros da equipa sabem que informações precisam de ser dadas e onde podem encontrar a informação relevante para resolver o problema ou adicionar uma funcionalidade ao sistema.

Na exposição dos problemas, deve ser dada informação útil como a descrição do comportamento esperado e atual, e os passos a serem dados para reproduzir esse mesmo comportamento.

6. Tarefas discutidas publicamente

As discussões sobre as tarefas de um projeto de TI (Tecnologias de Informação) devem estar disponíveis para toda a equipa, e o seu histórico deve ser guardado. Isto ajuda a equipa a manter-se em sintonia, e dá ao novo membro da equipa um contexto valioso para conseguir resolver um bug ou compreender o porquê da decisão de um design ou implementação.

Os sistemas de gestão de tarefas podem ajudar bastante neste aspeto, visto que, por norma, estes permitem que a equipa adicione comentários e informações extra que ajudam a criar uma timeline e documentação relevante para cada tarefa.

7. Utilização de etiquetas "Good-First-Issue"

Sempre que possível, deve-se rotular problemas simples de resolver com a etiqueta “Good-First-Issue”. Esta é uma informação que pode ser valiosa para a integração de novos membros na equipa. Estes problemas vão ajudar um novo membro a familiarizar-se com o projeto enquanto, em simultâneo, acrescenta valor ao mesmo.

Principais conclusões

Colocando em prática cada um destes 7 passos, há uma maior probabilidade de acelerar o processo de onboarding de novos membros na equipa.

Na Growin, já experienciamos melhorias incríveis e conseguimos aumentar significativamente a nossa produtividade. A integração de novos membros tende a fluir melhor em projetos onde estas ideias são tidas em consideração e guiam o processo de tomada de decisões. Os novos programadores começam a acrescentar valor ao projeto mais rapidamente e com um impacto maior – não só na eficiência do funcionamento da equipa, como também na motivação de todos os envolvidos, visto que minimizam o tempo investido em tarefas menos relevantes para atingir o objetivo final.

Ao reduzir as barreiras à entrada de novos membros e manter as coisas simples, previsíveis e bem definidas, os novos programadores da equipa podem focar-se naquilo que realmente gostam de fazer: desenvolver software de excelência!

Já tiveste algum problema com o onboarding de novos membros na equipa? Conta-nos mais sobre o assunto para que possamos entrar em contacto e partilhar algumas dicas úteis.

Sobre o Autor

Ricardo Santos, .NET Senior Consultant

Adoro programar e criar software de excelência, aprender coisas novas e partilhar conhecimento.

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *


×

Hello!

Click below to speak to one of our team members.

× How can we help?