MTRICAS DE SOFTWARE Antonio Carlos Tonini Maio 2004

  • Slides: 60
Download presentation
MÉTRICAS DE SOFTWARE Antonio Carlos Tonini Maio / 2004 Antonio Carlos Tonini

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

AGENDA PARTE I Conceitos de métricas Contexto de aplicação Por que medir ? Até

AGENDA PARTE I Conceitos de métricas Contexto de aplicação Por que medir ? Até onde medir ? Tipos de métricas Processos de medição Métricas para o recurso tempo Métricas para o recurso custos Métricas para o recurso pessoas Métricas para o produto Antonio Carlos Tonini

AGENDA PARTE II Métricas para o cliente Métricas para o processo Métricas para a

AGENDA PARTE II Métricas para o cliente Métricas para o processo Métricas para a gestão Modelos da Qualidade Finalizando. . Antonio Carlos Tonini

Fundamentação Processo de ADMINISTRAR Recursos Decisão Ação MÉTRICAS inferências Objetivo Organização Planejamento Controle Direção

Fundamentação Processo de ADMINISTRAR Recursos Decisão Ação MÉTRICAS inferências Objetivo Organização Planejamento Controle Direção Antonio Carlos Tonini

Conceito METRICAS – inferências sobre os processos de trabalho que traduzem: ESTIMATIVAS • a

Conceito METRICAS – inferências sobre os processos de trabalho que traduzem: ESTIMATIVAS • a priori • expectativas METRICAS • a posteriori DESEMPENHO • eficiência • eficácia Antonio Carlos Tonini

Processos de trabalho de TI Gestão de TI Processo de desenvolvimento Projetos RECURSOS PROCESSO

Processos de trabalho de TI Gestão de TI Processo de desenvolvimento Projetos RECURSOS PROCESSO Construção Suporte PRODUTOS Gestão CLIENTES GESTÃO Antonio Carlos Tonini

Possibilidades Métricas possíveis no desenvolvimento de sistemas Recursos Produtos (software) Como estão sendo utilizados

Possibilidades Métricas possíveis no desenvolvimento de sistemas Recursos Produtos (software) Como estão sendo utilizados os recursos disponíveis Quanto mede e como está a qualidade dos produtos de software Clientes Como está sendo recebido e percebido os trabalhos e os produtos Processo Gestão Como estão sendo realizados os trabalhos de desenvolvimento de software Como está sendo feio a gestão do contexto de TI Antonio Carlos Tonini

Característas do trabalho Software. . . parte mais visível de um sistema constantes mudanças

Característas do trabalho Software. . . parte mais visível de um sistema constantes mudanças e reclamações mais complexo que outros produtos manufaturados inexistência de processo efetivo e consolidado entrega para manufatura não segue procedimentos da engenharia fundamentos não estáveis segue algumas regras das ciências naturais e outras das ciências sociais Antonio Carlos Tonini

Por que medir ? obter auto-conhecimento (interna) atender a uma pressão imediata (externa) preparar-se

Por que medir ? obter auto-conhecimento (interna) atender a uma pressão imediata (externa) preparar-se para o futuro (tendência) Motivação Antonio Carlos Tonini

Por que medir ? Obter auto conhecimento ? Se não sabemos onde estamos. .

Por que medir ? Obter auto conhecimento ? Se não sabemos onde estamos. . . Não conseguimos. . . q q . . . Saber para onde queremos ir. . . Saber o que faremos 1. Saber o que temos, o que somos 2. e aonde estamos Função: q q ESTÁTICA POSICIONAL Visão Presente Antonio Carlos Tonini

Por que medir ? Imediato para atender uma pressão de momento (por exemplo: ganhar

Por que medir ? Imediato para atender uma pressão de momento (por exemplo: ganhar uma concorrência) 2. Saber o que fazer hoje e para onde caminhar Se não ficaram as raizes, como será em um próximo projeto ? Função: q q DIN MICA DIREÇÃO Antonio Carlos Tonini

Por que medir ? Tendência de futuro para se preparar para atender melhor no

Por que medir ? Tendência de futuro para se preparar para atender melhor no futuro 2. Saber o que fazer hoje e para onde caminhar e como mudar de direção Função: q q q DIN MICA DIREÇÃO ADAPTATIVA Antonio Carlos Tonini

Por que medir ? Risco Se não conseguimos MEDIR. . . Não conseguimos. .

Por que medir ? Risco Se não conseguimos MEDIR. . . Não conseguimos. . . q q . . . CONTROLAR GERENCIAR MELHORAR TRABALHAR Antonio Carlos Tonini

Até onde medir ? Alinhar os objetivos das inferências com os objetivos da empresa

Até onde medir ? Alinhar os objetivos das inferências com os objetivos da empresa Estabelecer um programa de métricas: adequado, plausível, factível e gradual Não medir mais do que é necessário Antonio Carlos Tonini

Até onde medir ? Vantagens Defeitos Prazo de Entrega Desperdício Custo Satisfação dos cliente

Até onde medir ? Vantagens Defeitos Prazo de Entrega Desperdício Custo Satisfação dos cliente Produtividade dos recursos Visibilidade das ações Gerenciabilidade Antonio Carlos Tonini

Por que medir ? Antonio Carlos Tonini

Por que medir ? Antonio Carlos Tonini

Tipos de métricas Métricas Primárias (1 a. Ordem): Apontamentos dos fatos (reais) MEDIDAS Informações

Tipos de métricas Métricas Primárias (1 a. Ordem): Apontamentos dos fatos (reais) MEDIDAS Informações objetivas da realidade Exemplo: defeitos, horas trabalhadas, custo, reclamações, . . . Tendê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. ) Antonio Carlos Tonini

Tipos de métricas Métricas Secundárias (2 a. Ordem): Indicadores (expressam um comportamento além dos

Tipos de métricas Métricas Secundárias (2 a. Ordem): Indicadores (expressam um comportamento além dos números) Resultado de uma relação de: Métrica ÷ Fator Exemplo: densidade de defeitos (defeitos por fase do projeto), . . . Antonio Carlos Tonini

Tipos de Métricas Riscos – Métricas primárias processo de captura credibilidade meio de captura

Tipos de Métricas Riscos – Métricas primárias processo de captura credibilidade meio de captura facilidade, entendimento, objetividade independência do apontador confiabilidade Riscos – Métricas secundárias processo de tabulação corretude processo de uso utilidade, poder de explicação, relevância Antonio Carlos Tonini

Tipos de Métricas CRITÉRIOS Priorização: grade de importância x urgência Características intrínsecas: natureza, comportamento

Tipos de Métricas CRITÉRIOS Priorização: grade de importância x urgência Características intrínsecas: natureza, comportamento Características extrínsecas: relacionamento com o contexto da medição Antonio Carlos Tonini

Tipos de métricas Recursos Produtos (software) Quantitativa Métricas primárias Produtividade Direta Clientes Processo Gestão

Tipos de métricas Recursos Produtos (software) Quantitativa Métricas primárias Produtividade Direta Clientes Processo Gestão Qualitativa Métricas secundárias Qualidade Indireta Antonio Carlos Tonini

Tipos de Métricas Objetiva o Processo e suas atividades e os projetos e suas

Tipos de Métricas Objetiva o Processo e suas atividades e os projetos e suas atividades Medições operacionais Processo { Projeto { Atividades Objetiva o ambiente de desenvolvimento, mudanças, tendências. . . Medições táticas Tendências Impactos Atributos Objetiva comparações com outras organizações, melhorias contínuas. . . Medições estratégicas Benchmarking Melhoria contínua Avaliação econômica Antonio Carlos Tonini

Processo de métrica Treinado Seguido Praticado Ter dono Enfatizado Medido Monitorado Perfeito Ter apoio

Processo de métrica Treinado Seguido Praticado Ter dono Enfatizado Medido Monitorado Perfeito Ter apoio Antonio Carlos Tonini

Processos de medição Produção dos tipos de métricas Definição Produção das métricas primárias Produção

Processos de medição Produção dos tipos de métricas Definição Produção das métricas primárias Produção das métricas secundárias Coleta Ciclo periódico Tabulação Avaliação Validação e verificação das métricas em si Comparação Validação e verificação das métricas no contexto Antonio Carlos Tonini

Tipos de métricas Recursos Produtos (software) Clientes Processo Gestão Antonio Carlos Tonini

Tipos de métricas Recursos Produtos (software) Clientes Processo Gestão Antonio Carlos Tonini

Tipos de métricas Recursos Tempo Pessoas Custo Antonio Carlos Tonini

Tipos de métricas Recursos Tempo Pessoas Custo Antonio Carlos Tonini

Métricas para o tempo Natureza do tempo: q volatilidade, incontrolabilidade, perecibilidade Definição da unidade

Métricas para o tempo Natureza do tempo: q volatilidade, incontrolabilidade, perecibilidade Definição da unidade de medida: q normalmente HORAS Distribuição do tempo: Antonio Carlos Tonini

Métricas para o tempo Tempo dedicado ao projeto, produzindo alguma funcionalidade Tempo total aplicado

Métricas para o tempo Tempo dedicado ao projeto, produzindo alguma funcionalidade Tempo total aplicado ao(s) projeto(s) Tempo total aplicado ao projeto Tempo perdido ou utilizado para outras atividades Tempo dedicado para inovações e novas funcionalidades Tempo dedicado para ajustes ou modificações do usuário Tempo dedicado para ajustes e acertos devido a erros Tempo de estudo, preparação, dedicação indireta ao projeto Antonio Carlos Tonini

Métricas para o tempo Métricas primárias: Quantidade de tempo (. . . ) para

Métricas para o tempo Métricas primárias: Quantidade de tempo (. . . ) para fazer (. . . ) Base dos time-sheets O objetivo não é medir as pessoas, mas medir o tempo utilizado para realizar as atividades Antonio Carlos Tonini

Métricas para o tempo Métricas secundárias: Duração = tempos das atividades Prazo = Calendário

Métricas para o tempo Métricas secundárias: Duração = tempos das atividades Prazo = Calendário + duração q q Critério do “empurrar” • determinante: processo precedente • Data de início + duração quando é o término ? Critério do “puxar” • determinante: processo dependente • Data de fim – duração quando é o início ? Antonio Carlos Tonini

Métricas para o tempo Métricas secundárias (continuação): Horas produtivas Produtivas ou totais ? Taxa

Métricas para o tempo Métricas secundárias (continuação): Horas produtivas Produtivas ou totais ? Taxa de Produtividade =---------- Total de Horas disponibilizadas Esforço = quantidade total de horas/homem (? ? ? ) para fazer uma determinada quantidade de trabalho Métrica do produto Quantidade de trabalho Produtividade =----------Esforço Antonio Carlos Tonini

Métricas para o tempo Métricas secundárias (continuação): Distribuição % do tempo por atividade Tempo

Métricas para o tempo Métricas secundárias (continuação): Distribuição % do tempo por atividade Tempo parado Taxa de ociosidade = ------------Tempo disponibilizado Tempo aplicado Taxa de ocupação operacional = ------------Tempo disponibilizado Tempo improdutivo Taxa de espera = ------------Tempo produtivo Taxa de eficiência produtiva = ------------Total disponibilizado Antonio Carlos Tonini

Métricas para o tempo Métricas secundárias (continuação): Rendimento produtivo = Eficiência produtiva x qt.

Métricas para o tempo Métricas secundárias (continuação): Rendimento produtivo = Eficiência produtiva x qt. projetos executados Tempo de retrabalho Taxa de tempo de retrabalho = -------------Tempo produtivo Antonio Carlos Tonini

Métricas para o custo Identificar quanto implica monetariamente: q q Custo direto devido a

Métricas para o custo Identificar quanto implica monetariamente: q q Custo direto devido a realização de cada uma das atividades Custos indiretos das demais desembolsos O valor mais significativo é a mão-de-obra direta empregada: CUSTO = f (esforço) (software é o resultado da interação intelectual de pessoas – Tom De. Marco, 1977) Antonio Carlos Tonini

Métricas para o custo Comportamento do custo da mão-de-obra Variação: Antonio Carlos Tonini

Métricas para o custo Comportamento do custo da mão-de-obra Variação: Antonio Carlos Tonini

Métricas para custo Custos indiretos envolvidos: estrutura da área de TI: q q recursos

Métricas para custo Custos indiretos envolvidos: estrutura da área de TI: q q recursos computacionais, equipamentos treinamento, assessoria, consultoria, auditoria materiais de consumo estrutura da empresa: q q q utilidades administração instalação estrutura do atendimento do projeto: q Locomoção, estadia seguros, eventuais e imprevistos qualidade e da falta da qualidade: q q falhas internas e externas, avaliação da qualidade e prevenção Antonio Carlos Tonini

Métricas para custo Comportamento dos custos: quanto à variação e o gerenciamento Variação: Gerenciamento:

Métricas para custo Comportamento dos custos: quanto à variação e o gerenciamento Variação: Gerenciamento: Critérios de absorção no(s) projeto(s): Nenhuma absorção (normalmente para projetos internos) Absorção total ou parcial em função de algum parâmetro (tamanho do projeto) Antonio Carlos Tonini

Métricas para custo Apontamento dos custos diretos: Através da valorização do time-sheet Estipular o

Métricas para custo Apontamento dos custos diretos: Através da valorização do time-sheet Estipular o período de tabulação: período, conclusão de fase etc. Apontamento dos custos indiretos: 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. Antonio Carlos Tonini

Métricas para custo Métricas primárias: Custo total do projeto Custo por fase do projeto

Métricas para custo Métricas primárias: Custo total do projeto Custo por fase do projeto e por tipo de custo Custos imprevistos Custos de ociosidade Custos de retrabalho Custo de modificações Métricas secundárias: Custo do projeto por unidade de tamanho do projeto Curva de variação de custos Custos reais x orçados x replanejados Redistribuição dos custos Antonio Carlos Tonini

Métricas para custo Valor do trabalho efetuado: análise do trabalho efetuado e comparação com

Métricas para custo Valor do trabalho efetuado: análise do trabalho efetuado e comparação com o valor orçado e o realizado. Motivo: síndrome dos 90% - os primeiros 90% do trabalho consomem 90% do tempo disponível e os últimos 10 % consomem outros 90%. . Valor do trabalho feito (VTF) = custo planejado (CP) x % do trabalho feito (PTF) Comparação do valor do trabalho feito (VTF) vs: Custo Realizado (CR) mostra ultrapassagem do orçamento inicial. a intensidade da Custo Planejado (CP) mostra a velocidade de projeto Antonio Carlos Tonini

Métricas para custo Proporção do custo realizado : permite analisar o grau de controle

Métricas para custo Proporção do custo realizado : permite analisar o grau de controle financeiro do projeto face ao orçamento 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; Antonio Carlos Tonini

Métricas para custo Proporção do custo do trabalho realizado : permite analisar a tendência

Métricas para custo Proporção do custo do trabalho realizado : permite analisar a tendência de controle ou perda de controle 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; Antonio Carlos Tonini

Métricas para custo Um projeto foi planejado para ter 10 atividades, com duração prevista

Mé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) CR 45 PCTR = ------ = 1, 5 VTF 30 = PFT x CP = 75 % x $ 40 = $ 30 CR 45 PCR = ----- = 1, 12 CP 40 Antonio Carlos Tonini

Métricas para custo Acompanhamento Físico ab (1 mês) atraso na execução do projeto (após

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 Antonio Carlos Tonini

Métricas para as pessoas O objetivo: q é evidenciar a situação presente e a

Métricas para as pessoas O objetivo: q é evidenciar a situação presente e a tendência dos recursos pessoais Tendência: q rotular pessoas x problemas Antonio Carlos Tonini

Métricas para as pessoas Métricas primárias : q Diversidade de conhecimentos • técnicos, metodológicos

Métricas para as pessoas Métricas primárias : q Diversidade de conhecimentos • técnicos, metodológicos e gerenciais q Profundidade dos conhecimentos • Quantidade de detalhes conhecidos • Aplicação dos conhecimentos q Quantidade de problemas entregues x resolvidos • Complexidade de problemas • Tempo de resolução q Ocupação – lotação do tempo disponível Antonio Carlos Tonini

Métricas para as pessoas Métricas secundárias : Capacidade para resolver problemas Índice de assertividade

Métricas para as pessoas Métricas secundárias : Capacidade para resolver problemas Índice de assertividade na solução de problemas Capacidade para receber conhecimentos Capacidade para transmitir soluções Índice de presença Índice de disponibilidade / ociosidade Antonio Carlos Tonini

Métricas para as pessoas Antonio Carlos Tonini

Métricas para as pessoas Antonio Carlos Tonini

Tipos de métricas Recursos Produtos (software) Clientes Processo Gestão Antonio Carlos Tonini

Tipos de métricas Recursos Produtos (software) Clientes Processo Gestão Antonio Carlos Tonini

Métricas para o Produto Métricas primárias funcionais (diretas): Tamanho do software q q q

Métricas para o Produto Métricas primárias funcionais (diretas): Tamanho do software q q q pronto (acervo) a ser desenvolvido (estimativa) a ser modificado (rearranjo do conteúdo) Quantidade de defeitos: q por origem ou por complexidade Complexidade do software q Exigência de algum padrão de complexidade Idade do software Quantidade manutenções Quantidade de usuários Quantidade de versões ativas Acesso e segurança Tamanho do acervo (físico e econômico) Antonio Carlos Tonini

Métricas para o Produto Métricas primárias não funcionais: Qualidade do produto q q q

Métricas para o Produto Métricas primárias não funcionais: Qualidade do produto q q q pronto (acervo) a ser desenvolvido (estimativa) a ser modificado (rearranjo do conteúdo) Utilidade do produto: q q confiabilidade completeza consistência Robusteza (tolerância a falhas) Usabilidade do produto q q facilidade de uso (legibilidade) eficiência do uso inteligilibilidade / compreensibilidade agradabilidade (interface homem-máquina) Antonio Carlos Tonini

Métricas para o Produto Métricas secundárias: Qualidade do produto Estimativa de durabilidade Comportamento dos

Métricas para o Produto Métricas secundárias: Qualidade do produto Estimativa de durabilidade Comportamento dos defeitos Taxa de inovação: novas funcionalidades Antonio Carlos Tonini

Métricas para o Produto Medir a quantidade de funcionalidades incluídas em um software tamanho

Métricas para o Produto Medir a quantidade de funcionalidades incluídas em um software tamanho do produto Métodos mais utilizados: q q q Linhas de código - lines of code (Kloc) Análise de Pontos de função (APF) Constructive Cost Model (COCOMO) Metodologias ágeis Pontos de casos de uso Antonio Carlos Tonini

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

Métricas para o Produto Linhas de código - K lines of code (Kloc) Criada na década de 70 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 desenvolvimento Pré-requisitos: Estabilidade do ambiente em termos de linguagem utilizada Estabilidade da capacidade da equipe de desenvolvimento Estabilidade dos procedimentos de programação quanto à arquitetura dos códigos Derivação pelo APF (tabela de Albrecht e Capers Antonio Carlos Tonini Jones)

Métricas para o Produto Análise de pontos de função (APF) Criado em 1979 por

Métricas para o Produto Análise de pontos de função (APF) Criado em 1979 por Allan J. Albrecht (IBM) Padrão internacional: q q Parte 1 ISO/IEC 14143 -1: 1998 (jun, 1998) Parte 2 em votação como Commitee Draft (CD) Partes 3, 4 e 5 em votação como relatórios técnicos Padrão ISO/IEC 20296 Medir a quantidade de funcionalidades sob o ponto de vista do usuário Permite calcular: q q q Estimativa Acervo Modificações de projetos Independência do ambiente computacional Críticas quanto aos 14 fatores de ajuste Antonio Carlos Tonini

Métricas para o Produto Constructive Cost Model - COCOMO Criada por Berry Bohem em

Métricas para o Produto Constructive Cost Model - COCOMO Criada por Berry Bohem em 1981 É utilizada para estimar esforço, prazo e tamanho da equipe 3 métodos de cálculo: q q q Orgânico – mais simples, pequenos projetos desenvolvidos “in house”, equipes pequenas e estáveis) Intermediário – considera fatores de complexidade do ambiente, da linguagem e da capacidade da equipe Detalhado – variação do método intermediário, possibilitando extender os cálculos para os subsistemas, módulos e rotinas Crítica: tabelas de pesificação Antonio Carlos Tonini

Métricas para o Produto Metodologias Ágeis Criada no contexto das metodologias ágeis: XP (e.

Métricas para o Produto Metodologias Ágeis Criada no contexto das metodologias ágeis: XP (e. Xtreme Programming) FDD (Feature Driven Development) Orientada para estimativas: simples, flexíveis e quase anárquicas Tamanho das estórias experiências do time q q Quanto tempo eu levei no passado para implementar algo como isso? Soma destas estimativas duração da iteração. Crítica: experiência empírica Ponto positivo: uso melhora as estimativas Antonio Carlos Tonini

Métricas para o Produto Pontos de caso de uso Criado em 1993 por Gustav

Métricas para o Produto Pontos de caso de uso Criado em 1993 por Gustav Karner da Objectory AB (depois Rational) Dificuldades: q q q 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 diferentes complexidade intrínseca do desenvolvimento Utilizado para estimativas do esforço e tamanho da equipe Contagem dos atores e dos casos de uso Os fatores ambientais consideram apenas a relação desenvolvedor x ambiente Antonio Carlos Tonini

Outros métodos para tamanho de software Antonio Carlos Tonini

Outros métodos para tamanho de software Antonio Carlos Tonini

Métricas para software Antonio Carlos Tonini

Métricas para software Antonio Carlos Tonini