Técnicas de passagem de conhecimento

O que você pode fazer para facilitar a integração de um novo membro na equipe?

Paula Grangeiro
Paula Grangeiro

--

Projetos de software são iguais a uma corrida de revezamento: o sucesso na entrega depende do desempenho de todos na equipe.

Para atender ao aumento da demanda no projeto, um novo membro é alocado na equipe. Seja por vias de contratação ou realocação interna, este é um cenário comum nessa indústria vital de desenvolvimento de software. Até que o novo membro da equipe tenha um desempenho comparável aos demais, leva-se tempo. E durante esse tempo, o dia-a-dia pode ser árduo não só para os veteranos, que devem ser capazes de lidar com as tarefas do sprint e fazer a passagem de conhecimento, mas também para o novato, que fica incumbido de absorver o máximo de conhecimento e aplicar no projeto o mais rápido possível.

Nivelar o conhecimento, técnico ou de negócio, da equipe é essencial para garantir a saúde — de todos — do projeto. Então o que podemos fazer para diminuir esse gap?

Code Review

Revisar o código de um membro da equipe deve ser um processo diário para garantir a qualidade de código. Através de comentários pontuais, os desenvolvedores do projeto podem discutir implementações, abordagens, regras de negócio, etc. O code review ajuda tanto programadores juniors quanto seniors — um simples “O que isso faz?” basta para sanar as dúvidas de iniciantes e reforçar conhecimento dos veteranos — , portanto jamais tenha medo/vegonha de realizar ou passar por uma revisão de código.

Code review em um dos mais de 400 pull requests abertos do projeto Ansible no GitHub: No processo de code review, nenhuma dúvida é tão boba que não mereça ser questionada.

Sessões de modelagem

Uma nova funcionalidade será desenvolvida? Está com dúvidas na iteração entre objetos? Convide a equipe para o quadro mais próximo e pratique uma rápida sessão de modelagem. Não é necessário aplicar à risca o padrão UML, desde que todos se comuniquem mediante um padrão — rabiscar diferentes formas representando um mesmo componente pode gerar confusão. Mesmo que ninguém queira participar da sessão de modelagem, pratique individualmente. É cientificamente comprovado que nós seres humanos fixamos melhores as informações quando estas são representadas visualmente.

Pair Programming

Programar em par é uma ótima técnica para passagem de conhecimento. Através dela temos visibilidade de como os demais membros da equipe trabalham na resolução de um problema e isso pode gerar alguns insights para melhorar o nosso processo de desenvolvimento. Está desenvolvendo alguma feature interessante ou estagnou com alguma dúvida? Convide um outro membro da equipe para participar de um pair programming. Afinal, duas cabeças pensam melhor do que uma.

Nesse vídeo bem humorado do Bitbucket temos algumas dicas para garantir que o pair programming seja proveitoso.

Sprint Review

Durante o sprint review, realizamos pequenas demonstrações das features que foram entregues. Aproveite a oportunidade para citar as dificuldades e sacadas que você teve durante o desenvolvimento para alcançar o objetivo do sprint. Assim, você deixa claro quais foram seus pontos fortes e fracos diante do desafio, deixando explícito para o restante da equipe onde você precisa de ajuda e com o que você pode colaborar.

Dojo, Lightning talks e Treinamentos

Todas as atividades citadas anteriormente encaixam-se perfeitamente no dia-a-dia de equipes ágeis e simplesmente não existe um porquê de não utilizá-las. Caso você e sua equipe desejem ir além, crie um cronograma de atividades para a passagem de conhecimento, como dojos, treinamentos ou lightning talks. Um dos membros da equipe participou de um evento internacional recentemente? Que tal uma lightning talk dando uma overview sobre o assunto? Alguém está com dificuldades para entregar uma feature? Monte um dojo com a equipe para resolução do problema! Participou de um workshop ou tutorial pago? Que tal compartilhar esse conhecimento com o restante da equipe (e reforçar o que aprendeu)?

Essas técnicas não só ajudam com o nivelamento de conhecimento como estimulam o compartilhamento de informação dentro da equipe. E essa mentalidade é essencial para combater a formação de ilhas de conhecimento.

--

--

Programadora por profissão, desenhista nas horas vagas e colecionadora de gatos.