520 likes | 718 Views
Qualidade de Software Aula 8 / 2014/1. Prof. Dr. Luís Fernando Garcia luis@garcia.pro.br www.garcia.pro.br. PSP e TSP. CMM e CMMI/ MPS-BR – Foco nas empresas/organizações ... PSP e TSP – modelos baseados no indivíduo e na equipe/time/grupo. PSP.
E N D
Qualidade de Software Aula 8 / 2014/1 Prof. Dr. Luís Fernando Garcia luis@garcia.pro.br www.garcia.pro.br
PSP e TSP • CMM e CMMI/ MPS-BR – Foco nas empresas/organizações ... • PSP e TSP – modelos baseados no indivíduo e na equipe/time/grupo ...
PSP • PSP (Personal Software Process) – 2000 por Humphrey (um dos pais do CMM...) • Foco na melhoria de processos do indivíduo – tornando sua forma de trabalho mais disciplinada ... • CMMI – foco no “o que deve ser feito…” • PSP/TSP – acrescentam o “como…”
PSP • Constatação: • Qualidade rege-se pelos PIORES elementos/componentes • Normalmente, o indivíduo • Analista • Desenvolvedor • Testador
PSP • Possibilitar: • Ao DESENVOLVEDOR • Conhecer-se • Medir-se • Analisar-se • Aprender …
PSP • 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.
PSP • Um processo pessoal para o desenvolvimento de software • Passos definidos • Formulários • Padrões • Uma infra-estrutura de medição e análise para a caracterização deste processo • Um procedimento definido para a melhoria da performance
PSP – Objetivos • 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.
PSP • Utilizados um conjunto de métodos, formulários e scripts (roteiros) para planejar, medir, gerenciar o trabalho individual/times (grupos) ...
PSP - Níveis • Nível 0 = fundamentos de medidas e formatos de relatórios; • Nível 1 = Planejamento e estimativas de tamanho e tempo; • Nível 2 = Controle pessoal de qualidade de projeto; • Nível 3 = Extensão a projetos maiores
PSP – 0 – Medição Pessoal Atividades: • Registro de tempo • Registro de defeitos • Padrão de tipos de defeitos • Padrão de codificação • Medida de tamanho • Proposta de melhoramento do processo
PSP – 0 – Medição Pessoal • No nível de Medição Pessoal, você aprende a registrar o tempo gasto em cada etapa do ciclo do desenvolvimento, registrando ainda os defeitos encontrados. Isto é conseguido através do uso de formulários adequados. O nível PSP0.1 inclui o uso de um padrão de codificação, de medidas padronizadas e do formulário de proposta de melhoramento do processo. • O Baseline Personal Process (PSP0 e PSP0.1) estabelece um ponto de partida para a compreensão do processo de software e, consequentemente, uma base sobre a qual promover as melhorias.
PSP – 1 – Planejamento Pessoal Atividades: • Estimativa de tamanho • Relatório de testes • Planejamento de tarefas • Cronogramas
PSP – 1 – Planejamento Pessoal • No nível de Planejamento Pessoal, você aprende a planejar. A idéia geral é obter a capacidade de estimar quanto tempo levará para realizar uma tarefa baseado nas medições feitas em tarefas semelhantes anteriormente. Neste nível aprende-se a assumir compromissos que podem realmente ser cumpridos. O nível PSP1.1 inclui o planejamento de tarefas e a elaboração de cronogramas. • introduz técnicas para o estimativa de tamanho do software e esforço (PROBE) • planejamento de tarefas e cronograma • relatório para registro dos dados de teste
PSP – 2 – Qualidade Pessoal Atividades: • Revisões de código • Revisões de projeto • Padrões de Projeto
PSP – 2 – Qualidade Pessoal • No nível de Qualidade Pessoal você aprende a lidar com seus erros. Deve-se ter uma idéia precisa de quantos erros são cometidos (em média) em cada fase do ciclo de desenvolvimento. O modelo PSP mostra que a forma mais adequada para tratar erros é evitá-los desde a sua origem. Você deve utilizar os dados sobre defeitos já coletados para criar uma lista de verificação (checklist) a ser utilizada em suas revisões de projeto e de código. O nível PSP2.1 inclui a criação de padrões de projeto, bem como métodos de análise e prevenção de defeitos. • 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
PSP – 3 – Processo Cíclico Pessoal Atividades: • Desenvolvimento cíclico
PSP – 3 – Processo Cíclico Pessoal • O nível de Processo Cíclico Pessoal é a última etapa do PSP. Neste nível, o PSP sai do desenvolvimento de pequenos programas para tratar do desenvolvimento de projetos maiores, embora ainda em nível pessoal. A idéia é dividir os grandes projetos em pequenos projetos que possam ser tratados no PSP2. Neste caso, o desenvolvimento acontece em passos incrementais. • expande os conceitos do PSP para projetos maiores • divide um programa maior em pequenas partes • aplica o PSP2 a cada uma das partes
PSP - Princípios • Cada indivíduo é diferente – planejamento baseado em desempenho individual • A melhoria do desempenho é baseada no uso de processos bem definidos/medidos • A pessoa é responsável pela qualidade de seu trabalho – responsabilidade em erros e atrasos • Necessidade de um planejamento prévio das atividades, seguindo um processo bem definido • Medir o tempo gasto em cada etapa – os defeitos encontrados – tamanho do sw para entender o desempenho individual • Analisar os resultados ao final do processo – feedback e melhoria do processo
PSP - Estrutura • Requisitos – requisitos do sw • Planejar – conjunto de scripts que guiam o trabalho • Projetar - * • Revisar o projeto - * • Codificar - * • Revisar o código - * • Compilar e corrigir - * • Testar - * (armazenar dados sobre tempo e defeitos encontrados) • Pós-morte – sintetizar os dados em um resumo de planejamento
PSP - Scripts • Seqüência de tarefas claramente definidas • Permite que mesmo programadores sem experiência consigam desenvolver o projeto • Baseado na estrutura acima. • Exemplo de script:
PSP – Scripts • Todas as atividades citam o preenchimento de um log para registro de tempo • Dados necessários para que a pessoa possa analisar sua produtividade • Descrever minuciosamente os tempos dedicados a cada tarefa
PSP – Plano de Projeto • Pilares do PSP ... • Planejamento de cada atividade a ser realizada levando ao controle do próprio trabalho ... • Realizado com base em um formulário padrão ...
PSP – Conclusões • PSP procura melhorar e disciplinar o trabalho individual • Com o propósito de aumentar a eficiência de desenvolvedor e a qualidade dos produtos • Implantado: • Profissionais autodidatas • Treinamentos formais
PSP – Conclusões • Estudos indicam: • Aumento/melhoria em vários aspectos (estimativas, por ex) • Abandono gradual da metodologia no cotidiano • Uso do tempo para coleta dos indicadores • Solução – uso de programas automáticos para esta tarefa
TSP • TSP (Team Software Process) • Baseado na melhoria de processos de uma equipe de desenvolvimento e usa a noção de time – grupo de pessoas com o mesmo objetivo ...
TSP • O TSP provê um conjunto de • scripts de processos • formulários • métodos • métricas • Estes elementos guiam os desenvolvedores em • criar equipes eficazes • estabelecer metas e planos para a equipe • acompanhar e reportar o trabalho • TSPi • Versão simplificada do TSP para equipes e projetos menores
TSP – Princípios • Estabelecimento de objetivos e papéis comuns; • Definição de um processo comum de trabalho; • Envolvimento de todos na produção do plano; • Negociação do plano entre o time e a gerência; • Revisão e aceite final pela gerência; • Comunicação livre e freqüente. • Exige que a pessoa tenha sido previamente treinada em PSP • Pode formar a base para a adoção do CMMI
TSP – Estrutura • PSP – aquisição de habilidades • Planos pessoais • Métodos de planejamento • Valores aprendidos • Dados de processo • Medidas de qualidade • Processos definidos
TSP – Estrutura • TSP – construção de times – disciplina de times • Comprometimento • Planos agressivos • Possessão da qualidade • Objetivos do projeto • Possessão do plano • Detalhamento do plano • Papéis de time • Recursos de time
TSP – Estrutura • TSP – trabalho em times – disciplinas de administração • Prioridade da qualidade • Custo da qualidade • Respeito dos processos • Revisão de status • Revisão de qualidade • Comunicação • Gerência de mudanças
TSP – Funcionamento • Iterativo • Durante um projeto são realizados vários relançamentos • Revisados pelo TIME • Plano geral e detalhado para cada fase
Ciclo 1 Ciclo Final . . . Lançamento Lançamento Lançamento Estratégia Estratégia Estratégia Planejamento Planejamento Planejamento Ciclo 2 Requisitos Requisitos Requisitos Projeto Projeto Projeto Implementação Implementação Implementação Testes Testes Testes Postmortem Postmortem Postmortem Produto Final TSPi – Funcionamento