Baixe o app para aproveitar ainda mais
Prévia do material em texto
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE MATURIDADE DO PROCESSO * Qualidade de Processo de Software X Maturidade de Processo de Software A maturidade dos processos de software de uma organização influencia na sua capacidade de atingir metas de custo, qualidade e cronograma A qualidade do processo de software pode ser analisada através do nível de maturidade do processo “The quality of a system or product is highly influenced by the quality of the process used to develop and maintain it” * MODELOS DE QUALIDADE DE PROCESSO DE SOFTWARE • Apresenta de maneira formal a arquitetura do ciclo de vida do software baseando-se na definição dos processos que fazem parte desse ciclo. • Apresenta diferentes visões: • Contrato – Gerenciamento – Operação – Engenharia – Apoio • Arquitetura: ISO 12207 Software Qualidade do Processo Qualidade do Produto (Interna e Externa) Processos Fundamentais Aquisição Fornecimento Desenvolvimento Operação Manutenção Processos Organizacionais Gerência Infra-estrutura Melhoria Treinamento Processos de Apoio Documentação Gerência de Configuação Garantia da Qualidade Verificação Validação Revisão Conjunta Auditoria Resolução de problema Funcionalidade Confiabilidade Usabilidade Eficiência Manutenibilidade Portabilidade * • Aquisição – Define as atividades do adquirente – Definição das necessidades, preparação e emissão de pedido de proposta, seleção do fornecedor e aceitação do produto. • Fornecimento – Define as atividades do fornecedor – Propostas, contratos, gerência e garantia de projetos, desenvolvimento e execução até a entrega do produto. • Desenvolvimento – Define as atividades do desenvolvedor – Análise de requisitos, projeto, codificação, integração, testes, instalação e aceitação do produto. • Operação – Define as atividades do operador – Operação e suporte ao produto. • Manutenção – Define as atividades do mantenedor – Gerenciamento das atividades de manutenção ou adaptação do software. Processos Fundamentais ISO 12207 * • Documentação – Registro das informações do processo do ciclo de vida do software. Produção, edição e distribuição dos documentos técnicos. • Gerência de Configuração – Definição de linhas básicas de atuação do software – modificações e liberações. • Garantia da Qualidade – Verificação da conformidade e aderência dos processos em relação as normas da qualidade. • Verificação – Verificação do atendimento do software aos requisitos e condições acordados. • Validação – Verificação se os requisitos e o produto final atendem ao uso específico proposto. • Revisão Conjunta – Revisões executada no nível de gerenciamento do projeto. • Auditoria – Verificação da adequação do produto aos requisitos, planos e ao contrato. • Resolução de Problemas – Processo para resolução de problemas (incluindo não-conformidades) de qualquer natureza ou fonte, em tempo adequado e de maneira responsável. Processos de Apoio ISO 12207 * • Gerência – Atividades genéricas visando instrumentalizar os responsáveis pelos processos de gerência (do produto e do processo). • Infra-Estrutura – Estabelecer a infra-estrutura necessária para qualquer outro processo (hardware, software, ferramentas, técnicas, padrões e recursos) • Melhoria – Atividades de medição visando a melhoria no processo de software. • Treinamento – Atividades relacionadas ao treinamento de pessoal no desenvolvimento, manutenção e operação do produto. Processos Organizacionais ISO 12207 * Em Nov/86, o Software Engineering Institute (SEI), com a assistência do Mitre Corporation, desenvolveu uma framework de maturidade de processo para auxiliar as organizações na melhoria de seus processos de software Em Set/87, foi apresentada uma descrição da framework e posteriormente expandida no livro de Humphrey - Managing the Software Process 02 Métodos (software process assessment e software capability evaluation) e um questionário sobre maturidade foram desenvolvidos para analisar a maturidade do processo de software Depois de 04 anos de experiência com esta framework, o SEI evoluiu para o Capability Maturity Model para Software (CMM). O CMM apresenta um conjunto de recomendações práticas e um número de “key process areas” mostrando como melhorar a capacidade do processo de software. (The Capability Maturity Model: Guidelines for Improving the Software Process -1995) O CMM é baseado no conhecimento adquirido na avaliação de processos de software e do feedback da indústria e governo CAPABILITY MATURITY MODEL * MATURIDADE DO PROCESSO Processo Disciplinado 1 Inicial 2 Repetitivo 3 Definido 4 Gerenciado 5 Otimizado Processo Consistente, Padronizado Processo Previsível Processo Melhorado Contínuamente CMM CAPABILITY MATURITY MODEL SEI-CMU Ad-Hoc * Nível Descrição 1 Inicial Processo de desenvolvimento é desorganizado, imprevisível e até caótico. O sucesso depende de esforços individuais 2 Repetitivo Estabelecimento de processos básicos, que permitem verificar custos, cronograma e funcionalidade. Possibilidade de repetição de um processo usado em projetos anteriores, que sejam similares 3 Definido Documentação das atividades do processo de desenvolvimento de software, que são padronizadas e integradas. Os projetos de software da organização usam uma versão aprovada e adaptada do processo padrão de desenvolvimento 4 Gerenciado Coleta das medidas da qualidade do produto e processo de desenvolvimento de software. Produto e processo de desenvolvimento são entendidos e mensurados 5 Otimizado Utilização de medidas do processo, e de idéias e tecnologias inovadores, para o melhoramento contínuo do processo MATURIDADE DO PROCESSO * CMM - ESTRUTURA Práticas-Chave Características Comuns Áreas-Chave de Processo * Capability Maturity Model for Software (SW-CMM) People Capability Maturity Model (P-CMM) Software Acquisition Capability Maturity Model (SA-CMM) System Engineering Capability Assessment Model (SE-CMM) Integrated Product Development Team Model (IPD-CMM) Systems Security Engineering Capability Maturity Model (SSE-CMM) OS CMMs Capability Maturity Model Integration Modelo Integrado de Maturidade e de Capacidade * O Projeto CMM Integration foi formado para: Estabelecer uma framework para integrar os modelos atuais e futuros Construir um conjunto inicial de modelos integrados Os modelos que serviram de base: CMM for Software v2.0 Draft C EIA – 731 Systems Engineering IPD CMM (IPD) v0.98a Objetivos Terminologia Comum Estilo Consistente Regras de construção uniforme Componentes Comuns Modelos Representação Contínua – 06 Níveis Representação em Estágios – 05 Níveis CMMI – Capability Maturity Model Integration * CMMI – Capability Maturity Model Integration CMMI – Capability Maturity Model Integration Gerenciamento de Projeto Baseado no CMMI, no ISO/IEC 12207 e 15504 e na realidade do mercado brasileiro. Vantagens custo reduzido de certificação em relação as normas estrangeiras, sendo ideal para micro, pequenas e médias empresas. O MPS.Br é dividido em 3 partes: MR-MPS, MA-MPS, MN-MPS. MR-MPS: Modelo de referência para melhoria do processo de software Apresenta 7 níveis de maturidade (o que é um diferencial em relação aos outros padrões de processo) que são: A - Em Otimização B - Gerenciado quantitativamente C – Definido D - Largamente Definido E - Parcialmente Definido F – Gerenciado G - Parcialmente Gerenciado MELHORIA DO PROCESSO DE SOFTWARE BRASILEIRO http://www.softex.br/mpsBr/_home/default.asp * Cada nível possui áreas de processo, onde são analisados: - Processos Fundamentais (aquisição, gerência de requisitos, desenvolvimento de requisitos, solução técnica, integração do produto, instalação do produto, liberação do produto), Processos Organizacionais (gerência de projeto, adaptação do processo para gerência de projeto, análise de decisão e resolução, gerência de riscos, avaliação e melhoria do processo organizacional,definição do processo organizacional, desempenho do processo organizacional, gerência quantitativa do projeto, análise e resolução de causas, inovação e implantação na organização) Processos de Apoio (garantia de qualidade, gerência de configuração, validação, medição, verificação, treinamento) Na avaliação da Capacidade são analisados os processos, onde cada nível de maturidade possui um número definido de capacidades a serem atendidas. AP 1.1 - O processo é executado AP 1.2 - O processo é gerenciado AP 2.2 - Os produtos de trabalho do processo são gerenciados AP 3.1 - O processo é definido AP 3.2 - O processo está implementado MR-MPS: Modelo de Referência para melhoria do processo de software MELHORIA DO PROCESSO DE SOFTWARE BRASILEIRO * MELHORIA DO PROCESSO DE SOFTWARE BRASILEIRO *
Compartilhar