Uma coisa que você precisa se perguntar é: "Se um dev de senioridade superior a sua chegar nesse projeto, ele vai conseguir tocar o projeto facilmente ou vai ter que ler o código todo e fazer várias perguntas para você para só depois conseguir fazer algo?"
O que eu quero dizer é o seguinte, o projeto pode estar me arquitetado e organizado, mas o mapa das coisas pode estar apenas na sua cabeça, e idenpendente de quem estiver chegando no time pode ter dificuldades.
em TODOS os casos eu tenho um retrabalho gigantesco, porque o código fica uma bagunça e, não só no sentido visual, mas no sentido lógico/funcional.
Será que não está faltando uma documentação por mais simples que seja com:
- As principais decisões do projeto
- Padrões utilizados, e com referências para essas documentações como os design patterns adotados
- Estilos de código adotados, para nomes de classes, variáveis, arquivos e etc.
Essas e outras definições você pode colocar em um arquivo .md
simples no repositório do projeto, e toda vez que encontrar algo fora dessas definições nos PRs, você rejeita a PR indicando o ponto que está errado e insere a referência da documentação de padrões.
Sem isso, não importa a senioridade de quem estiver chegando no projeto, sempre será uma novela. É claro que quanto menor a capacidade técnica maior será a dificuldade.