Métricas de Software e Gestão de Projetos: Guia Completo
Introdução às Métricas de Software
Poucas empresas utilizam métricas, seja por receio de menor sucesso ou por desconhecimento de que 4% do custo é destinado a isso. As que utilizam, focam em conformidade com o CMM (Capability Maturity Model), mas a falta de profissionalismo é evidente.
IEEE Standard 1061: Métricas de Atributos de Qualidade
Um atributo é uma função onde se insere um valor (software) e a saída tem como objetivo medir a qualidade do produto.
Fatores de Qualidade
- Associe cada fator de qualidade a uma métrica direta.
- Atribua uma ou mais medidas diretas a cada fator.
- Utilize apenas métricas válidas.
6 Critérios de Validação (IEEE 1061)
- Correlação: A métrica deve ser linear com o fator de qualidade.
- Consistência: Deve ser uma função monotônica (se f1 > f2 > f3, então y1 > y2 > y3).
- Rastreamento: Se f1 ou f2 mudar em tempo real, y1 e y2 também mudam.
- Previsibilidade: Capacidade de prever o valor de F a partir de Y.
- Poder discriminativo: Capacidade de distinguir componentes de alta qualidade.
- Confiabilidade: A métrica deve atender aos 5 critérios anteriores.
O padrão IEEE 1061 define que uma métrica direta não depende de outras medidas e é fundamentalmente válida. O MTTF (Mean Time To Failure), por exemplo, não é considerado direto em todos os contextos.
Validação de Métricas: 10 Perguntas Essenciais
O termo construct validity refere-se ao problema básico: "Como você sabe que está medindo o que pensa estar medindo?" Para avaliar uma métrica, utilize estas 10 perguntas:
- Qual o objetivo desta medida?
- Qual o escopo desta medida?
- Qual atributo estamos medindo?
- Qual a escala do atributo?
- Qual a variabilidade natural do atributo?
- Qual é a métrica e quais fórmulas são usadas?
- Qual a escala natural desta métrica?
- Qual a variabilidade das leituras?
- Qual a relação entre o atributo e o valor da métrica?
- Quais os efeitos colaterais ao usar esta fórmula?
Modelo COCOMO de Estimativa
O COCOMO (Constructive Cost Model) é um modelo de estimativa de cronograma e custo de desenvolvimento.
Implementação Básica
Calcula o esforço e custo em função das linhas de código (KLOC). Fórmulas: E = ab(KLOC)^bb, D = cb(E)^db, P = E / D. É rápida, mas carece de fatores como experiência da equipe e ferramentas.
Implementação Intermediária
Calcula o esforço considerando 15 atributos (produto, hardware, pessoal e projeto) em uma escala de seis pontos.
Implementação Detalhada
Incorpora a versão intermediária com avaliação de impacto de custo em cinco fases: plano e exigência, projeto do sistema, projeto detalhado, código do módulo e teste.
Fundamentos da Medição
O que são métricas? Medição de um atributo de uma entidade (produto, processo ou recurso). Por que medir? Para entender, aperfeiçoar processos, melhorar a gestão e o relacionamento com clientes.
Categorias de Métricas
- Diretas: Contagem fundamental (custo, esforço, linhas de código).
- Indiretas: Derivadas (complexidade, eficiência).
- Produtividade: Focadas na saída do processo.
- Qualidade: Adequação às exigências.
Gerenciamento de Projetos
O gerenciamento é crucial para o sucesso. Desafios incluem a intangibilidade do software, a ausência de um processo padrão e a unicidade de projetos de grande porte.
Atividades de Gerenciamento
- Elaboração de propostas e objetivos.
- Planejamento de cronogramas e marcos (milestones).
- Monitoramento e seleção de pessoal.
Planejamento do Projeto
Deve incluir planos de qualidade, validação, configuração, manutenção e desenvolvimento pessoal. Estrutura recomendada: Introdução, Organização, Análise de Risco, Recursos, Estrutura Analítica, Cronograma e Monitoramento.
Gerenciamento de Riscos
- Riscos de Projeto: Afetam cronograma ou recursos.
- Riscos de Produto: Afetam qualidade ou desempenho.
- Riscos de Negócio: Afetam a organização (ex: concorrência).