Personal Software Process Uma Visão Geral Profa. Sandra C. P. F. Fabbri e-mail [email protected]...
Transcript of Personal Software Process Uma Visão Geral Profa. Sandra C. P. F. Fabbri e-mail [email protected]...
![Page 1: Personal Software Process Uma Visão Geral Profa. Sandra C. P. F. Fabbri e-mail sandraf@dc.ufscar.br 1o.semestre/1999.](https://reader035.fdocumentos.tips/reader035/viewer/2022062623/552fc0fe497959413d8bb37a/html5/thumbnails/1.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022062623/552fc0fe497959413d8bb37a/html5/thumbnails/2.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022062623/552fc0fe497959413d8bb37a/html5/thumbnails/3.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022062623/552fc0fe497959413d8bb37a/html5/thumbnails/4.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022062623/552fc0fe497959413d8bb37a/html5/thumbnails/5.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022062623/552fc0fe497959413d8bb37a/html5/thumbnails/6.jpg)
* 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.](https://reader035.fdocumentos.tips/reader035/viewer/2022062623/552fc0fe497959413d8bb37a/html5/thumbnails/7.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022062623/552fc0fe497959413d8bb37a/html5/thumbnails/8.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022062623/552fc0fe497959413d8bb37a/html5/thumbnails/9.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022062623/552fc0fe497959413d8bb37a/html5/thumbnails/10.jpg)
* 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.](https://reader035.fdocumentos.tips/reader035/viewer/2022062623/552fc0fe497959413d8bb37a/html5/thumbnails/11.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022062623/552fc0fe497959413d8bb37a/html5/thumbnails/12.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022062623/552fc0fe497959413d8bb37a/html5/thumbnails/13.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022062623/552fc0fe497959413d8bb37a/html5/thumbnails/14.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022062623/552fc0fe497959413d8bb37a/html5/thumbnails/15.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022062623/552fc0fe497959413d8bb37a/html5/thumbnails/16.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022062623/552fc0fe497959413d8bb37a/html5/thumbnails/17.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022062623/552fc0fe497959413d8bb37a/html5/thumbnails/18.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022062623/552fc0fe497959413d8bb37a/html5/thumbnails/19.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022062623/552fc0fe497959413d8bb37a/html5/thumbnails/20.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022062623/552fc0fe497959413d8bb37a/html5/thumbnails/21.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022062623/552fc0fe497959413d8bb37a/html5/thumbnails/22.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022062623/552fc0fe497959413d8bb37a/html5/thumbnails/23.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022062623/552fc0fe497959413d8bb37a/html5/thumbnails/24.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022062623/552fc0fe497959413d8bb37a/html5/thumbnails/25.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022062623/552fc0fe497959413d8bb37a/html5/thumbnails/26.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022062623/552fc0fe497959413d8bb37a/html5/thumbnails/27.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022062623/552fc0fe497959413d8bb37a/html5/thumbnails/28.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022062623/552fc0fe497959413d8bb37a/html5/thumbnails/29.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022062623/552fc0fe497959413d8bb37a/html5/thumbnails/30.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022062623/552fc0fe497959413d8bb37a/html5/thumbnails/31.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022062623/552fc0fe497959413d8bb37a/html5/thumbnails/32.jpg)
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”.