Alguns livros sobre métricas que sua biblioteca da faculdade provavelmente inclui incluem Métricas de Software e Métricas e Modelos em Engenharia de Qualidade de Software . Esses 2 devem dar-lhe um ponto de partida. No mundo industrial, poucas empresas possuem algum tipo de programa de medição métrica.
A maioria das empresas tem alguma maneira, não precisa ser um programa elegante, para medir métricas significativas?
O Visual Studio inclui algumas ferramentas de análise de código que podem ajudar você a começar. A maioria das empresas nem sequer tem algo para medir a pior métrica possível: linhas de código. "Basta fazer" parece ser a força motriz esmagadora do setor, e as preocupações com a manutenção recebem muito pouca atenção às preocupações dos gerentes de "receberei meu bônus este ano?" e "isso será feito no tempo que prometi?" Mesmo com produtos que transitam ano a ano com mudanças incrementais, essas duas preocupações diminuíram as preocupações dos desenvolvedores em relação à manutenção e detecção / prevenção de erros.
Quais métricas, únicas ou combinadas, ajudam a restringir o escopo e as estimativas do seu projeto?
Acho que a complexidade e o acoplamento ciclomáticos são fortes indicadores de quão problemático ou difícil de manter o código. Se a complexidade ciclomática for em torno de 20, acho que será quase impossível testar (pois ele terá até 2 ^ 20 caminhos pelo código) e deve ser decomposto em pedaços menores. Você não pode eliminar a complexidade, mas pode dividi-la em pedaços mais gerenciáveis.
Se você está procurando uma estimativa , provavelmente deseja investigar pontos de função .
A porcentagem de cobertura do código está diminuindo drasticamente a cada iteração. Você alerta seus desenvolvedores sobre o problema
Acho que a maioria dos gerentes se preocupa com o número de check-ins e o número de bugs sendo corrigidos. Meu gerente atual se opõe aos testes de unidade (ele acha que é uma perda de tempo) e meu gerente anterior achou que o tempo gasto em testes de unidade era o tempo que deveria ser gasto escrevendo-o em primeiro lugar.
O argumento canônico usado pelos desenvolvedores é que, se você medir algo, é apenas isso que você obterá. Esse argumento deriva da ideia de que a única métrica são as linhas de código.