Qualidade de Software
Aula 8 / 2014/1
Prof. Dr. Luís Fernando Garcia
[email protected]
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 – Objetivos
PSP – Compromissos
PSP – Compromissos
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 - Níveis
PSP - Níveis
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 – 0 – Medição Pessoal
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 aprendese 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 - Estrutura
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 - exemplo
PSP – Scripts - exemplo
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 –
Scripts
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
PSP – Resultados
PSP x CMM
PSP – Referências
PSP – Referências
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





Estes elementos guiam os desenvolvedores em




scripts de processos
formulários
métodos
métricas
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
TSPi – Funcionamento
Ciclo 1
Lançamento
Estratégia
Ciclo 2
Planejamento
Lançamento
Requisitos
Estratégia
Projeto
Planejamento
Implementação
Requisitos
Testes
Projeto
Planejamento
Postmortem
Implementação
Requisitos
Testes
Projeto
Postmortem
Implementação
Ciclo Final
Lançamento
...
Estratégia
Testes
Postmortem
Produto Final
Download

PSP/TSP - Prof. Dr. Luis Fernando Garcia