Capítulo 6: PSP. Capítulo 6: PSP Personal Software Process



Documentos relacionados
CMM Capability Maturity Model. Silvia Regina Vergilio

Profa. Dra. Ana Paula Gonçalves Serra

GARANTIA DA QUALIDADE DE SOFTWARE

No Relatório Técnico que apresenta o modelo CMM a apresentação das KPAs segue o formato visto Aqui, ênfase no nível 2

PSP Personal Software Process. MO409 Engenharia de Software I Bruno Abreu - RA Henrique Souza - RA

PEDRO HENRIQUE DE OLIVEIRA E SILVA MESTRE EM MODELAGEM MATEMÁTICA E COMPUTACIONAL PEDROHOLI@GMAIL.COM CMM E CMMI

Agenda. Introdução Etapas genéricas Atividades de apoio Ferramentas de apoio Modelos genéricos Modelos de mercado Modelos de melhoria

QUALIDADE DE SOFTWARE AULA N.7

ISO/IEC 12207: Gerência de Configuração

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Gerenciamento de projetos.

Gerência de Projetos

Capítulo 5: CMM, o Capability Maturity Model

APLICAÇÃO DO MODELO PSP - PERSONAL SOFTWARE PROCESS EM UM PROTÓTIPO DE SISTEMA DE GERENCIAMENTO DO SETOR DE ENGENHARIA DE SEGURANÇA DO TRABALHO

ROTEIRO PARA ELABORAÇÃO DE PROJETOS

Pós-Graduação em Gerenciamento de Projetos práticas do PMI

Processos de Software

Gerenciamento de Projetos Modulo VIII Riscos

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

Fundamentos de Teste de Software

A Importância do Controle da Qualidade na Melhoria de Processos de Software. Ana Liddy Cenni de Castro Magalhães

Qualidade de Software. Anderson Belgamo

Indicadores de Rendimento do Voluntariado Corporativo

Gerência de Projetos Prof. Dr. Sandro Ronaldo Bezerra Oliveira

Como criar a Estrutura Analítica de um Projeto (EAP)

Artigo Os 6 Mitos Do Seis Sigma

Boas Práticas em Gerenciamento de Projetos Material utilizado nas aulas de Pós-graduação do Centro de Informática

O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no

CMM - Capability Maturity Model

A Disciplina Gerência de Projetos

Padrões de Qualidade de Software

Módulo 3 Procedimento e processo de gerenciamento de riscos, PDCA e MASP

DPS1036 SISTEMAS DA QUALIDADE I METODOLOGIA SEIS SIGMA E MÉTODO DMAIC

Atividades da Engenharia de Software ATIVIDADES DE APOIO. Atividades da Engenharia de Software. Atividades da Engenharia de Software

Planejamento e Gerenciamento de Software. Tema 3. Gerência de Projetos Profa. Susana M. Iglesias

Gerenciamento de Projetos Modulo IX Qualidade

Sistema de Gestão da Qualidade

Fábrica de Software 29/04/2015

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

Engenharia de Software II

ENGENHARIA DE SOFTWARE I

Qualidade de software

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS

3. Fase de Planejamento dos Ciclos de Construção do Software

Modernização e Evolução do Acervo de Software. Gustavo Robichez de Carvalho guga@les.inf.puc-rio.br

Teste de Software. Profa. Cátia dos Reis Machado

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

APOSTILAS: NORMAS; ABNT NBR ISO; MPS BR

Professor: Disciplina:

Fatores humanos de qualidade CMM E CMMI

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues

Processo de Desenvolvimento de Software Workshop de Engenharia de Software

Uma Metodologia para Teste de Software no Contexto da Melhoria de Processo

Unidade VI GOVERNANÇA DE TI. Profa. Gislaine Stachissini

Gerenciamento da Integração (PMBoK 5ª ed.)

MODELO SPICE Software Improvement and Capacibilty Determination Avalia o software com foco na melhoria de seus processos (identifica pontos fracos e

Padrões de Qualidade e Métricas de Software. Aécio Costa

Objetivos. Processos de Software. Tópicos abordados. O processo de software. Modelos genéricos de modelos de processo de software.

Gestão dos Prazos e Custos do Projeto

Engenharia de Software

Normas e Padrões de Qualidade em Software - I

ADMINISTRAÇÃO GERAL GESTÃO DE PROCESSOS

Políticas de Qualidade em TI

PLANO DE GERANCIAMENTO DO RELEASE Release:

Gerenciamento de Projetos Modulo X RH

RUP. Evolução. Principais Características do RUP. Principais Características do RUP RUP

MODELO CMM MATURIDADE DE SOFTWARE

Gestão da Qualidade Políticas. Elementos chaves da Qualidade 19/04/2009

Planejando o aplicativo

Qualidade de Software Aula 6 / luis@garcia.pro.br

Workshop PMBoK. Gerenciamento de Recursos Humanos

Nome da Empresa. <Nome do Projeto> Plano de Desenvolvimento de Software. Versão <1.0>

INFORMAÇÕES ADICIONAIS

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Implantação. Prof. Eduardo H. S. Oliveira

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

Engenharia de Software

3 Qualidade de Software

Sistemas de Gestão da Qualidade. Introdução. Engenharia de Produção Gestão Estratégica da Qualidade. Tema Sistemas de Gestão da Qualidade

Scrum. Introdução UFRPE-DEINFO BSI-FÁBRICA DE SOFTWARE

PMBOK 5. Caros concurseiros! Eis um resumo que fiz sobre as principais mudanças na quinta edição do PMBOK.

Qualidade em Projetos aperfeiçoamento de processos Entendimento/Monitoração e Controle. 0 - Generalidades

CONSULTORIA. Sistema de Gestão ISO Lean Esquadrias

Garantia da Qualidade de Software

Gerenciamento de Qualidade. Paulo C. Masiero Cap SMVL

Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Programa de Pós-Graduação em Informática

Porque estudar Gestão de Projetos?

OS 14 PONTOS DA FILOSOFIA DE DEMING

ANÁLISE COMPARATIVA ENTRE OS MODELOS DE PROCESSO: PROTOTIPAÇÃO, PSP E SCRUM

Verificação é um processo para se determinar se os produtos, (executáveis ou

ENQUALAB 2013 QUALIDADE & CONFIABILIDADE NA METROLOGIA AUTOMOTIVA. Elaboração em planos de Calibração Interna na Indústria Automotiva

Qualidade de software

Qualidade de. Software. Definições. Qualidade do Produto ISO Processo de. Software. Modelo de Processo de. Software CMM SPICE ISO 12207

OBSERVAÇÃO DE TAREFAS BASEADA NA SEGURANÇA COMPORTAMENTAL

Transcrição:

Capítulo 6: PSP Personal Software Process Capítulo 1: Introdução Capítulo 2: Conceitos Básicos Capítulo 3: Qualidade de Produto (ISO9126) Capítulo 4: ISO9001 e ISO9000-3 Capítulo 5: CMM Capítulo 6: PSP Capítulo 7: SPICE Capítulo 8: Conclusão INF310 - Modelos de Qualidade de SW - Mario L. Côrtes - 1998 PSP 6-1

Como chegamos até aqui Qualidade de produto de software (ISO 9126) Sistemas da Qualidade (ISO 9001 e 9000-3) Capabilidade e maturidade dos processos de software (CMM) Críticas: difícil aplicação em pequenas equipes de desenvolvimento ou no nível individual CMM afeta em muito pouco as práticas pessoais de engenharia de software dos desenvolvedores Proposta de Watts Humphrey: PSP, o Personal Software Process INF310 - Modelos de Qualidade de SW - Mario L. Côrtes - 1998 PSP 6-2

Objetivos do PSP Ajudar as pessoas a serem melhores engenheiros de software Estabelecer um mecanismo para melhorar, no nível pessoal, a capacidade de planejamento, acompanhamento e qualidade dos resultados Conceitos básicos do PSP podem ser usados como ferramenta de uso geral para gerenciar as atividades pessoais particulares ou profissionais Benefícios: melhoria da produtividade: melhor conhecimento e controle dos mecanismos e tempos de produção qualidade dos produtos: resultado do conhecimento das causas dos erros e do seu controle estatístico INF310 - Modelos de Qualidade de SW - Mario L. Côrtes - 1998 PSP 6-3

Proposta do PSP Integrar-se às práticas organizacionais do CMM permitir que a base da estrutura da organização, os desenvolvedores, tenham melhor desempenho pessoal Processos no nível pessoal também têm que ser conhecidos, controlados e melhorados PSP pode ser usado por pessoas em empresas que ainda estão no nível 1 alguns benefícios mútuos não aparecerão mas certamente a pessoa perceberá as melhorias no nível pessoal INF310 - Modelos de Qualidade de SW - Mario L. Côrtes - 1998 PSP 6-4

Compromissos Como fazer para que compromissos assumidos pela alta gerência sejam transformados em compromissos pessoais dos desenvolvedores? as pessoas só assumem compromissos pessoais voluntariamente imposições não são compromissos; podem ser até aceitas, porém como obrigações e não como compromissos Cronogramas e planos corporativos podem não ser vistos pelos desenvolvedores como compromisso pessoal INF310 - Modelos de Qualidade de SW - Mario L. Côrtes - 1998 PSP 6-5

PSP e os compromissos O PSP pode auxiliar neste processo desde que a visão dos desenvolvedores de como será a sua contribuição no desenvolvimento como um todo seja levada em conta participação no processo de planejamento as pessoas passam a conhecer melhor as suas capacidades e desempenho, o planejamento pessoal pode ser gradativamente integrado ao planejamento da empresa INF310 - Modelos de Qualidade de SW - Mario L. Côrtes - 1998 PSP 6-6

A abordagem do PSP Identificar os métodos e práticas usados em grandes sistemas que podem ser usados por indivíduos Definir um subconjunto destes métodos e práticas que podem ser usados no desenvolvimento de pequenos programas Estruturar e escalonar estes métodos e práticas de modo a possibilitar a sua introdução gradual e disciplinada Desenvolver exercícios para facilitar a introdução das práticas INF310 - Modelos de Qualidade de SW - Mario L. Côrtes - 1998 PSP 6-7

KPAs não implementadas pelo PSP SSM e Coordenação Entre Grupos (Intergroup Coordination): não podem ser praticadas no nível individual RM e SCM : poderiam ser aplicadas no nível individual mas devem ser consideradas apenas após a implantação dos passos iniciais do PSP SQA e Programa de Treinamento: referem-se mais aos aspectos organizacionais como a organização verifica o atendimento aos procedimentos estabelecidos como a organização planeja e executa a evolução da capacitação do seu pessoal INF310 - Modelos de Qualidade de SW - Mario L. Côrtes - 1998 PSP 6-8

Os processos do PSP Cyclic Personal Process PSP3 PSP3 Cyclic Development Cyclic Development Personal Quality Management PSP2 PSP2 Code reviews Code reviews Design reviews Design reviews PSP2.1 PSP2.1 Design templates Design templates Personal Planning Process PSP1 PSP1 Size estimating Size estimating Test report Test report PSP1.1 PSP1.1 Task planning Task planning Schedule planning Schedule planning Baseline Personal Process PSP0 PSP0 Current process Current process Time recording Time recording Defect recording Defect recording Defect type standard Defect type standard PSP0.1 PSP0.1 Coding standard Coding standard Size measurements Size measurements Process improvement proposal Process improvement proposal INF310 - Modelos de Qualidade de SW - Mario L. Côrtes - 1998 PSP 6-9

PSP0: Baseline Process PSP0: estabelecimento de práticas de medida e alguns formatos de relatórios que constituirão uma base (baseline) ou fundação sobre a qual será implantada a melhoria contínua pessoal não afeta métodos e práticas pessoais de design, codificação e teste (apenas serão medidos) O PSP0.1 acrescenta padrões de programação, práticas de medida de tamanho de produto de trabalho e o Process Improvement Proposal (PIP Proposta de Melhoria de Processo) PIP é uma forma estruturada de registrar problemas nos processos, experiências e propostas de melhoria INF310 - Modelos de Qualidade de SW - Mario L. Côrtes - 1998 PSP 6-10

PSP1: Processo de Planejamento Pessoal O PSP1 acrescenta práticas de planejamento ao PSP0 Inicialmente, apenas relatórios de teste e práticas de estimativa de tamanho e recursos Em seguida, no PSP1.1, planejamento de tarefas e elaboração de cronogramas são introduzidos O planejamento no nível pessoal possibilita: melhor compreensão da relação entre o tamanho dos programas e o tempo gasto no seu desenvolvimento assumir compromissos com mais certeza de que serão cumpridos organizar o trabalho melhor acompanhamento do status do desenvolvimento INF310 - Modelos de Qualidade de SW - Mario L. Côrtes - 1998 PSP 6-11

PSP1: Processo de Planejamento Pessoal (cont.) Objetivos de planejamento são importantes não só para projetos de grandes dimensões, mas também para indivíduos que trabalham sozinhos no desenvolvimento de sistemas Se a produtividade do indivíduo é bem conhecida, ele pode planejar melhor o seu trabalho, assumir compromissos com mais segurança e cumprí-los com maior regularidade INF310 - Modelos de Qualidade de SW - Mario L. Côrtes - 1998 PSP 6-12

PSP2: Processo de Gestão Pessoal da Qualidade Um dos objetivos do PSP é ajudar as pessoas a aprender desde cedo como tratar de maneira realista e objetiva os defeitos no programa que resultam dos seus erros Mesmo sabendo que não somos infalíveis (cometemos erros): é difícil se sentir à vontade e tratar os problemas de maneira objetiva Maior parte dos problemas: erros datilográficos, distrações ou erros idiotas (maior sentimento de culpa) para melhorar a situação não basta esforçar-se mais é preciso enfrentar os problemas de maneira sistemática INF310 - Modelos de Qualidade de SW - Mario L. Côrtes - 1998 PSP 6-13

PSP2: Processo de Gestão Pessoal da Qualidade Para gerenciar os erros é preciso conhecer os números o PSP2 introduz as técnicas de inspeção e revisão para auxiliar na detecção precoce de defeitos coleta e análise de dados de defeitos de compilação e teste encontrados em programas anteriores é possível fazer listas de verificação mais ajustadas ao perfil de defeitos do programador e fazer avaliações da evolução seu nível de qualidade INF310 - Modelos de Qualidade de SW - Mario L. Côrtes - 1998 PSP 6-14

PSP2.1: Processo de Gestão Pessoal da Qualidade Processo de design Auxilia no estabelecimento de critérios de completeza e de técnicas de verificação e consistência critérios de completeza podem ser usados em qualquer fase, em requisitos, por exemplo São especialmente importantes para verificar se as condições para iniciar a próxima fase de desenvolvimento estão satisfeitas INF310 - Modelos de Qualidade de SW - Mario L. Côrtes - 1998 PSP 6-15

PSP3: Processo Pessoal Cíclico Nos níveis de zero a dois: processo simples e linear para construir pequenos programas Abordagem não apropriada para projetos de maior envergadura um programa com 10.000 LOCs é muito grande para ser escrito, depurado e revisto usando PSP2 mesmo bem documentado o programador facilmente perderá a noção da lógica geral do programa e perderá muito tempo tentando testar o programa todo como uma simples unidade PSP3 introduz abstração: subdividir o programa em módulos que possam ser tratados convenientemente com o ferramental apresentado nos níveis inferiores INF310 - Modelos de Qualidade de SW - Mario L. Côrtes - 1998 PSP 6-16

PSP3: Processo Pessoal Cíclico Desenvolver iterativamente o programa, de módulo em módulo. Em cada iteração, existe um ciclo completo de design, codificação e teste, como no PSP2 pode ser aplicado para programas de vários milhares de linhas de código Fundamental que cada iteração tenha a sua qualidade controlada em cada iteração, concentra-se na verificação da qualidade daquela iteração e assume-se que as anteriores já estão garantidas ou verificadas se uma iteração anterior tem baixa qualidade, o teste será muito mais difícil e os benefícios do desenvolvimento incremental serão perdidos INF310 - Modelos de Qualidade de SW - Mario L. Côrtes - 1998 PSP 6-17

PSP3: Processo Pessoal Cíclico Motivo para a ênfase em revisões e inspeções de design e código dos níveis inferiores de PSP: processo iterativo Importante: relatórios testes de regressão, para verificar se as condições de qualidade verificadas na iteração anterior não foram afetadas negativamente pela inclusão de novos módulos INF310 - Modelos de Qualidade de SW - Mario L. Côrtes - 1998 PSP 6-18

Uso do PSP: expectativas Os desenvolvedores de software entenderão melhor o que eles fazem se o seu trabalho for definido, medido e acompanhado Eles usarão então uma estrutura definida de processos e critérios para avaliar e aprender com sua própria experiência e com a de outros Com este conhecimento e experiência, eles podem selecionar métodos e técnicas que melhor se ajustam aos tipos de tarefas que executam e às suas próprias habilidades Ao utilizarem práticas bem definidas e níveis elevados de qualidade no seu trabalho eles tornarse-ão membros mais produtivos e eficazes nas equipes de desenvolvimento INF310 - Modelos de Qualidade de SW - Mario L. Côrtes - 1998 PSP 6-19

Qualidade e produtividade: cinco princípios Um processo bem definido e estruturado pode melhorar a eficiência no trabalho O processo pessoal deve ser ajustado ao conhecimento e preferências de cada indivíduo Para que um desenvolvedor se sinta à vontade com um processo ele deve participar na sua definição Na medida em que o conhecimento e habilidade de um profissional evolui o mesmo deve acontecer com o processo utilizado A melhoria contínua fica facilitada com um processo de realimentação permanente INF310 - Modelos de Qualidade de SW - Mario L. Côrtes - 1998 PSP 6-20

Efeitos do PSP Expectativa em atividades repetitivas e mecânicas: efeito positivo da definição de processo sobre a produtividade Divergência: efeito quando a atividade tem algum conteúdo de criatividade, como é o caso do desenvolvimento de software Dados em [Humphrey 95] são limitados: desempenho de um pequeno número de estudantes ao longo de um treinamento em PSP INF310 - Modelos de Qualidade de SW - Mario L. Côrtes - 1998 PSP 6-21

Resultados experimentais [Humphrey 95] Variação de produtividade na medida em que os estudantes se tornavam proficientes em PSP foi diminuindo semelhante ao previsto no nível 2 CMM Redução na variação no caso do PSP pode ser creditada à melhoria da qualidade do código O número de defeitos por KLOC diminuiu ao longo do curso diminuiu a necessidade de retrabalho devido à ocorrência de defeitos indicador não foi medido (autor comenta que indicadores de produtividade perdem sentido, devido à sua alta variabilidade, quando as taxas de ocorrência de defeitos é muito alta) INF310 - Modelos de Qualidade de SW - Mario L. Côrtes - 1998 PSP 6-22

Resultados experimentais [Hayes 97] Dados experimentais coletados com 298 engenheiros de software: a precisão nas estimativas de esforço melhorou 1,75 x a precisão nas estimativas de tamanho de código melhorou 2,5 x o número de defeitos encontrados no teste de unidade foi reduzido por um fator de 2,5 a porcentagem de defeitos encontrados antes da compilação aumentou em 50% a produtividade pessoal em linhas de código por hora (na fase de codificação) não mudou de forma significativa mas os autores acreditam que as melhorias em qualidade terão um impacto positivo quando forem considerados o ciclo de desenvolvimento como um todo, incluindo as atividades de integração e teste de sistema INF310 - Modelos de Qualidade de SW - Mario L. Côrtes - 1998 PSP 6-23

PSP: Publicações [Humphrey 95]: introduz o conceito do PSP e apresenta o método com um nível razoável de detalhe contem a sequência apropriada de exercícios para a evolução nos quatro níveis de maturidade no nível individual [Humphrey 97]: publicado posteriormente apresenta uma versão simplificada do método, uma introdução de caráter mais geral, sem o conceito dos quatro níveis, sem tratamento estatístico e sem os conhecimentos necessários para tratar programas de maior porte o autor sugere que este livro seja usado como introdução para em seguida aprofundar-se na outra publicação INF310 - Modelos de Qualidade de SW - Mario L. Côrtes - 1998 PSP 6-24

PSP: Conclusão Processo: CMM no nível organizacional PSP no nível do programador Nova abordagem do Prof. Humphrey: TSP, Team Software Process: entre o nível individual do PSP e o nível corporativo do CMM Não foi proposto formalmente na literatura tutorial sobre TSP programado para o SEI Software Engineering Symposium, em Pittsburgh, em setembro de 1998 INF310 - Modelos de Qualidade de SW - Mario L. Côrtes - 1998 PSP 6-25