Processo de Software Pessoal - PSP Code Reviews e desenvolvimento cíclico
Objetivo das Organizações de Software: 1. Introdução Objetivo das Organizações de Software: Entregar produtos de software de alta qualidade, de acordo com os custos e cronograma estabelecidos.
1. Introdução O que elas têm feito? Programas de qualidade (TQM) CMM - The Capability Maturity Model Normas para Software: ISO/IEC 9126, ISO/IEC 12207, etc.
1. Introdução Qual a deficiência desses métodos? dizem “o quê” e não “como” fazer focam a organização e não o indivíduo
1. Introdução PSP - Personal Software Process É um framework para auxiliar o desenvolvedor a estimar e planejar suas tarefas, acompanhar sua performance em relação ao planejado e melhorar a qualidade dos produtos produzidos.
1. Introdução Objetivos do PSP auxiliar o desenvolvedor a gerenciar seu trabalho, conhecer seus talentos e melhorar suas habilidades; oferecer métricas e análises métricas; introduzir gradativamente técnicas de Engenharia de Software.
2. Quality Personal Quality Management É melhor prevenir que remediar
2. Quality Personal Quality Management efetua o gerenciamento dos defeitos introduz técnicas de revisão tem seu foco no design não ensina a fazer design, mas a checar se está completo
2.1. PSP2 Novos elementos do PSP2 Code Reviews: revisões de código baseadas em um checklist Design Reviews: revisões de projeto baseadas em um checklist
2.1. PSP2 Por que fazer revisões ? início do PSP (33% tempo em compilação e teste) e final do PSP (10% tempo em compilação e teste) economia de tempo ($$) processo mais previsível produto de melhor qualidade
2.1. PSP2 Medidas das revisões Básicas: tamanho do programa, tempo da revisão, qtde de defeitos encontrados na revisão e depois Derivadas: % de defeitos encontrados na revisão, defeitos encontrados/KLOC, defeitos encontrados/hora de revisão, qtde de LOC revisadas/hora
2.2. PSP2.1 Novos elementos do PSP2.1 COQ (Cost of Quality) Design Templates: revisões de projeto baseadas em um checklist
2.2. PSP2.1 Cost of Quality (COQ) - PSP Failure Costs: tempo gasto em compilação e teste. Appraisal Cost: tempo gasto em revisões de código e projeto.
2.2. PSP2.1 Cost of Quality (COQ) - PSP (cont.) Failure COQ = 100 * (tempo de compilação + tempo de teste) / (tempo total de desenvolvimento) Appraisal COQ = 100 * (tempo de revisão de projeto + tempo de revisão de código) / (tempo total de desenvolvimento)
2.2. PSP2.1 Cost of Quality (COQ) - PSP (cont.) Total COQ = Failure COQ +Appraisal COQ A/FR ratio = Appraisal COQ / Failure COQ
2.2. PSP2.1 Design Templates Operational Scenario Functional Specification State Specification Logic Specification
3. Ciclic “Estratégia de Guerra: dividir para conquistar.” Cyclic Personal Process “Estratégia de Guerra: dividir para conquistar.”
Ciclic Cyclic Personal Process expande os conceitos do PSP para projetos maiores divide um programa maior em pequenas partes aplica o PSP2 a cada uma das partes