1/27 Qualidade de Software Alexandre Vasconcelos
Modelos de Qualidade Modelos de Qualidade para indivíduos e para indivíduos e
grupos:grupos:PSP & TSPPSP & TSP
2/27 Qualidade de Software Alexandre Vasconcelos
PSP – Personal PSP – Personal Software ProcessSoftware Process
Qualidade de Software Alexandre Vasconcelos 3/27
O Modelo PSPO Modelo PSP Um modelo desenvolvido pelo SEI para Um modelo desenvolvido pelo SEI para
melhoria e otimização do processo melhoria e otimização do processo individual de trabalho. individual de trabalho.
Estruturado como um curso, onde os Estruturado como um curso, onde os conceitos, metodologia e documentação conceitos, metodologia e documentação são introduzidos gradativamente via são introduzidos gradativamente via treinamentotreinamento
O PSP representa para o indivíduo, O PSP representa para o indivíduo, enquanto processo de amadurecimento, o enquanto processo de amadurecimento, o que o CMM/CMMI é para a empresaque o CMM/CMMI é para a empresa
Qualidade de Software Alexandre Vasconcelos 4/27
O Modelo PSPO Modelo PSP Baseado no CMM, possui também níveis Baseado no CMM, possui também níveis
de maturidade.de maturidade.
Os níveis representam fases de evolução Os níveis representam fases de evolução a serem seguidas até se alcançar o pleno a serem seguidas até se alcançar o pleno controle sobre as atividades de controle sobre as atividades de desenvolvimento.desenvolvimento.
1995 - Livro 1995 - Livro “A Discipline for Software “A Discipline for Software Engineering”Engineering” , de Watts Humphrey , de Watts Humphrey
Qualidade de Software Alexandre Vasconcelos 5/27
Objetivos e Características do Objetivos e Características do PSPPSP
Objetivos:Objetivos:– Preencher a lacuna deixada pelos modelos de processo
de software, com relação ao processo pessoal. – Tornar o trabalho mais produtivo, adequado e
satisfatório ao desenvolvimento de sistemas em escala individual, fazendo com que o próprio engenheiro de software encontre os seus limites.
CaracterísticasCaracterísticas– Suporta desenvolvimento individual.– Possibilita que o próprio engenheiro encontre seu
processo de desenvolvimento.– Institucionaliza o controle total das atividades.
Qualidade de Software Alexandre Vasconcelos 6/27
Estratégia do PSPEstratégia do PSP Identificação de métodos e técnicas utilizados em Identificação de métodos e técnicas utilizados em
sistemas de grande escala que possam ser úteis sistemas de grande escala que possam ser úteis para os sistemas individuais.para os sistemas individuais.
Definição de um subconjunto destes métodos e Definição de um subconjunto destes métodos e técnicas para serem aplicados no técnicas para serem aplicados no desenvolvimento de pequenos programas.desenvolvimento de pequenos programas.
Estruturação destes métodos para que sejam Estruturação destes métodos para que sejam gradualmente introduzidos.gradualmente introduzidos.
Fornecimento de um conjunto de exercícios a Fornecimento de um conjunto de exercícios a serem realizados, possibilitando o aprendizado serem realizados, possibilitando o aprendizado do PSP.do PSP.
Qualidade de Software Alexandre Vasconcelos 7/27
PSP – Níveis PSP – Níveis de Maturidadede Maturidade
Qualidade de Software Alexandre Vasconcelos 8/27
PSP0 - Medição PessoalPSP0 - Medição Pessoal Construir uma base de medidas para Construir uma base de medidas para
suporte à evolução, com foco na medição suporte à evolução, com foco na medição do tempo gasto, defeitos inseridos e do tempo gasto, defeitos inseridos e encontrados.encontrados.– Utiliza tabelas para medição e documentação– Base para todo o processo de melhoria– Coleta de dados
• tempo • defeitos
– Delineação do perfil do engenheiro– Basicamente uma fase de coleta de informações
Qualidade de Software Alexandre Vasconcelos 9/27
PSP - TemplatePSP - Template
Qualidade de Software Alexandre Vasconcelos 10/27
PSP1 - Planejamento PessoalPSP1 - Planejamento Pessoal Adiciona planejamento ao PSP0 com base nos Adiciona planejamento ao PSP0 com base nos
dados históricosdados históricos Registro de teste e estimativa de tamanho e Registro de teste e estimativa de tamanho e
recursos.recursos.– Perceber a relação entre o tamanho do programa
desenvolvido e o tempo gasto para desenvolve-lo.– Ajudar o engenheiro de software a só assumir
compromissos que possa cumprir.– Fornecer um planejamento ordenado das tarefas a
serem cumpridas.– Fornecer dados para avaliação do trabalho realizado.
Qualidade de Software Alexandre Vasconcelos 11/27
PSP2 - Qualidade PessoalPSP2 - Qualidade Pessoal Foco em técnicas de revisão de código para Foco em técnicas de revisão de código para
encontrar possíveis defeitos, antes que seja tarde encontrar possíveis defeitos, antes que seja tarde demais para consertá-los.demais para consertá-los.
Principais dados gerados nas revisões:Principais dados gerados nas revisões:– Tamanho do programa.– Tempo de revisão.– Número total de defeitos encontrados.– Número de erros encontrados após a revisão.– Número médio encontrado por hora de revisão.– Número médio de linhas de código revistas por hora.
Qualidade de Software Alexandre Vasconcelos 12/27
PSP3 - Processo CíclicoPSP3 - Processo Cíclico
EstratégiaEstratégia– desenvolver programas incrementalmente. A
cada iteração, o processo de PSP2 é completado, incluindo desenvolvimento, codificação, revisão e teste.
ObjetivosObjetivos– Tornar o PSP aplicável a tarefas médias e
grandes.– Melhoria contínua através de avaliações
sucessivas.
Qualidade de Software Alexandre Vasconcelos 13/27
PSP X CMMPSP X CMM O PSP suporta, em escala individual, 12 das 18 O PSP suporta, em escala individual, 12 das 18
KPAs do modelo CMMKPAs do modelo CMM
CMM 2 - PSP0CMM 2 - PSP0– Planejamento do Projeto– Acompanhamento do Projeto
CMM 3 - PSP1CMM 3 - PSP1– Foco no processo organizacional– Definição do processo
organizacional– programa de Treinamento– gerenciamento de software
integrado– Revisão conjunta
CMM 4 - PSP2CMM 4 - PSP2– Gerenciamento quantitativo dos
processos– Gerenciamento da qualidade de
software
CMM 5 - PSP3CMM 5 - PSP3– Prevenção de defeitos– Gerenciamento de mudanças
tecnológicas– Gerenciamento de mudanças no
processo
Qualidade de Software Alexandre Vasconcelos 14/27
Ferramentas para PSP Ferramentas para PSP
http://processdash.sourceforge.net/
http://www.laura-art.com/Studio/
Qualidade de Software Alexandre Vasconcelos 15/27
Como Avaliar PSP?Como Avaliar PSP? CursosCursos
– An Introduction to PSP– Livro “A Discipline for Software Engineering” ,
de Watts Humphrey, 1995 IniciativasIniciativas
– Individual– Disciplinas em cursos universitários
Livros são self-study!Livros são self-study!
Qualidade de Software Alexandre Vasconcelos 16/27
Benefícios do PSPBenefícios do PSP Incorporação, no processo de trabalho do Incorporação, no processo de trabalho do
engenheiro de software, de procedimentos para engenheiro de software, de procedimentos para codificação, e revisões de código e projeto.codificação, e revisões de código e projeto.
Geração de dados históricos obtidos através das Geração de dados históricos obtidos através das tabelas e relatórios.tabelas e relatórios.
Uso de dados históricos acumulados para Uso de dados históricos acumulados para planejamento de trabalho e escalonamento de planejamento de trabalho e escalonamento de tarefas.tarefas.
O processo de desenvolvimento de software O processo de desenvolvimento de software pode ser definido pelo próprio engenheiro.pode ser definido pelo próprio engenheiro.
Qualidade de Software Alexandre Vasconcelos 17/27
PSP - Pontos CríticosPSP - Pontos Críticos As tabelas e roteiros do PSP são fortemente As tabelas e roteiros do PSP são fortemente
voltados para o paradigma imperativo de voltados para o paradigma imperativo de programação.programação.
Foco em codificação e testeFoco em codificação e teste Carência nas fases de requisitos e especificação Carência nas fases de requisitos e especificação
de projetos.de projetos. Tempo para treinamento e utilização do PSP.Tempo para treinamento e utilização do PSP. Dificuldade em garantir cultura disciplinar e Dificuldade em garantir cultura disciplinar e
comprometimento das pessoas.comprometimento das pessoas.
18/27 Qualidade de Software Alexandre Vasconcelos
TSP – Team Software TSP – Team Software ProcessProcess
Qualidade de Software Alexandre Vasconcelos 19/27
Motivação: Motivação: Por que o PSP Por que o PSP
não é suficiente?não é suficiente? Pessoas trabalham em grupoPessoas trabalham em grupo Integração e planejamento de Times de Integração e planejamento de Times de
desenvolvimentodesenvolvimento Necessidade de estimativas compostasNecessidade de estimativas compostas
Qualidade de Software Alexandre Vasconcelos 20/27
Team Software Process (TSP)Team Software Process (TSP) Proposto por Watts Humphrey, criador do Proposto por Watts Humphrey, criador do
CMMCMM Voltado para a formação de Voltado para a formação de equipesequipes de de
desenvolvimento de alta produtividadedesenvolvimento de alta produtividade Focado em métricas e inspeçõesFocado em métricas e inspeções Atividades descritas na forma de Atividades descritas na forma de scriptsscripts
Qualidade de Software Alexandre Vasconcelos 21/27
PSP + TSPPSP + TSP
Qualidade de Software Alexandre Vasconcelos 22/27
TSP – Ciclo de VidaTSP – Ciclo de Vida
Lançamento
Estratégia
Requisitos
Planejamento
Projeto
Implementação
Testes
Postmortem
Ciclo 1
Ciclo 2
Lançamento
Estratégia
Requisitos
Planejamento
Projeto
Implementação
Testes
Postmortem
. . .
Ciclo Final
Lançamento
Estratégia
Requisitos
Planejamento
Projeto
Implementação
Testes
Postmortem
Produto Final
Qualidade de Software Alexandre Vasconcelos 23/27
CMM x TSP x PSPCMM x TSP x PSP
Qualidade de Software Alexandre Vasconcelos 24/27
TSP e SW-CMMTSP e SW-CMMPráticas de ProjetoPráticas de Projeto
Fonte:SEI - TR 008/2002
Qualidade de Software Alexandre Vasconcelos 25/27
TSP e SW-CMMTSP e SW-CMMPráticas da OrganizaçãoPráticas da Organização
Fonte:SEI - TR 008/2002
Qualidade de Software Alexandre Vasconcelos 26/27
TSP – Pontos FortesTSP – Pontos Fortes Formação de uma equipe coesa, que busca um Formação de uma equipe coesa, que busca um
objetivo comumobjetivo comum
Suas práticas melhoram o gerenciamento do Suas práticas melhoram o gerenciamento do projetoprojeto
Completamente alinhado com o SW-CMM, Completamente alinhado com o SW-CMM, funcionando como “catalisador”funcionando como “catalisador”
Qualidade de Software Alexandre Vasconcelos 27/27
TSP – Pontos FracosTSP – Pontos Fracos Requer treinamento prévio em Personal Software Requer treinamento prévio em Personal Software
Process (PSP)Process (PSP)
Não possui modelos de documentosNão possui modelos de documentos
Não entra em detalhes sobre a execução das Não entra em detalhes sobre a execução das atividadesatividades