Diretrizes para qualidade de software em equipe

Um caminho bem definido sempre ajuda.

Quando trabalhamos em times é comum que cada um tenha uma opinião sobre alguns assuntos como:

São tópicos comuns que sempre aparecem e quanto mais experiência a gente têm em qualquer um deles, mais teimosos ficamos. Seja porque é algo realmente bom e você conhece as alternativas ou simplesmente é algo que te dá conforto.

Como sair de uma queda de braço dessas é difícil somente com a opinião de cada um envolvido.

Acredito que o certo é o famoso “matar a cobra e mostrar o pau” e, em um certo momento, o problema vai ser resolvido, um acordo vai ser fechado e nem todo mundo vai ficar feliz mas isso faz parte do nosso desenvolvimento.

Depois de ter vencido ou perdido a queda de braço, é necessário mais um passo, talvez tão trabalhoso quanto.

Criar diretrizes para o time

Elas são importantes porque fazem com que o time trabalhe em sintonia e se desenvolva como uma unidade e vou te sugerir alguns pontos.

Aprender com os erros

Esta parte é fácil! A gente faz isso, quase sempre de maneira natural, a gente da de cara com a porta e da próxima vez a gente lembra de abrir ela antes de tentar passar, mas com o tempo a gente vai esquecendo e o problema volta pra nos assombrar.

Dica:

  • Mantenha um postmortem de todos os incidentes. Faça isso numa Wiki do seu repositório, Google Drive, Dropbox Paper, você escolhe a melhor maneira de documentar isso mas lembre-se que é super importante permitir a busca de maneira fácil! Se você tem um livro de postmortem mas não tem um index decente, vai ter retrabalho e vai ter que criar um postmortem do seu postmortem (inception!)

O time precisa evoluir junto

Jogo RPG e se você joga/jogou, sabe da importância de manter todos do seu grupo evoluídos e bem equipados. Se isso não acontece, acaba atrapalhando o grupo.
Não estou sendo escroto dizendo que o Jr. da equipe é um problema, ele não é, é uma oportunidade. Todo mundo no time pode ensinar algo novo para todos e quanto mais conhecimento for compartilhado menos problemas vão ser enfrentados!

Sempre divida com o time.

Dicas:

  • Wiki, de novo.
  • Um outro ponto que adoro é a qualidade dos commits, o contexto de cada mensagem e a precisão dela de acordo com o que foi feito, isso é super importante e pode salvar vidas! Leia isto aqui: How to Write a Git Commit Message. E passe a criar commits como um verdadeiro desenvolvedor alfa!
  • Tente fazer com que seus commits não saiam do contexto. Se você acha que isso é difícil vou te ensinar algo que aprendi: você esta organizando suas tarefas de maneira errada. Se você se organiza corretamente, você consegue, com facilidade, criar commits que façam alterações sem sair do contexto.

Mantenha o código limpo e atualizado

Ah…. Essa parte é linda de se ver funcionando mas um horror de se ver quando falta. Estou falando daquele seu commit que corrigiu aquele último problema mas deixou aquele penúltimo problema “pra depois, agora é só um MVP mesmo” e você sabe que ele vai ficar lá até o lançamento da versão 5.8.98, não é?

Dicas:

  • Remova o débito técnico no ato! Esta trabalhando com a funcionalidade X? Ótimo! Pegue um tempo extra e dê um fim naquele débito técnico que já esta com 4 meses de vida.
  • Sempre atualize suas dependências, sugiro isso por experiência própria. Quanto mais dependências, mais trabalho. Quanto mais desatualizadas, mais o cheiro de enxofre vai subindo. Se uma dependência é deixada para depois, você sempre estará com versões antigas porque sair da versão 0.5.9 para a 3.2.5 é super complicado!

A documentação tem que estar no ponto! Sempre!

Dê um pulinho no blog da Digital Ocean e se inspire. Vai lá e volta….

Viu só? Aquilo sim é documentação, precisamos aprender com eles.

Dicas:

  • Wiki outra vez, desculpa.
  • O README também é um fiel amigo do seu time. Todos sentem um certo pavor quando abrem um README e encontram o padrão do framework ou simplesmente #README. Isso é triste, desmotivador e triste de novo.
  • Atualize o seu README a cada nova versão.
  • O irmão do README é o CHANGELOG, lembre-se dele e toma esse link: Keep a CHANGELOG

São sugestões e podem não funcionar com todos os times em todas as situações. A ideia é ir notando os pontos problemáticos, fazer o possível para mudar, aprender, evoluir e partir para o próximo ponto até que o time trabalhe como um só, sempre na mesma frequência, aonde poucas palavras dizem muito.

=)

Like what you read? Give Daniel Gerep a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.