Processo de Software

Propaganda
Métricas de Software
Competência: Compreender as
métricas de Software
Agenda
• Métricas nos Domínios do Processo e do
Projeto.
• Métricas de Processo e aperfeiçoamento
do processo de Software.
• Métricas de Projeto.
Métricas nos Domínios do
Processo e do Projeto
• A medida é comum no mundo da
engenharia.
• Medimos consumo de energia, peso,
dimensões físicas, temperatura, voltagem,
relação entre sinal e ruído.
• Porém na Engenharia de Software a
medição é menos comum.
Métricas nos Domínios do
Processo e do Projeto
• Temos dificuldades em “concordar
quanto ao que medir” e dificuldade em
“avaliar as medidas que são
coletadas”.
Métricas nos Domínios do
Processo e do Projeto
• Métricas devem ser coletadas de modo
que os indicadores de processo e de
produto possam determinados.
Métricas nos Domínios do
Processo e do Projeto
• Indicadores de processo permitem à
organização de engenharia de Software ter idéia
da eficácia de um processo existente (i.e, o
paradigma, as tarefas de engenharia de
software; os produtos de trabalho e os marcos
de tempo). Eles permitem aos gerentes e
profissionais avaliarem “o que funciona e o
que não funciona”.
Métricas nos Domínios do
Processo e do Projeto
• Métricas de Processo são coletadas ao
longo de todos os projetos durante longos
períodos.
• Seu objetivo é fornecer indicadores
que levem a aperfeiçoamentos do
processo de software a longo prazo.
Métricas nos Domínios do
Processo e do Projeto
Indicadores de projeto permitem ao gerente de
projeto:
1. Avaliar o status de um projeto em andamento;
2. Acompanhar riscos potenciais;
3. Descobrir áreas-problema antes que elas se
tornem “críticas”;
Métricas nos Domínios do
Processo e do Projeto
4. Ajustar fluxo de trabalho ou tarefas;
5. Avaliar a capacidade da equipe de projeto de
controlar a qualidade dos produtos do trabalho
de software.
Métricas nos Domínios do
Processo e do Projeto
• Métricas devem ser coletadas de modo que os
indicadores de processo e de produto possam
determinados.
• Indicadores de processo permitem à
organização de engenharia de Software ter idéia
da eficácia de um processo existente (i.e, o
paradigma, as tarefas de engenharia de
software; os produtos de trabalho e os marcos
de tempo). Eles permitem aos gerentes e
profissionais avaliarem “o que funciona e o
que não funciona”.
Métricas de Processo e aperfeiçoamento do
processo de Software
O único modo racional para aperfeiçoar
qualquer processo é medir os atributos
específicos, desenvolver um conjunto de
métricas significativas, baseadas nesses
atributos, e depois usar as métricas para
fornecer indicadores, que levarão a uma
estratégia de aperfeiçoamento.
Métricas de Processo e aperfeiçoamento do
processo de Software
Nós medimos a eficácia de um processo
de software indiretamente. Isto é,
originamos um conjunto de métricas,
baseadas nas saídas que podem ser
derivadas do processo. As saídas
incluem:
Métricas de Processo e aperfeiçoamento do
processo de Software
•
•
•
•
•
•
Medidas dos erros descobertos antes da entrega do
software;
Defeitos entregues aos usuários finais e por eles
relatados;
Produtos de trabalhos entregues (produtividade);
Esforço Humano despendido;
Tempo Gasto;
Cumprimento de Cronograma.
Métricas de Processo e aperfeiçoamento do
processo de Software
•
•
As métricas de processo de software podem fornecer
benefícios significativos, à medida que a organização
trabalha para aperfeiçoar seu nível geral de
maturidade do processo. Todavia, como todas as
métricas, essas podem ser mal-utilizadas, criando
mais problemas do que conseguem resolver.
Por isso é Sugerida uma “Etiqueta para métricas de
Software”, que é apropriada tanto para gerentes
quanto para profissionais quando eles instituem um
programa de métricas do Processo:
Métricas de Processo e aperfeiçoamento do
processo de Software
•
•
•
•
•
•
•
Use bom senso e sensibilidade empresarial quando interpretar
dados de métricas;
Forneça regularmente realimentação aos indivíduos e equipes
que coletam medidas e métricas;
Não use métricas para avaliar indivíduos;
Trabalhe com profissionais e equipes para estabelecer metas
claras e métricas que devem ser usadas para alcançá-las;
Nunca use métricas para ameaçar indivíduos ou equipes;
Dados de métricas que indicam uma área problemática não
devem ser considerados “negativos”. Esses dados são
meramente indicador para melhoria do processo;
Não fique obcecado com uma única métrica em detrimento de
outras métricas importantes.
Métricas de Processo e aperfeiçoamento do
processo de Software
A medida que uma organização sente-se mais
confortável, coletando e usando métricas de processo,
a derivação de indicadores simples dá lugar a uma
abordagem mais rigorosa chamada “melhoria
estatística do processo de software”.
Essencialmente é usado a análise de falhas de
software para coletar informação sobre todos os erros
e defeitos encontrados à medida que uma aplicação,
sistema, ou produto é desenvolvido e usado.
A análise de falhas funciona da seguinte maneira:
Métricas de Processo e aperfeiçoamento do
processo de Software
•
•
•
•
•
•
Todos os erros e defeitos são categorizados por origem(falha de
especificação, falha de lógica, não atendimento a padrões);
O Custo para corrigir cada erro e defeito é registrado;
A quantidade de erros e defeitos de cada categoria é contada e
ordenada de forma decrescente;
O custo total de erros e defeitos de cada categoria é calculado;
Os dados resultantes são analisados, para descobrir as
categorias que produzem um maior custo para a organização;
São desenvolvidos planos para modificar o processo, com
objetivo de eliminar(ou reduzir a freqüência das) classes de erros
e defeitos que são mais dispendiosas.
Métricas de Projeto
A primeira aplicação das métricas de projeto, na
maioria dos projetos de software ocorre durante a
estimativa. Métricas coletadas de projetos anteriores
são usadas como base, a partir da qual estimativas de
esforço e tempo são feitas para o trabalho atual de
software.
A medida que o projeto prossegue, medidas de
esforço e de tempo despendidos são comparadas com
as estimativas originais (e o cronograma do projeto). O
gerente do projeto usa esses dados para monitorar e
controlar o progresso.
Métricas de Projeto
•
•
•
•
O objetivo das métricas de projeto é duplo.
Primeiro, essas métricas são usadas para minimizar o
cronograma de desenvolvimento, fazendo ajustes necessários
para evitar atrasos e problemas, e riscos em potencial.
Segundo, métricas de projeto são usadas para avaliar a
qualidade do produto durante sua evolução e , quando
necessário, modificar a abordagem técnica para aperfeiçoar a
qualidade.
A medida que a qualidade é aperfeiçoada, os defeitos são
minimizados, e, à medida que a contagem de defeitos decresce,
a quantidade de retrabalho durante o projeto é também reduzida.
Isso leva à diminuição do custo total do projeto.
Bibliografia
• Engenharia de Software. Pressman. 3
Edição Capítulo 2. Páginas 59 a 62.
Download