PSM – Practical Software Measurement Equipe: Acauã Amâncio Elaine Buonafina Alves de Lima Erivaldo Melo de Bastos Marcelo Dias O PSM surgiu a partir de uma iniciativa do Departamento da Defesa norte-americano, em 1994. Foi publicado pela primeira vez em 1997, sob a forma de um manual Practical Software Measurement (McGarry et al., 1997). O PSM serviu de base à norma ISO/IEC 15939 - Software Measurement Process (2001) Serviu de base à nova Process Area “Measurement and Analysis” do CMMI (CMM Integration Project) Foi publicado sob a forma de livro, com a participação de vários dos autores originais. David Card, um dos autores, vem freqüentemente ao Brasil e já certificou 2 profissionais brasileiros. A ti MÉTRICAS é uma PSM transition organization (organização de transição do PSM) , empresa brasileira. “ Cenário e Objetivos do Projeto PSM O PSM baseia-se em décadas de experiência de dezenas de organizações, no aprendizado da melhor forma de implementação de um programa de medição de software.” O que é o PSM? Um modelo que estrutura a atividade de mensuração em um projeto de software, é um processo para medir e melhorar processos, projetos e produtos de software. Objetivos do PSM * Estabelecer um processo de implantação de medição dos projetos de software e gerenciamento dos sistemas. * Prover bases de informações e comunicações para tomada de decisão. * Estabelecer uma fundação para melhorar o gerenciamento organizacional e executivo. ESTRUTURA DO PROJETO PSM Modelos do PMS – Practical Software Measurement O PSM procura resolver dois problemas: Como especificar de uma maneira formal as medidas que deverão ser utilizadas no projeto, ou seja, como especificar formalmente os indicadores a serem usados; Como deverá ser conduzido o processo de medição. Para atingir tais objetivos, o PSM faz uso de dois modelos: Modelo de Informação para Medição: que fornecer um caminho para a seleção das medidas utilizadas e Modelo de Processo de Medição: que serve de guia a implementação do PSM. Modelo de Informação O Modelo de Informação do PSM é uma estrutura para a definição das medidas que deverão ser utilizadas no projeto. Cada especificação é escrita por um membro do PSM e inclui os conceitos abaixo: - Atributo – propriedade relevante do ponto de vista das necessidades de informação. - Método – operação que mapeia o atributo para uma escala. - Medida Básica – valor resultante da aplicação do Método a um Atributo. - Função – algoritmo combinando duas ou mais Medidas Básicas. - Medida Derivada – valor resultante da aplicação de uma Função. - Modelo – algoritmo combinando medidas e critérios de decisão. - Indicador – estimativa ou avaliação que provê uma base para tomada de decisão. Categorias de informação do PSM O PSM inclui um conjunto de medidas já utilizadas com sucesso pela indústria As medidas correspondem a categorias previamente definidas Prazo e Progresso Recursos e Custo Tamanho e Estabilidade do Produto Qualidade do Produto Performance do Processo Eficácia da Tecnologia Satisfação do Cliente Categorias e Conceitos de Mensuráveis Prazo e Progresso Grau de Alcance dos Marcos do Projeto Performance no Caminho Crítico Progresso de Cada Unidade de Trabalho Recursos e Custo Esforço do Pessoal Desempenho Financeiro Recursos Ambientais e de Suporte Categorias e Conceitos de Mensuráveis Tamanho e Estabilidade do Produto Tamanho Físico e Estabilidade Tamanho Funcional e Estabilidade Progresso de Cada Unidade de Trabalho Alcance dos Marcos do Projeto Data na qual cada marco foi alcançado Categorias e Conceitos de Mensuráveis Esforço do Pessoal Nível de Pessoal Esforço de Desenvolvimento Nível de Experiência Turnover Tamanho Funcional e Estabilidade Requisitos Mudanças Funcionais Pontos de Função Construtor de Medição Define três níveis de medida Medida Básica Medida Derivada Indicador Construção Mensurável Exemplo - Produtividade Etapas e Atividades Modelo de Processos Modelo de processo de medição do PSM (McGARRY, 2002; BORGES, 2003) Subprocesso: Planejar Mensuração O Processo Central de Mensuração do PSM envolve os seguintes subprocessos: Subprocesso: Planejar Mensuração Atividade: Identificar e Priorizar Necessidades de Informação Atividade: Selecionar e Especificar Medidas Atividade: Integrar Mensuração aos Processos do Projeto Atividade: Identificar e Priorizar Necessidades de Informação Na identificação das necessidades de informação do projeto são considerados os seus objetos, itens críticos, ambiente de execução, ações de melhoria planejadas, mudanças propostas e novas necessidades de informação, assim como informações provenientes da atividade de gerenciamento de risco. As fontes para obtenção dessas informações são: avaliações de risco, suposições e restrições do projeto, utilização de tecnologias específicas, critérios de aceitação do produto, requisitos externos e experiências anteriores. Atividade: Selecionar e Especificar Medidas Nesta atividade são selecionadas as medidas básicas, medidas derivadas e indicadores que virão a ser utilizados no atendimento às necessidades de informação anteriormente estabelecidas. O PSM recomenda que, tendo sido efetuado o mapeamento das necessidades de informação do projeto para as Categorias de Informação do PSM, sejam identificados os Conceitos Mensuráveis aplicáveis a cada necessidade de informação, as Medidas Candidatas que poderão representar esses conceitos e, finalmente, as Construções (ou Sínteses) Mensuráveis que organizarão essas medidas em um processo implementável. Atividade: Integra Mensuração aos Processos do Projeto Nesta atividade, será examinado como os dados serão coletados e analisados, a fim de satisfazer as necessidades de informação do projeto. A abordagem de mensuração deve ser integrada aos processos técnicos e gerenciais existentes. Isto envolve integrar os procedimentos de coleta de dados aos processos que fornecem dados, assim como os procedimentos de análise e geração de informações aos processos de tomada de decisão. Na produção do Plano de Mensuração – produto final deste subprocesso – deverão ser abordadas as oportunidades de medição, desenvolvidos os procedimentos para coleta e análise dos dados, e documentadas as especificações e procedimentos de medição. Subprocesso: Executar Mensuração Atividade Coletar e Processar Dados Esta atividade envolve a coleta de dados a partir das fontes especificadas no Plano de Mensuração, a respectiva preparação para a análise e o armazenamento dos dados em local acessível. As três principais questões que devem ser consideradas aqui são: como disponibilizar os dados e coletálos adequadamente, como garantir sua qualidade e, finalmente, como armazená-los e gerenciá-los de modo a facilitar a análise. Estes pontos devem ter sido abordados, desenvolvidos e documentados por ocasião da preparação do Plano de Mensuração. Atividade: Analisar Dados Esta atividade envolve a transformação das medidas básicas em indicadores e a utilização dos indicadores e critérios em decisões de planejamento e/ou ações corretivas. Devem ser aplicados os procedimentos de análise previstos no Plano de Mensuração, podendo ser utilizadas técnicas alternativas quando necessário. Atividade Produzir Recomendações Aqui é efetuada uma avaliação global do projeto, incluindo projeções de performance futura. São também identificados problemas específicos, riscos e falta de informações, devendo ser descritos os obstáculos (potenciais ou existentes) ao sucesso do projeto. Devem ser produzidas recomendações sugerindo ações alternativas, incluindo as vantagens e desvantagens de cada caminho apontado. Processos Não Centralizados Os Processos Não Centralizados do PSM também tem igual importância. Ele é composto pelas seguintes atividades: 1 - Processo: Avaliar Mensuração Atividade: Avaliar Medidas Atividade: Avaliar o Processo de Medição Atividade: Atualizar a Base de Experiência Atividade: Identificar e Implementar Melhorias Avaliar Medição Avaliar Medição • Critérios – Utilização dos produtos da medição – Confiança nos resultados da medição – Adequação da medição aos objetivos – Entendimento dos resultados da medição – Acerto das suposições do modelo de indicadores – Exatidão da medição (especificado x real) – Confiabilidade da medição (resultados consistentes em várias repetições) Avaliar o Processo de Medição • Perspectivas – Performance: inputs, outputs e efeitos – Conformidade: comparação da especificação do processo com a implementação real – Maturidade: comparação do processo com um benchmark externo de maturidade Atualizar a Base de Experiência • Armazenar – Lições aprendidas – Avaliações – Sucessos e fracassos – Artefatos Identificar e Implementar Melhorias • Melhorar o processo atual • Aplicar aos próximos projetos Processos Não Centralizados 2 - Processo: Estabelecer e Sustentar Comprometimento Este processo inclui atividades comuns a qualquer projeto, tais como: Obter Comprometimento Organizacional, Definir Responsabilidades, Prover Recursos e Rever o Progresso do Programa de Medição. Estabelecer e Sustentar Comprometimento Estabelecer e Sustentar Comprometimento •Obter comprometimento organizacional • Definir responsabilidades • Prover recursos – Treinamento – Ferramentas • Rever progresso do programa de medição