métricas de software

60
Antonio Carlos Tonini MÉTRICAS DE SOFTWARE MÉTRICAS DE SOFTWARE Antonio Carlos Tonini Antonio Carlos Tonini Maio / 2004 Maio / 2004

Upload: elliando-dias

Post on 17-Dec-2014

2.621 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Métricas de Software

Antonio Carlos Tonini

MÉTRICAS DE SOFTWAREMÉTRICAS DE SOFTWARE

Antonio Carlos ToniniAntonio Carlos Tonini

Maio / 2004Maio / 2004

Page 2: Métricas de Software

Antonio Carlos Tonini

AGENDAAGENDA

PARTE IPARTE I

Conceitos de métricasConceitos de métricas Contexto de aplicaçãoContexto de aplicação Por que medir ?Por que medir ? Até onde medir ?Até onde medir ? Tipos de métricasTipos de métricas Processos de mediçãoProcessos de medição Métricas para o recurso tempoMétricas para o recurso tempo Métricas para o recurso custosMétricas para o recurso custos Métricas para o recurso pessoasMétricas para o recurso pessoas Métricas para o produtoMétricas para o produto

Page 3: Métricas de Software

Antonio Carlos Tonini

AGENDAAGENDA

PARTE IIPARTE II

Métricas para o clienteMétricas para o cliente Métricas para o processoMétricas para o processo Métricas para a gestãoMétricas para a gestão Modelos da QualidadeModelos da Qualidade Finalizando....Finalizando....

Page 4: Métricas de Software

Antonio Carlos Tonini

FundamentaçãoFundamentação

Processo de Processo de ADMINISTRARADMINISTRAR

ObjetivoObjetivoDecisãoDecisão AçãoAção

RecursosRecursos

Planejamento

Organização

Direção

Controle

MÉTRICAS

inferências

Page 5: Métricas de Software

Antonio Carlos Tonini

ConceitoConceito

METRICASMETRICAS – inferências sobre os processos de – inferências sobre os processos de trabalho que traduzem:trabalho que traduzem:

METRICASMETRICAS

ESTIMATIVASESTIMATIVAS

DESEMPENHODESEMPENHO

• a prioria priori

• expectativasexpectativas

• a posterioria posteriori

• eficiênciaeficiência

• eficáciaeficácia

Page 6: Métricas de Software

Antonio Carlos Tonini

Gestão de TIGestão de TI

Processo de desenvolvimentoProcesso de desenvolvimento

ProjetosProjetos

ConstruçãoConstrução GestãoGestão

GestãoGestãoSuporteSuporte

Processos de trabalho de TIProcessos de trabalho de TI

GESTÃOGESTÃO

RECURSOSRECURSOS

PRODUTOSPRODUTOS

CLIENTESCLIENTES

PROCESSOPROCESSO

Page 7: Métricas de Software

Antonio Carlos Tonini

Recursos ProcessoProdutos (software)

Clientes Gestão

PossibilidadesPossibilidades

Métricas possíveis no desenvolvimento Métricas possíveis no desenvolvimento de sistemasde sistemas

Como estão sendo realizados os trabalhos de desenvolvimento de software

Como estão sendo utilizados os recursos disponíveis

Quanto mede e como está a qualidade dos produtos de software

Como está sendo feio a gestão do contexto de TI

Como está sendo recebido e percebido os trabalhos e os produtos

Page 8: Métricas de Software

Antonio Carlos Tonini

Característas do trabalhoCaracterístas do trabalho

SoftwareSoftware ......parte mais visível de um sistema parte mais visível de um sistema constantes mudanças e reclamaçõesconstantes mudanças e reclamaçõesmais complexo que outros produtos mais complexo que outros produtos manufaturadosmanufaturadosinexistência de processo efetivo e inexistência de processo efetivo e consolidadoconsolidadoentrega para manufatura não segue entrega para manufatura não segue procedimentos da engenharia procedimentos da engenharia fundamentos não estáveisfundamentos não estáveissegue algumas regras das ciências naturais e segue algumas regras das ciências naturais e outras das ciências sociaisoutras das ciências sociais

Page 9: Métricas de Software

Antonio Carlos Tonini

Por que medir ?Por que medir ?

obter obter auto-conhecimento auto-conhecimento (interna)(interna) atender a uma atender a uma pressãopressão imediata imediata (externa)(externa) preparar-se para o preparar-se para o futurofuturo ( (tendência)tendência)

Motivação

Page 10: Métricas de Software

Antonio Carlos Tonini

Por que medir ?Por que medir ?

Obter auto conhecimento ?Obter auto conhecimento ?

Se Se nãonão sabemos onde estamos... sabemos onde estamos... NãoNão conseguimos ... conseguimos ...

... Saber para onde queremos ir... Saber para onde queremos ir ... Saber o que faremos... Saber o que faremos

1.1. Saber Saber o queo que temos, o que somos temos, o que somos

e e aondeaonde estamos estamos

Função: Função: ESTÁTICA ESTÁTICA POSICIONALPOSICIONAL

Visão Presente

Page 11: Métricas de Software

Antonio Carlos Tonini

Por que medir ?Por que medir ?

ImediatoImediato para atender uma pressão de para atender uma pressão de momento momento

(por exemplo: ganhar uma concorrência)(por exemplo: ganhar uma concorrência)

2.2. Saber Saber o queo que fazer hoje fazer hoje e e para ondepara onde caminhar caminhar

Função: Função: DINÂMICADINÂMICA DIREÇÃODIREÇÃO

Se não ficaram as raizes, como será em um próximo projeto ?

Page 12: Métricas de Software

Antonio Carlos Tonini

Por que medir ?Por que medir ?

Tendência de futuro Tendência de futuro para se preparar para se preparar para atender melhor no futuropara atender melhor no futuro

2.2. Saber Saber o queo que fazer hoje fazer hoje e e para ondepara onde caminhar e caminhar e como mudar de direçãocomo mudar de direção

Função: Função: DINÂMICADINÂMICA DIREÇÃODIREÇÃO ADAPTATIVAADAPTATIVA

Page 13: Métricas de Software

Antonio Carlos Tonini

Por que medir ?Por que medir ?

RiscoRisco

Se Se nãonão conseguimos MEDIR... conseguimos MEDIR...NãoNão conseguimos ... conseguimos ...

... CONTROLAR... CONTROLAR ... GERENCIAR... GERENCIAR ... MELHORAR... MELHORAR ... TRABALHAR... TRABALHAR

Page 14: Métricas de Software

Antonio Carlos Tonini

Até onde medir ?Até onde medir ?

AlinharAlinhar os objetivos das inferências os objetivos das inferências com os objetivos da empresacom os objetivos da empresa

Estabelecer um programa de Estabelecer um programa de métricas: métricas: adequadoadequado, , plausívelplausível, , factívelfactível e e gradualgradual

Não medir mais do que é necessárioNão medir mais do que é necessário

Page 15: Métricas de Software

Antonio Carlos Tonini

Até onde medir ?Até onde medir ?

DefeitosDefeitos

Prazo de EntregaPrazo de Entrega

DesperdícioDesperdício

CustoCusto

Satisfação dos clienteSatisfação dos cliente

Produtividade dos Produtividade dos recursosrecursos

Visibilidade das açõesVisibilidade das ações

GerenciabilidadeGerenciabilidade

VantagensVantagens

Page 16: Métricas de Software

Antonio Carlos Tonini

Por que medir ?Por que medir ?

Page 17: Métricas de Software

Antonio Carlos Tonini

Tipos de métricasTipos de métricas

Métricas Métricas PrimáriasPrimárias (1a. Ordem): (1a. Ordem):

Apontamentos dos fatos (Apontamentos dos fatos (reaisreais) ) MEDIDASMEDIDAS

Informações Informações objetivasobjetivas da realidade da realidade

Exemplo: Exemplo: defeitos, horas trabalhadas, custo, defeitos, horas trabalhadas, custo, reclamações, ...reclamações, ...

Tendência à expressão numéricaTendência à expressão numérica

“O número, à medida que quantifica, é o princípio da ordem e da harmonia. A realidade é absolutamente objetiva e comensurável e o uso dos números para explicá-la evita o dissenso e a controvérsia.

(Pitágoras de Samos, 572?-510? a.c.)

Page 18: Métricas de Software

Antonio Carlos Tonini

Tipos de métricasTipos de métricasMétricas Métricas SecundáriasSecundárias (2a. Ordem): (2a. Ordem):

IndicadoresIndicadores (expressam um comportamento além dos números) (expressam um comportamento além dos números)

Resultado de uma Resultado de uma relaçãorelação de: de:

÷÷

Exemplo: Exemplo: densidade de defeitos (defeitos por fase do projeto), ...densidade de defeitos (defeitos por fase do projeto), ...

Métrica Fator

Page 19: Métricas de Software

Antonio Carlos Tonini

Tipos de MétricasTipos de Métricas Riscos – Riscos – Métricas primáriasMétricas primárias

processo de captura processo de captura credibilidadecredibilidade meio de captura meio de captura facilidade, entendimento, objetividadefacilidade, entendimento, objetividade independência do apontador independência do apontador confiabilidade confiabilidade

Riscos – Riscos – Métricas secundáriasMétricas secundárias

processo de tabulação processo de tabulação corretudecorretude processo de uso processo de uso utilidade, poder de explicação, relevânciautilidade, poder de explicação, relevância

Page 20: Métricas de Software

Antonio Carlos Tonini

Tipos de MétricasTipos de Métricas

CRITÉRIOSCRITÉRIOS

PriorizaçãoPriorização: grade de : grade de importânciaimportância x x urgênciaurgência

Características Características intrínsecasintrínsecas: : natureza, comportamentonatureza, comportamento

Características Características extrínsecasextrínsecas: : relacionamento com o contexto da relacionamento com o contexto da mediçãomedição

Page 21: Métricas de Software

Antonio Carlos Tonini

Tipos de métricasTipos de métricas

Quantitativa Quantitativa QualitativaQualitativa

Métricas primárias Métricas Métricas primárias Métricas secundáriassecundárias

Produtividade Produtividade QualidadeQualidade

Direta Direta IndiretaIndireta

Recursos ProcessoProdutos (software)

Clientes Gestão

Page 22: Métricas de Software

Antonio Carlos Tonini

Tipos de MétricasTipos de Métricas

Medições operacionaisMedições operacionais

Processo { Projeto { AtividadesProcesso { Projeto { Atividades

Medições táticasMedições táticas

Tendências Impactos AtributosTendências Impactos Atributos

Medições estratégicasMedições estratégicas

Benchmarking Melhoria AvaliaçãoBenchmarking Melhoria Avaliação

contínua contínua econômicaeconômica

Objetiva o Processo e suas atividades Objetiva o Processo e suas atividades e os projetos e suas atividadese os projetos e suas atividades

Objetiva o ambiente de desenvolvimento, Objetiva o ambiente de desenvolvimento, mudanças, tendências ...mudanças, tendências ...

Objetiva comparações com outras Objetiva comparações com outras organizações, melhorias contínuas ...organizações, melhorias contínuas ...

Page 23: Métricas de Software

Antonio Carlos Tonini

Processo de métricaProcesso de métrica

PerfeitoPerfeitoMonitoradoMonitoradoMedidoMedidoPraticadoPraticadoSeguidoSeguido

EnfatizadoEnfatizadoTreinadoTreinado

Ter apoioTer apoioTer donoTer dono

Page 24: Métricas de Software

Antonio Carlos Tonini

Processos de mediçãoProcessos de medição

DefiniçãoDefinição

ColetaColeta

TabulaçãoTabulação

AvaliaçãoAvaliação

ComparaçãoComparação

Ciclo periódicoCiclo periódico

Produção dos Produção dos tipos de tipos de métricasmétricas

Produção Produção das das métricas métricas primáriasprimárias

Produção das Produção das métricas métricas secundáriassecundárias

Validação e Validação e verificação das verificação das métricas em simétricas em si

Validação e verificação Validação e verificação das métricas no das métricas no contextocontexto

Page 25: Métricas de Software

Antonio Carlos Tonini

Tipos de métricasTipos de métricas

Recursos ProcessoProdutos (software)

Clientes Gestão

Page 26: Métricas de Software

Antonio Carlos Tonini

Tipos de métricasTipos de métricas

Recursos TempoTempo

PessoasPessoas

CustoCusto

Page 27: Métricas de Software

Antonio Carlos Tonini

Métricas para o tempoMétricas para o tempo Natureza do tempo:Natureza do tempo:

volatilidade, incontrolabilidade, perecibilidade volatilidade, incontrolabilidade, perecibilidade

Definição da unidade de medida:Definição da unidade de medida: normalmente HORAS normalmente HORAS

Distribuição do tempo:Distribuição do tempo:

TOTAL DISPONIBILIZADO

TOTAL APLICADO

PRODUTIVO

PROGRESSO MODIFICAÇÕES RETRABALHO IMPRODUTIVO PARADA

Page 28: Métricas de Software

Antonio Carlos Tonini

Métricas para o tempoMétricas para o tempo

TOTAL DISPONIBILIZADO

TOTAL APLICADO

PRODUTIVO

PROGRESSO MODIFICAÇÕES RETRABALHO IMPRODUTIVO PARADA

Tempo total aplicado Tempo total aplicado ao(s) projeto(s)ao(s) projeto(s)

Tempo Tempo perdido ou perdido ou utilizado utilizado para outras para outras atividadesatividades

Tempo de Tempo de estudo, estudo, preparaçãopreparação, dedicação , dedicação indireta ao indireta ao projetoprojeto

Tempo Tempo total total aplicado ao aplicado ao projetoprojeto

Tempo Tempo dedicado ao dedicado ao projeto, projeto, produzindo produzindo alguma alguma funcionalidadefuncionalidade

Tempo dedicado Tempo dedicado para inovações para inovações e novas e novas funcionalidadesfuncionalidades

Tempo dedicado Tempo dedicado para ajustes ou para ajustes ou modificações do modificações do usuáriousuário

Tempo dedicado Tempo dedicado para ajustes e para ajustes e acertos devido a acertos devido a erroserros

Page 29: Métricas de Software

Antonio Carlos Tonini

Métricas para o tempoMétricas para o tempo

Métricas primáriasMétricas primárias::

Quantidade deQuantidade de tempo tempo (...) para (...) para fazerfazer (...) (...)

Base dos time-sheetsBase dos time-sheets

O objetivo O objetivo não é medir as pessoasnão é medir as pessoas, , mas medir o tempo utilizado para mas medir o tempo utilizado para realizar as atividadesrealizar as atividades

Page 30: Métricas de Software

Antonio Carlos Tonini

Métricas para o tempoMétricas para o tempo

Métricas secundárias:Métricas secundárias:

DuraçãoDuração = = tempos das atividades tempos das atividades

PrazoPrazo = Calendário + duração= Calendário + duração Critério do Critério do “empurrar”“empurrar”

• determinante: processo precedentedeterminante: processo precedente• Data de início + duração quando é o Data de início + duração quando é o

término ?término ? Critério do Critério do “puxar”“puxar”

• determinante: processo dependentedeterminante: processo dependente• Data de fim – duração quando é o início ?Data de fim – duração quando é o início ?

Page 31: Métricas de Software

Antonio Carlos Tonini

Métricas para o tempoMétricas para o tempo

Métricas secundárias (Métricas secundárias (continuaçãocontinuação):):

Horas produtivasHoras produtivas

Taxa de ProdutividadeTaxa de Produtividade =------------------- =-------------------

Total de Horas disponibilizadasTotal de Horas disponibilizadas

EsforçoEsforço = quantidade total de horas/homem ( = quantidade total de horas/homem (??????) para ) para fazer uma determinada quantidade de trabalhofazer uma determinada quantidade de trabalho

Quantidade de trabalhoQuantidade de trabalho

ProdutividadeProdutividade =-------------------- =--------------------

EsforçoEsforço

Produtivas ou totais ?

Métrica do produto

Page 32: Métricas de Software

Antonio Carlos Tonini

Métricas para o tempoMétricas para o tempoMétricas secundárias (Métricas secundárias (continuaçãocontinuação):):

Distribuição % do tempo por atividadeDistribuição % do tempo por atividade

Tempo paradoTempo paradoTaxa de ociosidade = Taxa de ociosidade = --------------------------------------------------

Tempo disponibilizadoTempo disponibilizado

Tempo aplicadoTempo aplicadoTaxa de ocupação operacional = Taxa de ocupação operacional = --------------------------------------------------

Tempo disponibilizadoTempo disponibilizado

Tempo improdutivoTempo improdutivoTaxa de espera = Taxa de espera = --------------------------------------------------

Tempo produtivoTempo produtivo

Tempo produtivoTempo produtivoTaxa de eficiência produtiva = Taxa de eficiência produtiva = --------------------------------------------------

Total disponibilizadoTotal disponibilizado

Page 33: Métricas de Software

Antonio Carlos Tonini

Métricas para o tempoMétricas para o tempo

Métricas secundárias (Métricas secundárias (continuaçãocontinuação):):

Rendimento produtivo = Rendimento produtivo = Eficiência produtiva x qt.projetosEficiência produtiva x qt.projetos executadosexecutados

Tempo de retrabalhoTempo de retrabalhoTaxa de tempo de retrabalho = --------------------------Taxa de tempo de retrabalho = --------------------------

Tempo produtivoTempo produtivo

Page 34: Métricas de Software

Antonio Carlos Tonini

Métricas para o custoMétricas para o custo

Identificar quanto implica monetariamente: Identificar quanto implica monetariamente: Custo direto devido a realização de cada uma Custo direto devido a realização de cada uma

das atividadesdas atividades Custos indiretos das demais desembolsosCustos indiretos das demais desembolsos

O valor mais significativo é a mão-de-obra O valor mais significativo é a mão-de-obra direta empregada:direta empregada:

CUSTO = f (esforço)CUSTO = f (esforço) (software é o resultado da interação intelectual (software é o resultado da interação intelectual

de pessoas – Tom DeMarco, 1977)de pessoas – Tom DeMarco, 1977)

Page 35: Métricas de Software

Antonio Carlos Tonini

Métricas para o custoMétricas para o custo

Variação:

Progressoe

MelhoriasModificações Retrabalho Improdutivo Parada

Variável Semi-variável Por degrau

Comportamento do custo da mão-de-obraComportamento do custo da mão-de-obra

Page 36: Métricas de Software

Antonio Carlos Tonini

Métricas para custoMétricas para custoCustos indiretos envolvidos:Custos indiretos envolvidos:

estrutura da área de TI: estrutura da área de TI: recursos computacionais, equipamentosrecursos computacionais, equipamentos treinamento,treinamento, assessoria, consultoria, auditoriaassessoria, consultoria, auditoria materiais de consumomateriais de consumo

estrutura da empresa:estrutura da empresa: utilidadesutilidades administraçãoadministração instalação instalação

estrutura do atendimento do projeto:estrutura do atendimento do projeto: Locomoção, estadiaLocomoção, estadia

seguros, eventuais e imprevistosseguros, eventuais e imprevistos qualidade e da falta da qualidade:qualidade e da falta da qualidade:

falhas internas e externas,falhas internas e externas, avaliação da qualidade e prevençãoavaliação da qualidade e prevenção

Page 37: Métricas de Software

Antonio Carlos Tonini

Métricas para custoMétricas para custo

CComportamento dos custos:omportamento dos custos: quanto à variação e o gerenciamentoquanto à variação e o gerenciamento

Critérios de absorção no(s) projeto(s):Critérios de absorção no(s) projeto(s):Nenhuma absorção (normalmente para projetos internos)Nenhuma absorção (normalmente para projetos internos)Absorção total ou parcial em função de algum parâmetro (Absorção total ou parcial em função de algum parâmetro (tamanho do projetotamanho do projeto))

Variação:

ComplexidadeTecnológica

Oportunidade Entregaantecipada

Gerenciamento Desgasteorganizacional

Outros

Por degrau Aleatório

Controlável IncontrolávelGerenciamento:

Page 38: Métricas de Software

Antonio Carlos Tonini

Métricas para custoMétricas para custoApontamento dos custos diretos:Apontamento dos custos diretos:Através da valorização do time-sheetAtravés da valorização do time-sheetEstipular o período de tabulação: período, conclusão de fase etc.Estipular o período de tabulação: período, conclusão de fase etc.

Apontamento dos custos indiretos:Apontamento dos custos indiretos:Sistematização: contabilização por centro de custo, por projeto etc.Sistematização: contabilização por centro de custo, por projeto etc.Estipular o período de tabulação: período, conclusão de fase etc.Estipular o período de tabulação: período, conclusão de fase etc.

Page 39: Métricas de Software

Antonio Carlos Tonini

Métricas para custoMétricas para custoMétricas primárias:Métricas primárias:Custo total do projetoCusto total do projetoCusto por fase do projeto e por tipo de custoCusto por fase do projeto e por tipo de custoCustos imprevistosCustos imprevistosCustos de ociosidadeCustos de ociosidadeCustos de retrabalhoCustos de retrabalhoCusto de modificaçõesCusto de modificações

Métricas secundárias:Métricas secundárias:Custo do projeto por unidade de tamanho do projetoCusto do projeto por unidade de tamanho do projetoCurva de variação de custosCurva de variação de custosCustos reais x orçados x replanejadosCustos reais x orçados x replanejadosRedistribuição dos custosRedistribuição dos custos

Page 40: Métricas de Software

Antonio Carlos Tonini

Métricas para custoMétricas para custo

Custo Realizado (CR) mostra a intensidade da ultrapassagem do orçamento inicial. Custo Planejado (CP) mostra a velocidade de projeto

.

Valor do trabalho feito (VTF) = custo planejado (CP) x % do trabalho feito (PTF)

Valor do trabalho efetuado: Valor do trabalho efetuado: análise do trabalho análise do trabalho efetuado e comparação com o valor orçado e o efetuado e comparação com o valor orçado e o realizado.realizado.

Motivo: síndrome dos 90% - os primeiros 90% do trabalho consomem 90% do tempo disponível e os últimos 10 % consomem outros 90%.

Comparação do valor do trabalho feito (VTF) Comparação do valor do trabalho feito (VTF) vsvs::

Page 41: Métricas de Software

Antonio Carlos Tonini

Métricas para custoMétricas para custo

custo realizado (CR)proporção de custo realizado (PCR) = ---------------------------------------- custo planejado (CP)

Análise do PCR

Mostra se os gastos estão sob controle ou se o orçamento inicial está sendo ultrapassado:- Se PCR > 1 o orçamento está sendo ultrapassado- Se PCR < 1 o projeto está ainda sob controle;

Proporção do custo realizado : Proporção do custo realizado : permite permite analisar o grau de controle financeiro do projeto analisar o grau de controle financeiro do projeto face ao orçamentoface ao orçamento

Page 42: Métricas de Software

Antonio Carlos Tonini

Métricas para custoMétricas para custo

custo realizado (CR)proporção de custo do trabalho realizado (PCTR) = ---------------------------------------- valor do trabalho realizado (VTE)

Análise do PCTR

Mostra a tendencia:- Se PCR > 1 a tendência é não respeitar o orçamento- Se PCR < 1 a tendência é permanecer dentro dos limites;

Proporção do custo do trabalho realizado : Proporção do custo do trabalho realizado : permite analisar a tendência de controle ou perda permite analisar a tendência de controle ou perda de controlede controle

Page 43: Métricas de Software

Antonio Carlos Tonini

Métricas para custoMétricas para custo

Um projeto foi planejado para ter 10 atividades, com duração prevista de 1 mês cada, a um custo unitário de $ 10. Após 4 meses, apurou-se que somente 3 atividades tinham sido realizadas a um custo unitário de $ 15. Conclusões ?

CP (Custo Planejado) = 4 meses x $ 10 = $ 40

CR (Custo Real) = 4 meses x $ 15 = $ 45

PTF (Percentual de Trabalho Feito) = 3 atividades de um total de 4 atividades = 75 %

VTF (Valor do Trabalho Feito) = PFT x CP = 75 % x $ 40 = $ 30 CR 45 CR 45 PCTR = ------ = ----- = 1,5 PCR = ----- = ---- = 1,12 VTF 30 CP 40

Page 44: Métricas de Software

Antonio Carlos Tonini

Métricas para custo Métricas para custo Acompanhamento Físico

ab (1 mês) atraso na execução do projeto (após 4 meses se realizou uma quantidade de trabalho planejada para 3 meses).

Acompanhamento Financeiro:

ad = $ 15 excesso de dinheiro gasto para a quantidade de trabalho

de = $ 5 excesso de dinheiro gasto para aquele período;

dc = 0,5 $/mês custo real que só deveria ter sido gasto meio mês após a data do levantamento de dados.

PCTR = 1,5 tendência forte de perda de controle

PCR = 1,2 orçamento ultrapassado

Page 45: Métricas de Software

Antonio Carlos Tonini

Métricas para as pessoasMétricas para as pessoas

O objetivo:O objetivo: é evidenciar a é evidenciar a situação presentesituação presente e a e a

tendênciatendência dos recursos pessoais dos recursos pessoais

Tendência:Tendência: rotular rotular pessoas x problemaspessoas x problemas

Page 46: Métricas de Software

Antonio Carlos Tonini

Métricas para as pessoasMétricas para as pessoas

Métricas primárias :Métricas primárias :

Diversidade Diversidade de conhecimentosde conhecimentos• técnicos, metodológicos e gerenciaistécnicos, metodológicos e gerenciais

Profundidade Profundidade dos conhecimentosdos conhecimentos• Quantidade de detalhes conhecidosQuantidade de detalhes conhecidos• Aplicação dos conhecimentosAplicação dos conhecimentos

Quantidade de problemas Quantidade de problemas entregues x entregues x resolvidosresolvidos• Complexidade de problemasComplexidade de problemas• Tempo de resoluçãoTempo de resolução

Ocupação – Ocupação – lotação do tempo disponívellotação do tempo disponível

Page 47: Métricas de Software

Antonio Carlos Tonini

Métricas para as pessoasMétricas para as pessoas

Métricas secundárias :Métricas secundárias :

Capacidade para resolver problemasCapacidade para resolver problemasÍndice de assertividade na solução de Índice de assertividade na solução de problemasproblemasCapacidade para receber conhecimentosCapacidade para receber conhecimentosCapacidade para transmitir soluções Capacidade para transmitir soluções Índice de presençaÍndice de presençaÍndice de disponibilidade / ociosidadeÍndice de disponibilidade / ociosidade

Page 48: Métricas de Software

Antonio Carlos Tonini

Métricas para as pessoasMétricas para as pessoas

Page 49: Métricas de Software

Antonio Carlos Tonini

Tipos de métricasTipos de métricas

Recursos ProcessoProdutos (software)

Clientes Gestão

Page 50: Métricas de Software

Antonio Carlos Tonini

Métricas para o ProdutoMétricas para o ProdutoMétricas primárias funcionais (diretas):Métricas primárias funcionais (diretas):

Tamanho do softwareTamanho do software pronto (pronto (acervoacervo)) a ser desenvolvido (a ser desenvolvido (estimativaestimativa)) a ser modificado (rearranjo do conteúdo)a ser modificado (rearranjo do conteúdo)

Quantidade de defeitos:Quantidade de defeitos: por origem ou por complexidadepor origem ou por complexidade

Complexidade do softwareComplexidade do software Exigência de algum padrão de complexidadeExigência de algum padrão de complexidade

Idade do softwareIdade do softwareQuantidade manutençõesQuantidade manutençõesQuantidade de usuáriosQuantidade de usuáriosQuantidade de versões ativasQuantidade de versões ativasAcesso e segurançaAcesso e segurançaTamanho do acervo (físico e econômico)Tamanho do acervo (físico e econômico)

Page 51: Métricas de Software

Antonio Carlos Tonini

Métricas para o ProdutoMétricas para o ProdutoMétricas primárias não funcionais:Métricas primárias não funcionais:

Qualidade do produtoQualidade do produto pronto (pronto (acervoacervo)) a ser desenvolvido (a ser desenvolvido (estimativaestimativa)) a ser modificado (rearranjo do conteúdo)a ser modificado (rearranjo do conteúdo)

Utilidade do produto:Utilidade do produto: confiabilidadeconfiabilidade completezacompleteza consistênciaconsistência Robusteza (tolerância a falhas)Robusteza (tolerância a falhas)

Usabilidade do produtoUsabilidade do produto facilidade de uso (legibilidade)facilidade de uso (legibilidade) eficiência do usoeficiência do uso inteligilibilidade / compreensibilidadeinteligilibilidade / compreensibilidade agradabilidade (interface homem-máquina)agradabilidade (interface homem-máquina)

Page 52: Métricas de Software

Antonio Carlos Tonini

Métricas para o ProdutoMétricas para o Produto

Métricas secundárias:Métricas secundárias:

Qualidade do produtoQualidade do produtoEstimativa de durabilidadeEstimativa de durabilidadeComportamento dos defeitosComportamento dos defeitosTaxa de inovação: novas funcionalidadesTaxa de inovação: novas funcionalidades

Page 53: Métricas de Software

Antonio Carlos Tonini

Métricas para o ProdutoMétricas para o Produto

Medir a quantidade de funcionalidades incluídas em um software Medir a quantidade de funcionalidades incluídas em um software tamanho do produtotamanho do produto

Métodos mais utilizados:Métodos mais utilizados: Linhas de código - Linhas de código - lines of codelines of code (Kloc) (Kloc) Análise de Pontos de função (APF)Análise de Pontos de função (APF) Constructive Cost Model (COCOMO)Constructive Cost Model (COCOMO) Metodologias ágeisMetodologias ágeis Pontos de casos de usoPontos de casos de uso

Page 54: Métricas de Software

Antonio Carlos Tonini

Métricas para o ProdutoMétricas para o ProdutoLinhas de código - K lines of code (Kloc)Linhas de código - K lines of code (Kloc)

Criada na década de 70Criada na década de 70Tem por base a quantidade linhas do código fonte de todos os programas de um sistema.Tem por base a quantidade linhas do código fonte de todos os programas de um sistema.Apresenta alta correlação com o tempo de desenvolvimentoApresenta alta correlação com o tempo de desenvolvimentoPré-requisitos:Pré-requisitos:Estabilidade do ambiente em termos de linguagem utilizadaEstabilidade do ambiente em termos de linguagem utilizadaEstabilidade da capacidade da equipe de desenvolvimentoEstabilidade da capacidade da equipe de desenvolvimentoEstabilidade dos procedimentos de programação quanto à arquitetura dos códigosEstabilidade dos procedimentos de programação quanto à arquitetura dos códigosDerivação pelo APF (tabela de Albrecht e Capers Jones)Derivação pelo APF (tabela de Albrecht e Capers Jones)

Page 55: Métricas de Software

Antonio Carlos Tonini

Métricas para o ProdutoMétricas para o ProdutoAnálise de pontos de função (APF)Análise de pontos de função (APF)

Criado em 1979 por Allan J. Albrecht (IBM)Criado em 1979 por Allan J. Albrecht (IBM)Padrão internacional:Padrão internacional:

Parte 1 Parte 1 ISO/IEC 14143-1:1998 (jun, 1998) ISO/IEC 14143-1:1998 (jun, 1998) Parte 2 Parte 2 em votação como Commitee Draft (CD) em votação como Commitee Draft (CD) Partes 3,4 e 5 Partes 3,4 e 5 em votação como relatórios técnicos em votação como relatórios técnicos Padrão ISO/IEC 20296Padrão ISO/IEC 20296

Medir a quantidade de funcionalidades sob o ponto de vista do usuárioMedir a quantidade de funcionalidades sob o ponto de vista do usuárioPermite calcular:Permite calcular:

EstimativaEstimativa AcervoAcervo Modificações de projetosModificações de projetos

Independência do ambiente computacionalIndependência do ambiente computacionalCríticas quanto aos 14 fatores de ajuste Críticas quanto aos 14 fatores de ajuste

Page 56: Métricas de Software

Antonio Carlos Tonini

Métricas para o ProdutoMétricas para o ProdutoConstructive Cost Model - COCOMOConstructive Cost Model - COCOMO

Criada por Berry Bohem em 1981Criada por Berry Bohem em 1981É utilizada para estimar esforço, prazo e tamanho da equipeÉ utilizada para estimar esforço, prazo e tamanho da equipe3 métodos de cálculo:3 métodos de cálculo:

OrgânicoOrgânico – mais simples, pequenos projetos desenvolvidos “in house”, equipes pequenas e estáveis) – mais simples, pequenos projetos desenvolvidos “in house”, equipes pequenas e estáveis) IntermediárioIntermediário – considera fatores de complexidade do ambiente, da linguagem e da capacidade da equipe – considera fatores de complexidade do ambiente, da linguagem e da capacidade da equipe DetalhadoDetalhado – variação do método intermediário, possibilitando extender os cálculos para os subsistemas, módulos e rotinas – variação do método intermediário, possibilitando extender os cálculos para os subsistemas, módulos e rotinas

Crítica: tabelas de pesificaçãoCrítica: tabelas de pesificação

Page 57: Métricas de Software

Antonio Carlos Tonini

Métricas para o ProdutoMétricas para o ProdutoMetodologias ÁgeisMetodologias Ágeis

Criada no contexto das metodologias ágeis: Criada no contexto das metodologias ágeis: XP XP (eXtreme Programming) (eXtreme Programming) FDD (Feature Driven Development)FDD (Feature Driven Development)Orientada para estimativas: simples, flexíveis e quase anárquicasOrientada para estimativas: simples, flexíveis e quase anárquicasTamanho das estórias Tamanho das estórias experiências do time experiências do time

Quanto tempo eu levei no passado para implementar algo como isso?Quanto tempo eu levei no passado para implementar algo como isso? Soma destas estimativas Soma destas estimativas duração da iteração. duração da iteração.

Crítica: experiência empíricaCrítica: experiência empíricaPonto positivo: uso Ponto positivo: uso melhora as estimativas melhora as estimativas

Page 58: Métricas de Software

Antonio Carlos Tonini

Métricas para o ProdutoMétricas para o ProdutoPontos de caso de usoPontos de caso de uso

Criado em 1993 por Gustav Karner da Objectory AB (depois Rational)Criado em 1993 por Gustav Karner da Objectory AB (depois Rational)Dificuldades: Dificuldades:

inexistência de padronização dos formatos, nas especificações e formalização dos casos de uso.inexistência de padronização dos formatos, nas especificações e formalização dos casos de uso. representar a visão que um ator têm de um sistema, principalmente quando um sistema tem estados diferentesrepresentar a visão que um ator têm de um sistema, principalmente quando um sistema tem estados diferentes complexidade intrínseca do desenvolvimentocomplexidade intrínseca do desenvolvimento

Utilizado para estimativas do esforço e tamanho da equipeUtilizado para estimativas do esforço e tamanho da equipeContagem dos atores e dos casos de usoContagem dos atores e dos casos de usoOs fatores ambientais consideram apenas a relação desenvolvedor x ambienteOs fatores ambientais consideram apenas a relação desenvolvedor x ambiente

Page 59: Métricas de Software

Antonio Carlos Tonini

Outros métodos para Outros métodos para tamanho de softwaretamanho de software

Page 60: Métricas de Software

Antonio Carlos Tonini

Métricas para softwareMétricas para software