Precisamos de Padrões

Esse post foi traduzido automaticamente do inglês. Se você encontrar algum erro, por favor entre em contato.

Você já leu um codebase de projeto onde podia encontrar diferentes formas de implementar a mesma coisa? Diferentes formas de implementar controllers, de escrever testes.

Recentemente trabalhei em um codebase que evoluiu ao longo do tempo tendo diferentes tipos de implementação para a maioria de seus componentes básicos: diferentes templates, diferentes testes, diferentes controllers, principalmente porque cada desenvolvedor tinha o seu jeito melhor de fazer.

O resultado é que toda vez que você abre um arquivo específico, você não sabe o que esperar.

Olhando para trás na forma como desenvolvemos, eu ficava pensando em como teria sido muito melhor se nosso time pudesse desenvolver código como se fosse uma pessoa só, tendo a mesma forma de construir as mesmas coisas, tendo padrões.

Mas padrões? E a inovação? Vamos ficar fazendo as mesmas coisas por anos assim.

É aí que também podemos aprender com a Toyota. Eles têm padrões, mas esses podem mudar a qualquer momento, e eu acredito que isso poderia ser facilmente aplicado a projetos de software. Só porque todo o time decide como construir algo, não significa que eles precisam fazer assim durante todo o projeto. Ágil deveria ser evolutivo, então os padrões atuais deveriam ser sempre questionados. Só precisamos garantir que, em qualquer momento, todos saibam as formas como escrevemos código.

E se eu encontrei algum caso onde não funciona, posso mudá-lo e garantir que todos saibam o que estou fazendo. E para fazer isso posso precisar de apenas uma ferramenta simples: comunicação.

Gostou deste post? Escrevo sobre liderança em times de engenharia de software. Assine para ficar por dentro.