32
Personal Software Process Uma Visão Geral Profa. Sandra C. P. F. Fabbri e-mail [email protected] 1o.semestre/1999

Personal Software Process Uma Visão Geral Profa. Sandra C. P. F. Fabbri e-mail [email protected] 1o.semestre/1999

Embed Size (px)

Citation preview

Page 1: Personal Software Process Uma Visão Geral Profa. Sandra C. P. F. Fabbri e-mail sandraf@dc.ufscar.br 1o.semestre/1999

Personal Software ProcessUma Visão Geral

Profa. Sandra C. P. F. Fabbrie-mail [email protected]

1o.semestre/1999

Page 2: Personal Software Process Uma Visão Geral Profa. Sandra C. P. F. Fabbri e-mail sandraf@dc.ufscar.br 1o.semestre/1999

Problema Fundamental

• Em muitas organizações os projetosprojetos estão muitas vezes excessivamente atrasadosatrasados e excedendo em mais do que o dobro do mais do que o dobro do orçamentoorçamento previamente planejado devido principalmente a incapacidade de gerenciar a incapacidade de gerenciar o processo de softwareo processo de software.

Page 3: Personal Software Process Uma Visão Geral Profa. Sandra C. P. F. Fabbri e-mail sandraf@dc.ufscar.br 1o.semestre/1999

Crise da Qualidade do Software

• Caracterizada pela falta de planejamento e falta de planejamento e de recursosde recursos para controle e garantia da qualidade dos softwares.

Page 4: Personal Software Process Uma Visão Geral Profa. Sandra C. P. F. Fabbri e-mail sandraf@dc.ufscar.br 1o.semestre/1999

Alguns Modelos de Qualidade

Page 5: Personal Software Process Uma Visão Geral Profa. Sandra C. P. F. Fabbri e-mail sandraf@dc.ufscar.br 1o.semestre/1999

Características Gerais desses Modelos

• Cobrem apenas aspectos de qualidade do processo, do produto e de pessoal de software em médias e grandes organizações, desconsiderando aspectos de qualidade individualqualidade individual;

• São muito exigentesexigentes;• Tendem a ser usados principalmente pelas

empresas de TI de maior porteempresas de TI de maior porte, cuja cultura sente-se confortável com métodos e processos formais;

Page 6: Personal Software Process Uma Visão Geral Profa. Sandra C. P. F. Fabbri e-mail sandraf@dc.ufscar.br 1o.semestre/1999

* Segundo a Revista de Qualidade no Setor de Software Brasileito de 1995.

Características Gerais desses Modelos (cont.)

• Tendem a nãonão ser usados por empresas empresas menores de consultoria e produtoras de menores de consultoria e produtoras de softwaresoftware, que alegam agir com mais ênfase sobre a individualidade e criatividade do que sobre alguma disciplina de processo imposta externamente. No Brasil, microempresasmicroempresas (até 10 funcionários) corresponde a 40,5%40,5% e de pequeno portepequeno porte (até 50 funcionários) a 34,7%34,7%*.

Page 7: Personal Software Process Uma Visão Geral Profa. Sandra C. P. F. Fabbri e-mail sandraf@dc.ufscar.br 1o.semestre/1999

Características de uma Pequena Organização de Software

• Querem muito cumprir prazos e cumprir prazos e orçamentosorçamentos, e por razões competitivas querem muitíssimo melhorar sua melhorar sua produtividade e qualidadeprodutividade e qualidade;

• Não possuem recursosNão possuem recursos para investir em tempo adicional, pessoal e planejamento exigidos por qualquer um dos modelos citados;

Page 8: Personal Software Process Uma Visão Geral Profa. Sandra C. P. F. Fabbri e-mail sandraf@dc.ufscar.br 1o.semestre/1999

Características de uma Pequena Organização de Software

• O investimento inicialinvestimento inicial em termos de tempo e esforço provavelmente nãonão será apreciado pelo usuário finalusuário final.

Page 9: Personal Software Process Uma Visão Geral Profa. Sandra C. P. F. Fabbri e-mail sandraf@dc.ufscar.br 1o.semestre/1999

Grande Lacuna

• Seguindo um modelo de gerenciamento de processo de software, as organizações têm alcançado melhorias significativas nos seus processos e modos de trabalho e muitas dessas organizações perceberam que para obter índices melhores dependem do talento talento individualindividual de seus funcionários.

Page 10: Personal Software Process Uma Visão Geral Profa. Sandra C. P. F. Fabbri e-mail sandraf@dc.ufscar.br 1o.semestre/1999

* Segundo a Revista de Qualidade no Setor de Software Brasileito de 1995.

Grande Lacuna (cont.)• Existe um modelo de qualidademodelo de qualidade que atenda

especificamente a pequenas organizações pequenas organizações de softwarede software (75,2%)?*

• E a profissionais liberaisprofissionais liberais e pequenos pequenos terceirosterceiros?

• Um modelo de qualidade que possa ser ensinadoensinado e praticadopraticado por estudantes estudantes e recém-formados na árearecém-formados na área?

Page 11: Personal Software Process Uma Visão Geral Profa. Sandra C. P. F. Fabbri e-mail sandraf@dc.ufscar.br 1o.semestre/1999

Grande Lacuna (cont.)

• Como um grande modelo de qualidadegrande modelo de qualidade poderia ser aplicado no trabalho individualtrabalho individual ou em pequenas equipes de projetopequenas equipes de projeto, onde os profissionais de software pudessem individualmente aplicar princípios do nível nível máximo de capacidade e maturidade máximo de capacidade e maturidade almejadoalmejado?

Page 12: Personal Software Process Uma Visão Geral Profa. Sandra C. P. F. Fabbri e-mail sandraf@dc.ufscar.br 1o.semestre/1999

Uma Grande Promessa

• O Personal Software ProcessPersonal Software Process (PSP) do Software Engineering Institute (SEI) como recurso para melhoria e otimização do melhoria e otimização do processo individual de trabalhoprocesso individual de trabalho.

Page 13: Personal Software Process Uma Visão Geral Profa. Sandra C. P. F. Fabbri e-mail sandraf@dc.ufscar.br 1o.semestre/1999

PSP

• Sugere práticas e métodos para que o próprio indivíduo consiga identificaridentificar e corrigircorrigir seus pontos fracospontos fracos;

• É uma sugestão para organizarorganizar e disciplinardisciplinar os processos individuais e não diminui nem não diminui nem restringerestringe a capacidade criativacriativa dos indivíduos.

Page 14: Personal Software Process Uma Visão Geral Profa. Sandra C. P. F. Fabbri e-mail sandraf@dc.ufscar.br 1o.semestre/1999

PSP• Derivado do CMMCMM;

• O autor deste processo é o mesmo do CMM (W. HumphreyHumphrey);

• Adaptou 12 12 das 18 áreas-chave de processo CMM (KPAKPA) ao trabalho individual de profissionais de software;

• Aplica conceitos importantes de engenharia de engenharia de softwaresoftware em nível individualem nível individual para desenvolver software, e não apenas para codificar programas;

Page 15: Personal Software Process Uma Visão Geral Profa. Sandra C. P. F. Fabbri e-mail sandraf@dc.ufscar.br 1o.semestre/1999

PSP

• Faz uso de um conjunto de sete etapassete etapas sequenciaissequenciais e progressivasprogressivas, onde cada uma dessas etapas possui um conjunto de roteiros, formulários e gabaritos associados;

• É apoiadoapoiado por um livro textolivro texto e um curso curso introdutóriointrodutório oferecido por esse mesmo livro (exercícios de programação e relatórios), principal veículo de aprendizado;

Page 16: Personal Software Process Uma Visão Geral Profa. Sandra C. P. F. Fabbri e-mail sandraf@dc.ufscar.br 1o.semestre/1999

PSP

“À medida que os profissionais de desenvolvimento de software aprendem a medirmedir os seus trabalhos, a analisaranalisar essas medidas e a definirdefinir e atingiratingir metas de metas de melhoriamelhoria, eles passam a enxergar os benefíciosbenefícios de usar o processo definidoprocesso definido e são motivadosmotivados constantemente a utilizá-lo”.

Humphrey

Page 17: Personal Software Process Uma Visão Geral Profa. Sandra C. P. F. Fabbri e-mail sandraf@dc.ufscar.br 1o.semestre/1999

Objetivos do PSP

• Demonstrar os princípiosprincípios do processo individual;

• Determinar a situaçãosituação do processo atual de software individual;

• Desenvolver um processo de planejamentoplanejamento para desenvolvimento de software;

• MedirMedir o tamanho do software como parte do processo de planejamento;

Page 18: Personal Software Process Uma Visão Geral Profa. Sandra C. P. F. Fabbri e-mail sandraf@dc.ufscar.br 1o.semestre/1999

Objetivos do PSP

• Fazer uma estimativaestimativa antecipada do tamanhotamanho do software;

• Fazer uma estimativaestimativa do cronogramacronograma e dos recursosrecursos necessários para o software;

• Realizar mediçõesmedições apropriadas do processo individual;

• Fazer revisõesrevisões significativas de projetoprojeto e códigocódigo;

Page 19: Personal Software Process Uma Visão Geral Profa. Sandra C. P. F. Fabbri e-mail sandraf@dc.ufscar.br 1o.semestre/1999

Objetivos do PSP

• Executar gerenciamento da qualidadegerenciamento da qualidade do software;

• Executar projetoprojeto de software de modo mais mais formalformal;

• VerificarVerificar o projeto usando métodos como máquinas de estados finitosmáquinas de estados finitos e rastreamento rastreamento de programade programa;

Page 20: Personal Software Process Uma Visão Geral Profa. Sandra C. P. F. Fabbri e-mail sandraf@dc.ufscar.br 1o.semestre/1999

Objetivos do PSP• Aumentar a escalaAumentar a escala de PSP para problemas maioresproblemas maiores;• Ajudar a elaborar planos mais precisosplanos mais precisos;• Determinar as etapasetapas necessárias para melhorar a melhorar a

qualidade do produtoqualidade do produto;• Estabelecer um padrãopadrão de referência para se medir

as melhoriasmelhorias do processo pessoal; e• Determinar o impacto das mudançasimpacto das mudanças sobre a

eficiência profissionaleficiência profissional.

Page 21: Personal Software Process Uma Visão Geral Profa. Sandra C. P. F. Fabbri e-mail sandraf@dc.ufscar.br 1o.semestre/1999

Medição Pessoal

Planejamento Pessoal

Qualidade Pessoal

Processo CíclicoPSP3

Desenvolvimento cíclico

PSP2Revisões de códigoRevisões de projeto

PSP2.1Gabaritos de projeto

PSP1Estimativa de tamanho

Relatório de teste

PSP1.1 Planejamento de tarefa

Planejamento de escalonamento

PSP0Processo atual

Registro de tempos e defeitos

PSP0.1Padrão de codificaçãoMedição de tamanho

Proposta de melhoramentodo processo

A Evolução do Processo PSP

Page 22: Personal Software Process Uma Visão Geral Profa. Sandra C. P. F. Fabbri e-mail sandraf@dc.ufscar.br 1o.semestre/1999

PSP0

• O processo de se construir software permanece o mesmomesmo;

• Os profissionais de software aprendem a aplicar os formuláriosformulários e roteirosroteiros do PSP aos seus trabalhos pessoais, medindo temposmedindo tempos e defeitosdefeitos de desenvolvimento, defeitos estes injetadosinjetados ou removidosremovidos.

Page 23: Personal Software Process Uma Visão Geral Profa. Sandra C. P. F. Fabbri e-mail sandraf@dc.ufscar.br 1o.semestre/1999

PSP0.1

• Adiciona um padrão de codificaçãopadrão de codificação, medição medição de tamanhode tamanho e o formulário de Proposta de Melhoramento do Processo (PMPPMP);

• Os profissionais de software registram no PMPPMP os problemasproblemas, os tópicos importantes para discussãodiscussão e argumentaçãoargumentação e as idéiasidéias a serem usadas futuramente, aperfeiçoando assim os seus processos pessoais.

Page 24: Personal Software Process Uma Visão Geral Profa. Sandra C. P. F. Fabbri e-mail sandraf@dc.ufscar.br 1o.semestre/1999

PSP1

• Introduz o Método PROBEPROBE (PROxy-Based Estimating Method) para estimar tamanhosestimar tamanhos e tempostempos de desenvolvimento para novos programas, com base nos próprios dados individuais, utilizando regressão linearregressão linear para calcular parâmetros de estimativa e gera intervalos de confiançaintervalos de confiança para indicar a qualidade da estimativa de tamanhos e tempos.

Page 25: Personal Software Process Uma Visão Geral Profa. Sandra C. P. F. Fabbri e-mail sandraf@dc.ufscar.br 1o.semestre/1999

PSP1.1

• Adiciona o escalonamentoescalonamento e planejamentoplanejamento de tarefastarefas.

Page 26: Personal Software Process Uma Visão Geral Profa. Sandra C. P. F. Fabbri e-mail sandraf@dc.ufscar.br 1o.semestre/1999

PSP2

• Introduz o gerenciamento de defeitosgerenciamento de defeitos.

• Com os dados de defeitos reunidos previamente, os profissionais de software constróem e usam listas de verificaçãolistas de verificação para revisão de projetorevisão de projeto e códigocódigo (checklists).

Page 27: Personal Software Process Uma Visão Geral Profa. Sandra C. P. F. Fabbri e-mail sandraf@dc.ufscar.br 1o.semestre/1999

PSP2.1

• Introduz as técnicas de especificaçãoespecificação de projetoprojeto e análiseanálise em adição à prevenção de prevenção de defeitosdefeitos, análiseanálise e comparação de comparação de processosprocessos;

• Os profissionais de software aprendem a avaliaravaliar e melhorarmelhorar a eficiência individual.

Page 28: Personal Software Process Uma Visão Geral Profa. Sandra C. P. F. Fabbri e-mail sandraf@dc.ufscar.br 1o.semestre/1999

PSP3

• Os profissionais de software combinam múltiplos PSP2.1múltiplos PSP2.1 de uma forma cíclicaforma cíclica para construir módulos com milhares de linhas de código (KLOC);

• Os profissionais exploram os métodos de verificação de projetoverificação de projeto, assim como os princípiosprincípios e métodosmétodos de definição de definição de processoprocesso.

Page 29: Personal Software Process Uma Visão Geral Profa. Sandra C. P. F. Fabbri e-mail sandraf@dc.ufscar.br 1o.semestre/1999

Relacionamento entrePSP e CMM

CMM

PSP

O CMM fornece um ambiente organizadoambiente organizado que os profissionaisnecessitam para fazer um trabalho de grandes proporçõesgrandes proporções e ...

... o PSP equipa os profissionais para fazerem tal trabalho de alta alta qualidadequalidade e participam ativamente no melhoramento do processomelhoramento do processoda organizaçãoda organização.

Page 30: Personal Software Process Uma Visão Geral Profa. Sandra C. P. F. Fabbri e-mail sandraf@dc.ufscar.br 1o.semestre/1999

Nível 1 - Inicial

Nível 2 - RepetitívelGerenciamento de configuração de software

Controle de qualidade de softwareGerenciamento do subcontrato de software

Rastreamento/supervisão do projeto de softwarePlanejamento do processo de software

Gerenciamento dos requisitos

Nível 3 - DefinidoRevisões pelos pares

Coordenação intergrupoEngenharia de produto de software

Gerenciamento integrado de softwarePrograma de treinamento

Definição do processo da organizaçãoEnfoque no processo da organização

Nível 4 - GerenciadoGerenciamento da qualidade de softwareGerenciamento quantitativo de processo

Nível 5 - OtimizadoGerenciamento de mudança de processo

Gerenciamento de mudança de tecnologiaPrevenção de defeitosElementos do PSPElementos do PSP

no CMMno CMM

Page 31: Personal Software Process Uma Visão Geral Profa. Sandra C. P. F. Fabbri e-mail sandraf@dc.ufscar.br 1o.semestre/1999

Conclusões

• O foco principal do PSP é detectardetectar e prevenirprevenir defeitosdefeitos.

• A principal medida de qualidade do PSP é o número de defeitos removidosnúmero de defeitos removidos (defeitos que foram encontrados e corrigidos antes da compilação e teste do programa) que tem como objetivo reduzirreduzir o número de defeitos defeitos encontrados na compilação e testeencontrados na compilação e teste.

Page 32: Personal Software Process Uma Visão Geral Profa. Sandra C. P. F. Fabbri e-mail sandraf@dc.ufscar.br 1o.semestre/1999

Conclusões

• Não há somente ganhos de qualidadeganhos de qualidade com o PSP, mas também ganhos de produtividadeganhos de produtividade.

• O PSP ajuda a definirdefinir novos processos, a planejarplanejar uma tarefa do processo e quanto quanto tempotempo tal trabalho tipicamente levará.

• Incorporação da Disciplina “Introdução ao “Introdução ao PSP”PSP”.