Modelos de Qualidade para indivíduos e grupos: PSP & TSP Qualidade de Software Alexandre Vasconcelos
PSP – Personal Software Process Qualidade de Software Alexandre Vasconcelos
Alexandre Vasconcelos O Modelo PSP Um modelo desenvolvido pelo SEI para melhoria e otimização do processo individual de trabalho. Estruturado como um curso, onde os conceitos, metodologia e documentação são introduzidos gradativamente via treinamento O PSP representa para o indivíduo, enquanto processo de amadurecimento, o que o CMM/CMMI é para a empresa Qualidade de Software Alexandre Vasconcelos
Alexandre Vasconcelos O Modelo PSP Baseado no CMM, possui também níveis de maturidade. Os níveis representam fases de evolução a serem seguidas até se alcançar o pleno controle sobre as atividades de desenvolvimento. 1995 - Livro “A Discipline for Software Engineering” , de Watts Humphrey Qualidade de Software Alexandre Vasconcelos
Objetivos e Características do PSP 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í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
Alexandre Vasconcelos Estratégia do PSP Identificação de métodos e técnicas utilizados em sistemas de grande escala que possam ser úteis para os sistemas individuais. Definição de um subconjunto destes métodos e técnicas para serem aplicados no desenvolvimento de pequenos programas. Estruturação destes métodos para que sejam gradualmente introduzidos. Fornecimento de um conjunto de exercícios a serem realizados, possibilitando o aprendizado do PSP. Qualidade de Software Alexandre Vasconcelos
PSP – Níveis de Maturidade Qualidade de Software Alexandre Vasconcelos
Alexandre Vasconcelos PSP0 - Medição Pessoal Construir uma base de medidas para suporte à evolução, com foco na medição do tempo gasto, defeitos inseridos e 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
Alexandre Vasconcelos PSP - Template Qualidade de Software Alexandre Vasconcelos
PSP1 - Planejamento Pessoal Adiciona planejamento ao PSP0 com base nos dados históricos Registro de teste e estimativa de tamanho e 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
PSP2 - Qualidade Pessoal Foco em técnicas de revisão de código para encontrar possíveis defeitos, antes que seja tarde demais para consertá-los. 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
Alexandre Vasconcelos PSP3 - Processo Cíclico Estratégia desenvolver programas incrementalmente. A cada iteração, o processo de PSP2 é completado, incluindo desenvolvimento, codificação, revisão e teste. Objetivos 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
Alexandre Vasconcelos PSP X CMM O PSP suporta, em escala individual, 12 das 18 KPAs do modelo CMM CMM 2 - PSP0 Planejamento do Projeto Acompanhamento do Projeto CMM 3 - PSP1 Foco no processo organizacional Definição do processo organizacional programa de Treinamento gerenciamento de software integrado Revisão conjunta CMM 4 - PSP2 Gerenciamento quantitativo dos processos Gerenciamento da qualidade de software CMM 5 - PSP3 Prevenção de defeitos Gerenciamento de mudanças tecnológicas Gerenciamento de mudanças no processo Qualidade de Software Alexandre Vasconcelos
Alexandre Vasconcelos Ferramentas para PSP http://processdash.sourceforge.net/ http://www.laura-art.com/Studio/ Qualidade de Software Alexandre Vasconcelos
Alexandre Vasconcelos Como Avaliar PSP? Cursos An Introduction to PSP Livro “A Discipline for Software Engineering” , de Watts Humphrey, 1995 Iniciativas Individual Disciplinas em cursos universitários Livros são self-study! Qualidade de Software Alexandre Vasconcelos
Alexandre Vasconcelos Benefícios do PSP Incorporação, no processo de trabalho do engenheiro de software, de procedimentos para codificação, e revisões de código e projeto. Geração de dados históricos obtidos através das tabelas e relatórios. Uso de dados históricos acumulados para planejamento de trabalho e escalonamento de tarefas. O processo de desenvolvimento de software pode ser definido pelo próprio engenheiro. Qualidade de Software Alexandre Vasconcelos
Alexandre Vasconcelos PSP - Pontos Críticos As tabelas e roteiros do PSP são fortemente voltados para o paradigma imperativo de programação. Foco em codificação e teste Carência nas fases de requisitos e especificação de projetos. Tempo para treinamento e utilização do PSP. Dificuldade em garantir cultura disciplinar e comprometimento das pessoas. Qualidade de Software Alexandre Vasconcelos
TSP – Team Software Process Qualidade de Software Alexandre Vasconcelos
Motivação: Por que o PSP não é suficiente? Pessoas trabalham em grupo Integração e planejamento de Times de desenvolvimento Necessidade de estimativas compostas Qualidade de Software Alexandre Vasconcelos
Team Software Process (TSP) Proposto por Watts Humphrey, criador do CMM Voltado para a formação de equipes de desenvolvimento de alta produtividade Focado em métricas e inspeções Atividades descritas na forma de scripts Qualidade de Software Alexandre Vasconcelos
Alexandre Vasconcelos PSP + TSP Qualidade de Software Alexandre Vasconcelos
Alexandre Vasconcelos TSP – Ciclo de Vida Lançamento Estratégia Requisitos Planejamento Projeto Implementação Testes Postmortem Ciclo 1 Ciclo 2 . . . Ciclo Final Produto Final Qualidade de Software Alexandre Vasconcelos
Alexandre Vasconcelos CMM x TSP x PSP Qualidade de Software Alexandre Vasconcelos
TSP e SW-CMM Práticas de Projeto Fonte: SEI - TR 008/2002 Qualidade de Software Alexandre Vasconcelos
TSP e SW-CMM Práticas da Organização Fonte: SEI - TR 008/2002 Qualidade de Software Alexandre Vasconcelos
Alexandre Vasconcelos TSP – Pontos Fortes Formação de uma equipe coesa, que busca um objetivo comum Suas práticas melhoram o gerenciamento do projeto Completamente alinhado com o SW-CMM, funcionando como “catalisador” Qualidade de Software Alexandre Vasconcelos
Alexandre Vasconcelos TSP – Pontos Fracos Requer treinamento prévio em Personal Software Process (PSP) Não possui modelos de documentos Não entra em detalhes sobre a execução das atividades Qualidade de Software Alexandre Vasconcelos