730 likes | 877 Views
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.
E N D
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
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
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 - 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 – 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 • 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