2. Identificação de Métricas e Plano de Medição
Paradigma Goal Question Metrics
O que é?
É uma abordagem para definir objetivos, perguntas e métricas em desenvolvimento de software, com o objetivo de alinhar os esforços de desenvolvimento aos objetivos de negócio.
Possibilita a identificação do conjunto de métricas a ser coletado.
Quais são os passos para sua aplicação?
- Identificação dos interessados na medição
- Estabelecimento dos principais objetivos da medição
- Geração de perguntas cujas respostas serão indicativos do progresso em relação aos objetivos
- Definição de métricas
Processo de medição
Etapas
É um processo cíclico. Suas etapas são:
- Planejar
- Medir
- Analisar os dados
- Tomar decisões baseadas na análise
- Implantar as decisões
Princípios
- Fornecer uma base para melhoria contínua do processo, produto ou serviço
- Quantificar a qualidade e produtividade
- Estar integrado com o ciclo de vida de desenvolvimento
- Medir o impacto de vários métodos, ferramentas e técnicas de melhorias
Medições devem ser usadas para medir processos, não pessoas
Características de um programa efetivo de medição
- Escolha de um conjunto adequado de métricas
- Relação entre métricas e tomada de decisão
- Avaliação de processos e não de pessoas
- Envolvimento de várias pessoas
- Estabelecimento de alta prioridade
- Integração ao desenvolvimento de software
- Alinhamento com os objetivos do negócio
- Padronização e documentação
- Compartilhamento de métricas obtidas
- Institucionalização da medição como parte da cultura organizacional
- Integração com programas de melhorias
- Oferta de planos de ação
Plano de Métricas
O que é?
É um documento responsável por especificar informações sobre métricas e medições
Informações contidas no plano
Para cada objetivo técnico:
- POR QUE as métricas satisfazem o objetivo
- QUE métricas serão coletadas, como serão definidas e analisadas
- QUEM fará a coleta, análise, e verá os resultados
- COMO será feito: ferramentas, técnicas e práticas usadas para coleta e análise
- QUANDO e com que frequência as métricas serão coletadas e analisadas
- ONDE os dados serão armazenados
Especificando as medições
Definições operacionais
Para cada métrica, definir e documentar:
- Objetivos
- Público alvo da métrica
- Quem precisa da informação?
- Quem irá usar as informações resultantes?
Procedimento de coleta e armazenamento
- Quando o dado deve ser coletado?
- Quem é o responsável pela coleta e armazenamento?
- Como o dado deve ser coletado?
- Onde será armazenado?
- É possível automatizar?
Procedimento de análise
- Necessário para entendimento da métrica e avaliação
- Deve ter como norte os objetivos da medição
- Seleção de métodos e ferramentas
- Representação visual
- Envolvimento da equipe de desenvolvimento sempre que necessário
Resultados
- Devem ser comunicados ao público alvo
- Ações tomadas com base nos resultados
- Ajustes no processo
- Armazenar resultados, ações tomadas e outras informações relevantes
Linhas de Código (KLOC)
KLOC = Kilo lines of code = 1mil linhas de código
Utilização para estimativa de tamanho de software
Média ponderada para estimar tamanho. Exemplo:
É importante ter base para comparação. Utilizar projetos semelhantes irá refinar a estimativa.
Métricas de qualidade com KLOC
- Produtividade =
- Qualidade =
- Custo por linha =
- Documentação por código =
Pontos de Função
Características
- Independente de linguagem de programação
- Feita do ponto de vista do usuário
- Amplamente utilizada
Objetivos
- Técnica
- Medir a funcionalidade que o usuário solicita e recebe
- Medir desenvolvimento e melhoria de software, independente de tecnologia
- Processo
- Minimizar trabalho adicional de medição (é um método simples)
- Ser consistente entre projetos diferentes
Benefícios
- Possibilidade de determinar o tamanho de um pacote de software adquirido
- Ajudar usuários a determinar os benefícios de um pacote para sua organização
- Estimar custos e recursos
- Suportar análise de produtividade e qualidade
Conceitos
Visão do usuário
- Representa uma descrição formal das necessidades do negócio do usuário em seu próprio linguajar
- Deve ser compreendida por usuários e desenvolvedores
- É uma descrição das funções do negócio
- É Aprovada pelo usuário
- Pode ser usada para contar Pontos de Função
- Pode variar em sua forma física
Processo elementar
- Menor unidade de atividade que tem significado para o usuário
- Deve ser autocontido e deixar o negócio da aplicação que está sendo contada em um estado consistente
Informações de controle
- Especifica o que, quando ou como os dados são processados
- Influencia processos complementares da aplicação
Lógica de processamento
- Requisitos especificamente solicitados pelo usuário para completar um processo elementar
Reconhecido pelo usuário
- Requisitos definidos para processos e/ou grupos de dados, acordados e entendidos tanto pelo usuário quanto pelo desenvolvedor
Contagem de ponto de função
![AFP flow diagram.png](/img/user/img/user/pages/Engenharia de Software/Resources/AFP flow diagram.png.md)
Fonte