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ção
Avaliar 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
Download

Dimensão de processos