PEDRO HENRIQUE DE OLIVEIRA E SILVA MESTRE EM MODELAGEM MATEMÁTICA E COMPUTACIONAL CMM E CMMI - PDF Download grátis
PEDRO HENRIQUE DE OLIVEIRA E SILVA MESTRE EM MODELAGEM MATEMÁTICA E COMPUTACIONAL CMM E CMMI
Download "PEDRO HENRIQUE DE OLIVEIRA E SILVA MESTRE EM MODELAGEM MATEMÁTICA E COMPUTACIONAL E-MAIL: PEDROHOLI@GMAIL.COM CMM E CMMI"
Zaira de Carvalho Camelo
1 PEDRO HENRIQUE DE OLIVEIRA E SILVA MESTRE EM MODELAGEM MATEMÁTICA E COMPUTACIONAL CMM E CMMI
2 INTRODUÇÃO Aumento da Importância do Software Software está em tudo: Elemento crítico na infraestrutura do mundo Sucessos e Fracassos de Software Conflitos entre Teoria e Prática
3 INTRODUÇÃO Situação Atual da Maioria das Organizações de Software Acúmulo de trabalho Abandono de planos e procedimentos Sucesso depende muito do esforço heroico das pessoas Pouca repetitividade Produto funciona, mas com defeitos; prazo e custo maiores; e menos funcionalidade Clientes e funcionários insatisfeitos
4 INTRODUÇÃO Situação Atual da Maioria das Organizações de Software Demanda por Melhor Qualidade! melhor qualidade inclui: menos prazos, custos, defeitos, insatisfações, mais qualidade dos produtos, previsibilidade, produtividade, competitividade, e melhores resultados de negócio
5 INTRODUÇÃO Situação Atual da Maioria das Organizações de Software Como as empresas de software podem obter a melhoria viável e necessária? Melhoria do Processo de Software baseada em Modelos
6 INTRODUÇÃO Modelos criados pelo SEI (Software Engineering Institute) SEI é um centro de pesquisa e desenvolvimento patrocinado pelo Departamento de Defesa dos Estados Unidos da América que provê uma prática avançada de engenharia de software qualificando graus de qualidade de software. Sua motivação inicial foi apontar as necessidades de melhoria nos projetos de desenvolvimento de software do Departamento de Defesa dos EUA Melhoria de Processo de Software, ou SPI Software Process Improvement, é uma abordagem baseada em processos, para melhoria de uma organização
7 INTRODUÇÃO Processo de Software É o que as pessoas fazem, utilizando procedimentos, métodos e ferramentas, para adquirir, desenvolver, manter e melhorar software e produtos associados Processo: Objetivos Entradas Atividades Saídas Recursos e Infraestrutura
8 INTRODUÇÃO Melhoria Processo de Software Ações realizadas para alterar os processos de uma organização para que eles satisfaçam de forma mais eficiente os objetivos e necessidades de negócio da organização. Uma abordagem para aprender a trabalhar de forma inteligente para desenvolver e manter melhores sistemas de software, mais barato e em menos tempo. [adaptado de A.Dorling, SIMPROS 2001]
9 INTRODUÇÃO Benefícios da Melhoria do Processo de Software Maior visibilidade da execução dos projetos Maior previsibilidade dos resultados Maior produtividade Melhor qualidade do produto Melhor habilidade para gerenciar complexidade Melhor ambiente de trabalho e satisfação das pessoas
10 MODELO DE CAPACIDADE DE PROCESSO Repositório das melhores práticas Referência para estabelecimento de processos Define métrica para avaliação e roteiro sequencial para a melhoria, baseado na capacidade de processo Define o quê deve ser feito, não o como Independente da tecnologia a ser utilizada
11 MODELO DE CAPACIDADE DE PROCESSO Principais Modelos de Capacidade de Processo CMM ou SW-CMM: CMMI : Capability Maturity Model for Software (Modelo de Maturidade da Capacidade) Capability Maturity Model Integration (Modelo Integrado de Maturidade da Capacidade)
12 Baseado em algumas ideias mais importantes do movimento de qualidade industrial das últimas décadas. Descreve elementos chave para melhoria e avaliação do processo de software Princípios inspirados em cincos estágios de maturidade descritos no livro Quality is Free, Crosby [1992]. Feito para empresas que desenvolvem software por encomenda. O CMM foca nos processos, fator com maior potencial de melhoria a curto prazo
13 Níveis do CMM Desenvolvimento de software com a implementação de práticas definidas. Processo baseado em vários pequenos passos Níveis de maturidade: Nível gerenciado Nível definido Processos disciplinados Nível gerenciado quantitativamente Processos padronizados Nível otimizado Processos melhorados continuamente Processos medidos e controlados quantitativamente Nível Inicial Processos ad-hoc
14 Nível 1- Inicial: Não existe repetitividade de processos Em geral, não se cumprem prazos Os projetos custam mais do que o previsto Depende-se de habilidades pessoais As qualidades, procedimentos e o conhecimento pertencem às pessoas Deficiência de planejamento nas organizações Os cronogramas e planos são irrealistas e acabam sendo alterados inúmeras vezes durante o desenvolvimento do software.
15 Nível 2 - Repetitivo: Políticas e procedimentos para gerenciar o desenvolvimento de software existem e são obedecidas. Planejamento formal de novos projetos (baseados em experiência anterior) Os compromissos são assumidos com bases realistas na experiência e nos requisitos documentados O desenvolvimento é acompanhado e os planos revisados quanto aos prazos, custos, estimativas e funcionalidades
16 Nível 2 - Repetitivo: Existem mecanismos formais para corrigir desvios A gestão de requisitos é formalizada para se assegurar que as expectativas do cliente estão sendo atendidas Controla-se o relacionamento com os subcontratados Não há entretanto padronização, o gerenciamento é feito por projeto e os processos podem ser repetidos com resultados previsíveis.
17 Nível 2 - Repetitivo:
18 Nível 2 - Repetitivo: Áreas-chave: Gestão de requisitos: Permite a definição e o controle dos requisitos, evitando descontrole nas mudanças, e um acordo entre stakeholders e desenvolvedores sobre as funcionalidades requeridas no software. Planejamento de projetos: Estabelece planos do projeto, possibilitando a previsão de prazos e custos. Supervisão e acompanhamento de projetos: Verifica o atendimento dos compromissos, comparando o que foi atingido com o que havia sido planejado e acionado providências corretivas sempre que haja desvios significativos.
19 Nível 2 - Repetitivo: Áreas-chave: Gestão da subcontratação: Gerencia as organizações subcontratadas para desenvolver partes do software segundo padrões de qualidade estabelecidos. Grupo de garantia da qualidade: Verifica o comprimento dos compromissos de forma independente em relação aos projetos e verificando a qualidade do processo e dos produtos. Gestão de configurações: Garante a consistência permanente dos resultados dos projetos em relação aos requisitos, mesmo quando ocorrem alterações nos compromissos.
20 Nível 3 - Definido:
21 Nível 3 - Definido: As empresas não repetem simplesmente os sucessos de projetos anteriores Estabelecem um infraestrutura de processos que permite a adaptação de mudanças. Processos técnicos são considerados paralelamente aos gerencias Ferramentas passam a ser aplicadas de forma sistemática, padronizada e coerente O conhecimento a respeito dos processos ainda é basicamente qualitativo. Informações obtidas de projetos anteriores são usada para a gestão de projetos. O processo de software é bem documentado A equipe conhece bem o seu papel dentro do projeto.
22 Nível 3 - Definido: Áreas-chave: Estabelecido um grupo de engenharia de software: Responsável pelas atividades de desenvolvimento, melhoria e manutenção de processos de software. Estabelecido um processo de software no âmbito da organização: Derivação dos processos definidos para os projetos. Programas de Treinamento: Desenvolvimento de novas habilidades técnicas e novos conhecimentos que possam ajudar a realizar o trabalho de cada pessoa de forma mais eficiente. Gestão integrada de projetos: Uso de procedimentos documentados para a gestão de tamanho, esforços, prazos e riscos.
23 Nível 3 - Definido: Áreas-chave: Padronização: Organização dos métodos de engenharia de software, abrangendo requisitos, projeto, codificação, testes e documentação. Coordenação entre os grupos que participam de projetos de sistemas: Organização. Coordenação de revisões no âmbito da organização : Remover e evitar erros.
24 Nível 4 - Gerenciado: Evolução da administração de processos e produtos para um tratamento quantitativo Medidas são coletadas, avaliadas e analisadas continuamente Controle estatístico do processo: a gestão agora é feita com base quantitativas. Riscos envolvidos no aprendizado para desenvolvimento em um novo domínio de aplicações são cuidadosamente gerenciados.
25 Nível 4 - Gerenciado: Áreas-chave: Gestão quantitativa dos processos: Controla o desempenho dos processos usados pelos projetos. Identificação das causas de variações e. de forma apropriadas, corrigi-las. Gestão da qualidade de software: Promover o entendimento quantitativo da qualidade dos produtos de software, aplicando métricas nos produtos de software
26 Nível 5 - Otimizado: Processos em melhoria continua, sendo otimizados para as necessidades de cada momento Identificação de pontos fracos de cada processo Ação de forma proativa para a melhora de cada processo. A organização é capaz de agir de forma preventiva Reduz-se o retrabalho e desperdício Utilização controlada e disciplinada da inovação nos métodos e tecnologias utilizadas Melhorias em processos e tecnologias são planejadas e executadas como atividade de rotina Os defeitos são identificados e resolvidos Causas são estudas para não serem repetidas: Lições aprendidas com erros e acertos são utilizadas nos projetos seguintes.
27 Nível 5 - Otimizado: Áreas-chave: Prevenção de defeitos: Identificação e remoção das causas. Gestão da evolução tecnológica: Procedimentos sistemáticos de identificação, análise e introdução de tecnologias apropriadas de forma eficiente nos projetos. Gestão da evolução tecnológica: Baseado nos dados coletados do processo, colocandoos em melhoria contínua.
28 Conclusão CMM Esta entre os principais modelos de maturidade Exemplo: Contratos de fornecimento de software para a Força Aérea e Marinha Americana é necessário que o fornecedor seja certificado em nível mínimo do CMM. Certificação CMM no Brasil Nº Empresas
SIMPROS 2002 Plano de Melhoria de Processos de Software da ATECH
Plano de Melhoria de Processos de Software da ATECH Recife, Brasil - 10-13/09/2002 - www.sp.senac.br/simpros2002 página 1 Fundação Aplicações de Tecnologias Críticas Atech É uma Instituição que concebe,