1 / 47

Qualidade de Software Aula 8 / 2014/1

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.

thy
Télécharger la présentation

Qualidade de Software Aula 8 / 2014/1

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Qualidade de Software Aula 8 / 2014/1 Prof. Dr. Luís Fernando Garcia luis@garcia.pro.br www.garcia.pro.br

  2. 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 ...

  3. 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…”

  4. PSP • Constatação: • Qualidade rege-se pelos PIORES elementos/componentes • Normalmente, o indivíduo • Analista • Desenvolvedor • Testador

  5. PSP • Possibilitar: • Ao DESENVOLVEDOR • Conhecer-se • Medir-se • Analisar-se • Aprender …

  6. 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.

  7. 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

  8. 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.

  9. PSP – Objetivos

  10. PSP – Compromissos

  11. PSP – Compromissos

  12. PSP • Utilizados um conjunto de métodos, formulários e scripts (roteiros) para planejar, medir, gerenciar o trabalho individual/times (grupos) ...

  13. 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

  14. PSP - Níveis

  15. PSP - Níveis

  16. 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

  17. 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.

  18. PSP – 0 – Medição Pessoal

  19. PSP – 1 – Planejamento Pessoal Atividades: • Estimativa de tamanho • Relatório de testes • Planejamento de tarefas • Cronogramas

  20. 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

  21. PSP – 2 – Qualidade Pessoal Atividades: • Revisões de código • Revisões de projeto • Padrões de Projeto

  22. 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

  23. PSP – 3 – Processo Cíclico Pessoal Atividades: • Desenvolvimento cíclico

  24. 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

  25. 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

  26. 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

  27. PSP - Estrutura

  28. 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:

  29. PSP – Scripts - exemplo

  30. PSP – Scripts - exemplo

  31. 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

  32. PSP –Scripts

  33. 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 ...

  34. 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

  35. 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

  36. PSP – Resultados

  37. PSP x CMM

  38. PSP – Referências

  39. PSP – Referências

  40. 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 ...

  41. 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

  42. 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

  43. TSP – Estrutura • PSP – aquisição de habilidades • Planos pessoais • Métodos de planejamento • Valores aprendidos • Dados de processo • Medidas de qualidade • Processos definidos

  44. 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

  45. 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

  46. TSP – Funcionamento • Iterativo • Durante um projeto são realizados vários relançamentos • Revisados pelo TIME • Plano geral e detalhado para cada fase

  47. 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

More Related