PSP - Personal Software Process Maria Cláudia F. P. Emer.
Transcript of PSP - Personal Software Process Maria Cláudia F. P. Emer.
PSP - Personal Software Process
Maria Cláudia F. P. Emer
PSP: Personal Software Process
Já foram vistas– ISO/IEC 9126 – foco no produto– ISO 9001 e CMM – foco no processo de
desenvolvimento
Critica a essas abordagens– Difícil aplicação em pequenas empresas ou no nível
individual
PSP: Personal Software Process
Surgimento do PSP SEI (Software Engineering Institute), por Watts
Humphrey Objetivo ajudar as pessoas a serem
melhores engenheiros de software
PSP: Personal Software Process
Visa melhorar, no nível pessoal:– Capacidade de planejamento– Acompanhamento– Qualidade dos resultados
Benefícios– Melhoria de produtividade– Melhoria do perfil de qualidade dos produtos
Os quatro níveis do PSP
PSP0: Processo referencial (Baseline process)
Estabelecimento de práticas de medidas Formatos de relatórios – base para melhoria
contínua pessoal
PSP0: Processo referencial (Baseline process)
PSP0.1:– Padrões de programação– Práticas de medida de tamanho de produto de
trabalho– Proposta de melhoria de processo (PIP – Process
Improvement Proposal) – registro de problemas nos processos, experiências e propostas de melhoria
PSP1: Processo de planejamento pessoal
Práticas de planejamento Relatório de teste Práticas de estimativa de tamanho e recurso
PSP1: Processo de planejamento pessoal
PSP1.1:– Planejamento de tarefas– Elaboração de cronogramas– O planejamento no nível pessoal permite:
Melhor compreensão do tamanho do programa e tempo gasto no seu desenvolvimento
Assumir compromissos com certeza de seu cumprimento Organizar o trabalho Acompanhar melhor o status do desenvolvimento
PSP2: Processo de gestão pessoal de qualidade
Gerenciamento dos próprios erros Técnicas de inspeção e revisão para detecção
de defeitos– Coleta e análise de dados de defeitos de
compilação e teste detectados em programas anteriores
– Avaliação da evolução do nível de qualidade do programador
PSP2: Processo de gestão pessoal de qualidade
PSP2.1:– Processo de design– Auxilia no estabelecimento de critérios de
completitude e de técnicas de verificação e consistência
PSP3: Processo pessoal cíclico
Subdividir o programa em módulos Desenvolvimento incremental Cada módulo é um ciclo completo de design,
codificação e teste (PSP2) Controle de qualidade de cada módulo Uso de relatórios Testes de regressão
Utilização do PSP
Benefícios concretos para os desenvolvedores [Humphrey 95]:
– Melhor entendimento do trabalho, através da definição, medição e acompanhamento
– Uso de uma estrutura de processos definida e critérios mensuráveis avaliação de experiências anteriores
– Possibilidade de selecionar métodos e técnicas que melhor se adaptem ao trabalho
– Maior produtividade e eficácia nas equipes de desenvolvimento
Utilização do PSP
Princípios que influenciam a produtividade e qualidade do processo de desenvolvimento
– Um processo bem definido e estruturado pode melhorar a eficiência no trabalho
– O processo pessoal deve ser ajustado ao conhecimento e preferência de cada um
– O desenvolvedor se sente à vontade com o processo se participar de sua definição
– Na medida que o conhecimento e habilidade de um profissional evoluem, o processo utilizado deve evoluir
– A melhoria contínua fica facilitada com um processo de realimentação permanente
PSP e CMM
PSP foi criado a partir do CMM A idéia é trazer ao nível de programador os
conceitos de processo tratados pelo CMM
SPICE – ISO/IEC 15504
Maria Cláudia F. P. Emer
SPICE – ISO/IEC 15504
SPICE – Software Process Improvement and Capability dEtermination
Nome dado ao projeto de elaboração da futura norma ISO/IEC 15504
Surgiu pela necessidade de uma norma de avaliação de processo de software
SPICE – ISO/IEC 15504
Objetivo:– Ser mais geral e abrangente que modelos
existentes– Ser mais específica que a ISO 9001
É dividida em duas dimensões:– Processo– Capacidade de processo
Documentos que formam o SPICE
Uso da ISO/IEC 15504
Pode ser usada para avaliação quanto a:– Melhoria de processo
Gerar um perfil dos processos que serão usados em um plano de melhorias
O perfil deve conter objetivos e contexto para avaliação, modelo e método para avaliação e objetivos de melhoria
Uso da ISO/IEC 15504
Melhoria de processo
Uso da ISO/IEC 15504
Pode ser usada para avaliação quanto a:– Determinação da capacidade dos processo de uma
organizaçãoAvaliar um possível fornecedor
Perfil de capacidade – objetivos e métodos de avaliação, modelos e métodos de avaliação e requisitos esperados
O perfil de capacidade permite estimar o risco associado a contratação do fornecedor
Uso da ISO/IEC 15504
Determinação da capacidade
Estrutura do Modelo de Referência
Dimensão de processo– Processos de desenvolvimento são vistos conforme
a norma ISO/IEC 12207 (ciclo de vida de software)
Dimensão de capacidade– Modelo de medição com base na identificação de
um conjunto de atributos que permite determinar a capacidade de um processo para atingir seus propósitos
Dimensão de processos
Três agrupamentos básicos– Processos primários: categorias de engenharia de
software e de ralação cliente-fornecedor– Processo de apoio: categoria de processos de
apoio– Processos organizacionais: categorias de
processos de gestão e processos organizacionais
Dimensão de processos
Cinco categorias de processos– CUS: cliente-fornecedor (customer-supplier)– ENG: engenharia de software (engineering)– SUP: apoio (support)– MAN: gestão (management)– ORG: organizacionais (organization)
Dimensão de processos - primários
Dimensão de processos - Processos primários
Categoria CUS CUS: processos que afetam diretamente o
cliente– CUS.1 processo de aquisição: obtenção de um
produto que satisfaça as necessidades expressas pelo cliente
Preparação para aquisição Seleção do fornecedor Monitoramento do fornecedor aceitação
Dimensão de processos - Processos primários
Categoria CUS– CUS.2 processo de fornecimento: fornecimento
do software para o cliente, satisfazendo suas necessidades
Preparação de um contrato Entrega Instalação do produto
Dimensão de processos - Processos primários
Categoria CUS– CUS.3 elicitação de requisitos: indica coletar,
processar, controlar e acompanhar os requisitos do cliente
Mecanismos de comunicação com o cliente Mecanismos de controle de mudanças de requisitos
Dimensão de processos - Processos primários
Categoria CUS– CUS.4 processo de operação: fazer operar o
software no ambiente de software e hardware para o qual ele foi desenvolvido e fornecer suporte ao cliente
Processo de uso operacional Processo de suporte ao usuário
Dimensão de processos - Processos primários
Categoria ENG ENG: processos relacionados à construção e
manutenção do produto de software– ENG.1 processo de desenvolvimento: objetivo de
transformar os requisitos em um produto de software
Processo de análise de requisitos do sistema Processo de análise de requisitos de software
Dimensão de processos - Processos primários
Categoria ENG– ENG.1 continuação
Processo de projeto de software Processo de construção de software Processo de integração de software Processo de teste de software Processo de integração e teste de sistema
Dimensão de processos - Processos primários
Categoria ENG– ENG.2 processo de manutenção de software e de
sistema: gerenciar modificações, migrações e desativações de software e sistema, a pedido do usuário
Dimensão de processos - Processos apoio
Dimensão de processos – Processo de apoio
Categoria SUP SUP: processos relacionados ao apoio ou
suporte– SUP.1 processo de documentação: desenvolver
e manter documentos que registrem informações produzidas por outro processo ou atividade
Elaboração, controle, manutenção, revisão, aprovação e publicação de documentos e seu acesso
Dimensão de processos – Processo de apoio
Categoria SUP– SUP.2 gestão de configuração: estabelecer e
manter a integridade de todos os produtos de trabalho de algum processo ou do projeto
Estratégia de gestão da configuração Identificação de itens de configuração Controle de acesso e de mudanças de itens Registro da situação de todos os itens Controle do armazenamento e manuseio desse registro
Dimensão de processos – Processo de apoio
Categoria SUP– SUP.3 garantia da qualidade: assegurar que os
produtos de trabalho e atividades de um processo ou projeto estão de acordo com os requisitos especificados e satisfazem aos planos e regras estabelecidos
Estabelecimento de procedimentos para o tratamento de desvios encontrados em relação as regras, procedimentos e padrões
Pode fazer uso de resultados de processos de verificação, validação, revisão conjunta, auditoria e resolução de problemas
Os envolvidos com a garantia de qualidade devem ter autonomia na execução de suas tarefas
Dimensão de processos – Processo de apoio
Categoria SUP– SUP.4 processo de verificação: examinar se cada
produto de trabalho ou serviços obtidos de um processo reflete as especificações de entrada do processo
Definição de uma estratégia de verificação Definição de critérios de verificação A verificação deve assegurar que os defeitos encontrados
serão removidos e que os resultados serão disponibilizados para elementos relevantes
Processo relacionado com os processos ENG1.6 e ENG1.7
Dimensão de processos – Processo de apoio
Categoria SUP– SUP.5 processo de validação: examinar se estão
satisfeitos os requisitos para o uso pretendido de cada produto de trabalho ou serviço, resultado de um processo
Definição de uma estratégia de validação Definição de critérios de validação A verificação deve assegurar que os defeitos encontrados
serão removidos, que os resultados serão disponibilizados para elementos relevantes e que os produtos são adequados para o uso pretendido
Processo relacionado ao processo ENG1.7
Dimensão de processos – Processo de apoio
Categoria SUP– SUP.6 processo de revisão conjunta: permitir ao
cliente a visibilidade do andamento do desenvolvimento quando comparado ao especificado no contrato
Aspectos técnicos e administrativos Realização de revisões periódicas da situação de produtos
e atividades por todas as partes interessadas em datas preestabelecidas
Solução de todas as pendências, problemas e desvios detectados
Dimensão de processos – Processo de apoio
Categoria SUP– SUP.7 processo de auditoria: determinar a
conformidade de produtos identificados e atividades com planos, requisitos e com o contrato
Definição da estratégia de programação da auditoria Especificação dos itens que serão auditados e por quais
regras O pessoal que conduz a auditoria deve ser independente
àquele que executa o desenvolvimento Os problemas detectados devem ser comunicados aos
responsáveis para sua correção
Dimensão de processos – Processo de apoio
Categoria SUP– SUP.8 processo de resolução de problemas:
assegurar que todos os problemas encontrados sejam analisados, resolvidos e que tendências sejam observadas, para planejamento e execução de ações corretivas
Dimensão de processos – Processos organizacionais
Dimensão de processos – Processos organizacionais
Categoria MAN MAN: processos que contêm práticas de
natureza geral– MAN.1 processo de gestão: organizar, monitorar
e controlar a execução de qualquer processo ou função dentro da organização para garantir a satisfação de seus objetivos e dos objetivos de negócio da organização
Planejamento das atividades e dos recursos necessários Análise da viabilidade de se atingir os objetivos
associando às restrições técnicas, de custo e de prazo
Dimensão de processos – Processos organizacionais
Categoria MAN– MAN.2 processo de gestão de projeto: identificar,
estabelecer, coordenar e monitorar atividades, tarefas e recursos necessários para que um projeto produza serviços ou produtos de acordo com requisitos especificados
Definição do contexto de trabalho Realização de análise de viabilidade Produção de estimativas de recursos e esforço necessário
para realização das tarefas
Dimensão de processos – Processos organizacionais
Categoria MAN– MAN.3 processo de gestão da qualidade:
monitorar a qualidade dos produtos e serviços do projeto e garantir a satisfação do cliente
Estabelecimento de metas conforme necessidades explícitas e implícitas dos clientes
Definição de pontos intermediários de verificação Estabelecimento de uma estratégia contendo práticas de
verificação e de garantia de qualidade, monitorando os resultados, comparando-os com as metas estabelecidas e coordenando as correções necessárias
Dimensão de processos – Processos organizacionais
Categoria MAN– MAN.4 processo de gestão de risco: identificar,
analisar, priorizar e monitorar riscos continuamente, desenvolvendo planos de contingência para os mais críticos
Níveis organizacionais e de projeto Definição de uma estratégia de gestão de riscos Monitoramento contínuo dos riscos Análise e priorização dos riscos definição de métricas quantitativas de risco (evolução e
variação) Planejamento e execução de planos de contingência para
prevenção de problemas
Dimensão de processos – Processos organizacionais
Categoria ORG ORG: processos associados às atividades
gerais da organização, desde os objetivos do negócio até a gestão de recursos humanos– ORG.1 processo de alinhamento gerencial:
assegurar que os indivíduos na organização conheçam e entendam o seu papel e trabalhem para alcançar os objetivos de negócio da empresa, e também, compreendam a visão da empresa e sua missão
Dimensão de processos – Processos organizacionais
Categoria ORG– ORG.2 processo de melhoria: estabelecer, medir,
controlar e aperfeiçoar os processos do ciclo de vida de software
Processo para o estabelecimento de processos Processo para a avaliação de processos Processo de melhoria de processos
Dimensão de processos – Processos organizacionais
Categoria ORG– ORG.3 processo de gestão de recursos
humanos: prover para organização indivíduos capacitados para exercer os seus papéis, como indivíduos e em grupo
Avaliação periódica da necessidade de treinamento Verificação da necessidade de recrutamento e contratação Apoio à interação produtiva e harmônica entre grupos Avaliação do desempenho dos profissionais da
organização
Dimensão de processos – Processos organizacionais
Categoria ORG– ORG.4 processo de infra-estrutura: manter de
forma estável e confiável a infra-estrutura necessária para apoiar a execução de outros processos
A infra-estrutura inclui: hardware, software, métodos, ferramentas, técnicas, padrões e facilidade para o o desenvolvimento, operação e manutenção
Dimensão de processos – Processos organizacionais
Categoria ORG– ORG.5 processo de medida: coletar e analisar
dados relacionados aos produtos desenvolvidos e processos implementados na organização, apoiar a sua gestão e demonstrar de forma objetiva a qualidade dos produtos
Dimensão de processos – Processos organizacionais
Categoria ORG– ORG.6 processo de reuso: promover e facilitar o
reuso de produtos de trabalho de software novos ou existentes
Desenvolvimento de estratégia de reuso Identificação de atividades relacionadas Estabelecimento de infra-estrutura de apoio (rede de
computadores, repositórios e gestão de configuração)
Dimensão de capacidade de processo
Estabelece uma escala de capacidade de processo
Seis níveis crescentes Roteiro claro para orientar a melhoria de um
processo Medida de capacidade – atributos de processo
Dimensão de capacidade de processo – descrição dos atributos de processo
Dimensão de capacidade de processo – Níveis
Nível 0: processo incompleto– Processo não implementado– Processo não gera os produtos esperados– Não há atributos de processo
Dimensão de capacidade de processo – Níveis
Nível 1: processo executado– Processo consegue alcançar os objetivos de
alguma forma– Processo gera os produtos esperados– Atributo:
PA 1.1 atributo de execução de processo: transformação de produtos de entrada em produtos de saída e os resultados esperados do processo são alcançados
Dimensão de capacidade de processo – Níveis
Nível 2: processo gerenciado– Processo executado de modo planejado,
controlado, acompanhado, verificado e corrigido– Atributos:
PA 2.1 atributo de execução de processo: mede até que ponto o processo é gerenciado para produzir os produtos que satisfazem ao seu objetivo
– Características: objetivos do processo em termos de qualidade, prazo e uso de recursos identificados, atribuição de responsabilidade pelo produto de trabalho feita, execução do processo é gerenciada
Dimensão de capacidade de processo – Níveis
Nível 2: processo gerenciado– Atributos:
PA 2.2 atributo de gestão dos produtos de trabalho: mede até que ponto os produtos de trabalho são documentados, controlados e verificados
– Características: requisitos dos produtos de trabalho documentados, requisitos para documentação e controle de produtos de trabalho definidos, dependências entre produtos de trabalho estão definidas, os produtos de trabalho têm suas mudanças controladas e são distribuídos em baselines, os produtos são verificados
Dimensão de capacidade de processo – Níveis
Nível 3: processo estabelecido– Processo executado e gerenciado, é definido com
base em princípios de engenharia de software– Atributos:
PA 3.1 atributo de definição de processo: mede até que ponto o processo é definido com base em um processo padronizado
– Características: existe um processo padronizado na empresa, no qual as adaptações podem ser feitas; o processo é executado conforme um processo padronizado ou adaptado de acordo com orientações para adaptações; dados históricos do processo são coletados para auxiliar na compreensão do comportamento estatístico do processo; a experiência acumulada é usada para refinar o processo
Dimensão de capacidade de processo – Níveis
Nível 3: processo estabelecido– Atributos:
PA 3.2 atributo de recursos de processo: mede até que ponto o processo faz uso de recursos humanos e materiais para ser executado com sucesso
– Características: os papéis, responsabilidades e competências necessárias para execução do processo são identificados e documentados; a infra-estrutura necessária para a execução do processo é identificada e documentada; os recursos necessários são alocados e utilizados na execução do processo
Dimensão de capacidade de processo – Níveis
Nível 4: processo previsível– Processo executado, gerenciado e definido, é
executado dentro de limites quantitativos bem definidos
– Atributos: PA 4.1 atributo de medida: mede até que ponto
métricas e objetivos de processo/produto são usados para assegurar que a execução do processo é efetiva, alcançando os objetivos de negócio da empresa
– Características:métricas são identificadas e coletas; as tendências observadas são analisadas; a capacidade de processo é medida
Dimensão de capacidade de processo – Níveis
Nível 4: processo previsível– Atributos:
PA 4.2 atributo de controle de processo: mede até que ponto o processo é controlado por intermédio da coleta, análise e uso de medidas para servir de base para ações corretivas, quando necessário
– Características: técnicas de medida são estabelecidas; características de produto e processo são medidas e usadas como insumo para permitir o controle de processo dentro de limites de variabilidade; o processo é gerenciado de forma quantitativa
Dimensão de capacidade de processo – Níveis
Nível 5: processo em otimização– Processo executado, gerenciado, definido e
executado dentro de limites quantitativos, pode ser mudado e evoluído de maneira dinâmica e sob controle
– Atributos: PA 5.1 atributo de mudança de processo: mede até que
ponto mudanças na definição, gerência e execução do processo são controladas
– Características: impacto de mudança versus objetivos do processo e de seus produtos é avaliado; mudanças realizadas de forma controlada e prevenida; eficácia das mudanças é medida em relação ao planejado
Dimensão de capacidade de processo – Níveis
Nível 5: processo em otimização– Atributos:
PA 5.2 atributo de melhoria contínua: mede até que ponto as mudanças de processo contribuem para melhoria contínua
– Características: metas de melhoria de processo são estabelecidas conforme objetivos de negócio; possíveis fontes de risco e de problemas são identificadas; estratégia de melhoria contínua é estabelecida
Mecanismos de Pontuação
Baseia-se na verificação do grau de satisfação dos atributos de processo
Escala ordenada de quatro valores:– N (not achieved) ou não atendido: 0% a 15%– P (partially achieved) ou parcialmente atendido:
16% a 50%– L (largely achieved) ou largamente atendido: 51% a
85%– F (fully achieved) ou totalmente atendido: 86% a
100%
Nível de capacidade
Processo pontuado em determinado nível se todos os atributos de processo dos níveis inferiores estiverem totalmente atendidos e que os atributos de processo desse nível sejam pelo menos largamente atendidos
Nível de capacidade
Exemplo:PA 1.1 – F PA 3.2 – P
PA 2.1 – F PA 4.1 – L
PA 2.2 – L PA 4.2 – L
PA 3.1 – F PA 5.1 – N
Qual o nível desse processo?
Perfil de nível de capacidade por projeto
Perfil de nível de capacidade por projeto
Situação dos processos ENG1.1, ENG 1.2, ENG 1.3 e ENG 1.4 em vários projetos de uma organização– 40% dos projetos têm o processo em ENG 1.3 no
nível 2– 20% dos projetos têm o processo em ENG 1.4 no
nível 1, 70% no nível 2 e 10% no nível 3
Evoluções recentes
Foram detectados alguns problemas no TR (Technical Report)
Nova estrutura– Prevê a redução do número de partes de nove para
cinco Parte 1: conceitos e vocabulário Parte 2: realização de uma avaliação Parte 3: guia para a realização de uma avaliação Parte 4 guia para a utilização dos resultados de uma
avaliação Parte 5 um modelo-exemplo para avaliação
– Remoção da dimensão de processos