Guia de Maturidade: CMM, CMMI e Processos ISO 12207
Classificado em Computação
Escrito em em
português com um tamanho de 5,51 KB
1. Cinco Níveis de Maturidade do CMM
Nível 1: Inicial - Processo ad hoc (para isto, o projeto manda no processo e não o contrário; imediatismo) e caóticos (imprevisíveis em custo, prazo e escopo). O sucesso do projeto depende do heroísmo (sacrifício e não profissionalismo) e da competência das pessoas (e não competências da empresa; se perdeu os colaboradores, perdeu a competência) e não de processos estruturados. Há heróis e gurus: dependência de pessoas.
Nível 2: Repetível - A empresa possui um processo de desenvolvimento de software que é repetido a cada projeto. Sucessos e erros praticados em projetos anteriores podem ser repetidos e evitados, respectivamente, em novos projetos. Grande foco na gestão de projetos quanto ao controle do escopo, prazos e custos. As áreas-chave do processo (KPAs) são:
- Gerenciamento de requisitos;
- Planejamento de projetos;
- Acompanhamento e supervisão de projetos;
- Gerenciamento de subcontratação;
- Garantia de qualidade de software (auditoria, monitoramento do projeto);
- Gerenciamento de configuração (controle de versões).
Nível 3: Definido - Há uma forma de gestão de projetos para toda a empresa. Os processos da empresa são bem caracterizados, descritos e entendidos mediante o uso de padrões, procedimentos, ferramentas e métodos. Os processos de desenvolvimento de cada projeto seguem os processos padrões da organização, apesar da necessidade de eventuais customizações. As KPAs são:
- Revisões;
- Coordenação de intergrupos;
- Engenharia de produto de software;
- Gerenciamento de software integrado;
- Programa de treinamento;
- Definição e foco no processo da organização.
Nível 4: Gerenciado - A empresa usa métricas (produtividade e qualidade), métodos estatísticos e quantitativos para controlar os esforços de desenvolvimento de software. As KPAs são:
- Gerenciamento da qualidade de software (definição das métricas);
- Gerenciamento quantitativo do processo (indicadores dos processos).
Nível 5: Otimizado - Foco no contínuo progresso do desempenho dos processos mediante o emprego de melhorias de inovação tecnológica e incremental. A adoção destas melhorias é medida e acompanhada de modo a garantir um incremento real na melhoria dos processos. As KPAs são:
- Gerenciamento da mudança no processo (critério para selecionar um projeto e monitorar a adoção de uma nova ferramenta);
- Gerenciamento da mudança tecnológica;
- Prevenção de defeitos (monitorar através de ferramentas os processos existentes).
2. Modelos CMMI e Aplicabilidade
- CMMI-DEV: Aplicável ao processo de desenvolvimento de produtos e serviços.
- CMMI-ACQ: Aplicável aos processos de aquisição e terceirização de produtos e serviços.
- CMMI-SVC: Aplicável aos processos e empresas prestadoras de serviços.
KPAs por Nível:
- Nível 1: Sem KPAs;
- Nível 2: Acompanhamento e controle do projeto;
- Nível 3: Desenvolvimento de requisitos e modelagem;
- Nível 4: Gerenciamento quantitativo de projeto (gestão por métricas e indicadores para monitorar o progresso por projeto);
- Nível 5: Análise causal e resolução (quem sugeriu adotar a ferramenta tem que justificar sua adoção, seja ela boa ou ruim, para evitar a implementação excessiva de ferramentas sem critério).
3. ISO 12207: Categorias de Processos
Processos Primários:
- Aquisição: Análise da necessidade da aquisição, análise da proposta, seleção de fornecedor, gerenciamento da aquisição e validação do software;
- Fornecimento: Elaboração de proposta, assinatura de contrato, determinação dos recursos, planejamento do projeto e entrega do software;
- Desenvolvimento: Análise de requisitos, projeto, codificação, integração, testes, instalação e aceitação do software;
- Operação: Operação do software e suporte ao usuário;
- Manutenção: Modificações no software (corretivas, evolutivas, adaptativas e preventivas).
Processos de Apoio: Estão entre a construção do software e a administração geral.
- Documentação: Da análise e modelagem ao usuário final e manuais de operação;
- Gerência de Configuração: Controle de todos os releases e branches do sistema;
- Garantia da Qualidade: Auditoria interna para garantir aderência aos processos;
- Verificação: Testes unitários e de integração;
- Validação: Testes formais com o cliente frente às funcionalidades contratadas;
- Revisão Conjunta: Revisão pelos pares em todas as etapas do processo;
- Auditoria: Auditoria externa para check e validação dos processos adotados;
- Resolução de Problemas: Frente apta a tomar decisões que envolvam altos custos de investimento e problemas de natureza estratégica e mercadológica.