O cenário:
- Startup que tem como principal negócio um produto que é vendido como serviços para outras empresas, ou seja, B2B
- Você é tech lead de uma squad e reporta direto ao CTO
- Você assumiu um projeto novo como tech lead e recebeu a função de contratar mais DEVs para o time
- Atualmente seu time é formado por 2 juniors com pouco tempo de experiência e 1 senior que esta na empresa há 3 anos
- Você contratou 1 sênior e 2 plenos para compor o time, esses DEVs tem uma vasta experiência nas tecnologias usadas no projeto
Você está enfrentando alguns problemas:
- São muitas novas contratações acontecendo e você tem que passar a cultura para essas novas pessoas e garantir que elas estão pegando a cultura no código também.
- O ambiente construído localmente e o ambiente de produção são diferentes, os DEVs programam em SOs diferentes e isso está causando alguns problemas no momento de compartilhar branchs e encontrar erros no front.
- Um DEV sênior do seu time está desmotivado porque tinha a expectativa de ser promovido a tech lead mas depois de 1 ano e maio ainda é mantido como dev sênior, por ser a pessoa com mais conhecimento do código, ele manifestou a vontade de demissão.
- Um dos DEV Pleno se apropriou da prática de testes integrados, sempre quando chega essa necessidade apenas ele faz, criou um gargalo desses testes, este DEV está se sentindo insatisfeito por passar sprints inteiras apenas fazendo teste
- Os clientes reportam comportamentos estranhos da aplicação e algumas vezes vocês não conseguem encontrar esses comportamentos
- Quando erros em produção aparecem, o time todo para o que está fazendo para se concentrar na resolução do BUG
- Os DEVs mais experientes pedem sempre que podem, para não incluir mais features no projeto por algumas sprints
- Os DEVs têm dificuldades em estimar o tempo das tarefas por não entender todas as regras de negócios já aplicadas no código, por vezes surgem regras iguais aplicadas de formas diferentes em diferentes locais do projeto
- O Fenômeno efeito borboleta é recorrente, o DEV precisa fazer manutenção em uma parte do código e acaba afetando outros lugares que não deveria ter ligação
- Acontece muito pair programming a fim de entender números mágicos e variáveis com nomes genéricos
- O time de relacionamento com o cliente está sobrecarregado, diariamente muitos clientes abrem chamados por BUGs, alguns problemas esse time consegue resolver a partir da manipulação de queries diretas no banco de dados
- Seus superiores estão insatisfeitos por:
- Novas features que parecem simples apresentam com um prazo tão grande
- A taxa de Churn Rate está altíssima (taxa que mede a perda de receita e/ou clientes)
- O time de vendas e está com dificuldade para vender o produto para novos clientes pelo fato do produto estar com uma reputação ruim em alguns clientes importantes
- O time de marketing vendeu algumas features que estavam previstas para o dia 10 de julho, porém seu time acabou de te informar que essas features não estarão prontas antes de agosto