Na era pós-Covid, as equipes de desenvolvimento de software estão reconstruindo completamente os processos e fundamentos em que são baseadas.Novos paradigmas e tendências estão surgindo em organizações de tecnologia, startups e equipes remotas, especialmente quando a maioria de suas equipes é global, remota e descentralizada.As organizações ainda estão compreendendo como lidar com essas novas questões que surgem em suas operações, mas a realidade é que isso é o novo normal - para o bem ou para o mal. 🤩Nosso objetivo final e principal permanece o mesmo:Entregar aos clientes serviços e software de alta qualidade que simplifiquem seus processos.Com equipes remotas abrangendo múltiplos fusos horários, níveis de proficiência e origens culturais, os gerentes de engenharia em organizações tradicionais devem ajustar continuamente seus métodos para obter produtividade e eficiência ideais.Como Gerente de Engenharia de Software ou Líder Técnico, nosso papel principal é orientar e educar nossas equipes para fornecer um software impecável e excepcional, que faça nossos clientes retornarem e nossa comunidade se orgulhar 👏.Desde a criação da TAIKAI, temos monitorado constantemente a qualidade do nosso software, medindo o desempenho das equipes e verificando a satisfação do cliente para garantir que a empresa esteja seguindo na direção certa para alcançar nossa grande visão. 🚀Durante essa jornada longa e difícil, identificamos as chamadas métricas norteadoras ⭐️ para nossas equipes de software, que nos ajudam a aprimorar nossos processos e entregas.Então, vamos descobrir sobre quais métricas estamos falando 👇As 10 Métricas-chave para Medir o Sucesso de Equipes de Desenvolvimento de Software📏Bugs/MêsEssa é a quantidade de bugs identificados durante o período de um mês. Saber em qual fase um bug foi relatado é fundamental para determinar se ele foi identificado tarde demais, quando o software já foi lançado e está sendo usado pelos clientes.Proporção de Bugs de Alta Prioridade %Essa é a proporção entre a quantidade de bugs de alta prioridade e a quantidade de bugs de baixa e média prioridade identificados.Bugs/Mês Detectados em ProduçãoEssa métrica se refere à quantidade de bugs detectados em produção durante o período de um mês.Um pipeline de desenvolvimento saudável deve ser otimizado para identificar possíveis problemas o mais cedo possível, por meio de revisão de código, testes de garantia de qualidade e ambientes de teste. No entanto, de tempos em tempos, um problema ou bug só é detectado quando o software já está em produção, diante do público 😭.Embora seja natural que isso aconteça e faça parte do trabalho do gerente de software, uma abundância de bugs detectados em produção não deve ser negligenciada.Quando uma alta porcentagem de bugs é detectada em produção, isso indica que medidas devem ser adotadas para melhorar seus processos de teste e revisão de código antes que ocorram mais problemas.Você pode aumentar o número de revisores de código, revisar o processo de QA ou analisar com a equipe o que pode ser melhorado para reduzir essa métrica fundamental.Velocidade/mêsO número de pontos de história entregues por uma equipe durante um mês. Isso nos permite verificar se os níveis de produtividade e capacidade de entrega permanecem em um ritmo constante.Durante períodos festivos, como dezembro ou agosto, por exemplo, a velocidade geralmente diminui em 50%, mas isso é algo que se alinha completamente com nossos ciclos de mercado.Uma coisa que eu realmente não recomendo é usar essa métrica para comparar equipes. Cada equipe tem seu próprio conjunto de processos para estimar histórias, portanto, é imprudente tentar comparar coisas diferentes.Velocidade/SprintO número de pontos de história por sprint de toda a equipe. Usamos essa métrica para comparar sprints com sprints anteriores da equipe, para que possamos identificar contextos que estejam bloqueando as equipes.As razões para a diminuição da velocidade são diversas, então certifique-se de que sua equipe seja capaz de identificar a origem do problema antes de implementar medidas. Processos de integração deficientes, equipes com baixa motivação, planejamento de histórias ruim ou um alto número de interrupções podem prejudicar a entrega e a saúde da equipe.Velocidade/DesenvolvedorEssa métrica se refere à velocidade de uma equipe dividida pelo número de membros da equipe. Em um mundo perfeito, adicionar membros à equipe levaria a uma melhoria na velocidade e eficiência. Infelizmente, nem sempre é esse o caso na realidade.Quando há períodos de integração, a produtividade pode ser afetada negativamente. Em equipes maiores, onde o conhecimento está disperso em vários níveis, os desenvolvedores seniores podem ter uma queda na eficiência devido ao tempo consumido ao orientar desenvolvedores juniores.Certifique-se de encontrar o tamanho certo para sua equipe, caso contrário, você acabará tendo uma proporção muito baixa de velocidade por desenvolvedor.Taxa de Entrega % (Velocidade/Compromisso)Essa é a proporção entre o número de pontos de história comprometidos no início da sprint e o número de pontos de história entregues.Se a taxa cair abaixo de 60%, é um sinal claro de que algo deu errado no planejamento da equipe ou que eles estão enfrentando obstáculos em sua jornada que precisam ser abordados prontamente.Tempo para correção de Bugs (percentual 50) Dias/MêsO número de dias que a equipe geralmente leva para entregar uma correção para 50% dos bugs. Essa métrica protege o KPI "Tempo para Correção" de ser distorcido por uma amostra anômala, garantindo que você obtenha insights precisos.Tempo para Correção de Bugs (Média)/MêsUma média tradicional para o tempo de correção de todos os bugs fechados durante um mês.Tempo para Correção de Bugs de alta prioridade (Mediana)/Mês 🐞O número de dias que a equipe geralmente leva para entregar uma correção para 50% dos bugs de alta prioridade.Tempo para Correção de Bugs de alta prioridade (Média)/Mês 🐞Média de todos os tempos de correção de bugs de alta prioridade.Geralmente, essas duas métricas são extremamente importantes em nosso ciclo de desenvolvimento. Bugs de alta prioridade geralmente têm um impacto no usuário final, então procuramos priorizar a resolução desses bugs em nosso pipeline de desenvolvimento....Esse framework simples foi formulado para otimizar nosso processo de desenvolvimento e eliminar decisões baseadas na intuição e no feeling.Quando você gerencia um número significativo de equipes de software globais, seu papel é projetar as bases, criar uma boa experiência para os desenvolvedores e ter uma régua única para gerenciar e avaliar as equipes de maneira justa.E o que melhor do que números para gerenciar uma equipe de ciência da computação? 😲"Números não mentem" 💯Os desafios de coletar métricas de ferramentas de rastreamentoEu pessoalmente acredito muito no ditado "Números não mentem", então a única maneira de ter uma visão mais ampla do desempenho de nossas duas equipes de desenvolvimento é analisar métricas e agir de acordo para mitigar riscos e melhorar eficiência e produtividade.A maioria das métricas descritas acima não pode ser exportada de ferramentas tradicionais de rastreamento de problemas, pelo menos por enquanto. Às vezes, você precisa usar suas habilidades internas de script ninja para coletar todas as informações dos relatórios gerados pelas suas ferramentas de rastreamento.Uma de nossas resoluções para 2023 é exportar essas métricas automaticamente e eliminar o processo manual necessário para coletá-las.Talvez esse possa ser um tópico para outro post técnico em nosso blog. 🤞Benefícios da implementação desse frameworkEsse framework foi criado em um contexto muito específico para medir nossas equipes, no entanto, acreditamos firmemente que ele pode ser implementado em outros contextos - desde organizações maiores até equipes que operam com metodologias ágeis.Para obter essas métricas do seu software de gerenciamento de problemas, às vezes é necessário fazer um trabalho manual, mas o esforço vale a pena quando você identifica tendências e é capaz de agir e orientar sua equipe a encontrar a estratégia perfeita para mitigar um problema.No final do dia, esse é o papel principal de um Gerente de Software, CTO, Líder de Equipe ou Gerente de Engenharia: ajudar nossas equipes a entregar software de alta qualidade que se destaque diante do seu público.Nada deve preocupá-lo mais do que isso, especialmente se você está totalmente comprometido em fazer uma startup crescer e se tornar uma referência no mercado.Objetivo de entregar experiências impecáveis aos clientesQuando acordo de manhã, meu objetivo é garantir que os membros da minha equipe estejam inspirados, motivados e tenham todos os recursos necessários à disposição para produzir produtos excepcionais.Esse pode não ser o framework perfeito para alcançar o sucesso, mas acreditamos que ele serve como um ponto de partida para qualquer equipe começar a observar com mais cuidado seus resultados e entregas.Gosto de pensar no processo de desenvolvimento de software como uma fábrica tradicional. É fundamental que nossos processos sejam eficientes e organizados, com recursos capacitados que compreendam sua missão dentro de cada divisão.Isso garante uma produção constante e ágil de todos os membros trabalhando juntos no mesmo ritmo.Pensamentos finais 🤔Na TAIKAI Labs, como uma empresa focada no cliente, nosso principal objetivo é oferecer experiências impecáveis, e estamos obcecados em detectar problemas o mais rápido possível em nosso pipeline de desenvolvimento.Tendemos a otimizar nossas equipes para reduzir o número de bugs detectados em produção e ter um tempo de correção de bugs baixo para problemas que afetam a experiência do usuário ou têm alta prioridade.Nos últimos anos, essa obsessão teve um bom impacto em nosso crescimento.Se olharmos mais de perto nossa pontuação de satisfação do cliente, podemos concluir com certeza que eles estão realmente satisfeitos com o serviço e a qualidade do nosso software entregue e geralmente voltam a trabalhar conosco sem buscar outro concorrente logo ali na esquina.Espero que este artigo tenha sido útil para você, assim como foi para nós. Você pode nos enviar qualquer tipo de feedback para melhorar nossa eficiência na medição de nossas equipes de software. Esse framework, nascido de grandes discussões, é verdadeiramente um esforço conjunto de nossa equipe para alcançar uma equipe de entrega proficiente e bem-sucedida.Hora de focar e continuar construindo 💪 🧑💻Feliz programação em 2023, esperamos voltar em breve com novos pensamentos sobre engenharia de software.