Galeria de mapas mentais Maturidade de Processo de Software: Níveis e Características no CMM
Este mapa mental, criado com o EdrawMind, explora a maturidade de processo de software segundo o CMM (Capability Maturity Model). Ele detalha os cinco níveis de maturidade, desde o inicial (inicial, ad-hoc) até o otimizado, descrevendo características comportamentais e capacidades de projeto associadas a cada estágio. O modelo ajuda a identificar a evolução na qualidade do processo, desde a realização de estratégias até a melhoria contínua, fornecendo uma visão estruturada para organizações buscando excelência em desenvolvimento de software.
Editado em 2023-09-28 16:16:28CMM
O CMM foi projetado para guiar as organizações de software no processo de seleção das estratégias de melhoria, determinando a maturidade atual do processo e identificando as questões mais críticas para a qualidade e melhoria do processo de software.
OS CINCO NÍVEIS DA MATURIDADE DE PROCESSO DE SOFTWARE
- Inicial: Os processos são imprevisíveis, desorganizados e reativos. Não há controle de processos. - Repetível: Os processos são planejados e executados de maneira mais disciplinada. Há controle básico de projetos. - Definido: Os processos são padronizados e documentados. Há um foco na melhoria contínua e na padronização das práticas organizacionais. - Gerenciado: Medidas detalhadas do processo de software e da qualidade do produto são realizadas. O processo e os produtos de software são quantitativamente compreendidos e controlados. - Em Otimização: A organização busca constantemente melhorias em seus processos por meio de inovação e otimização contínua.
CARACTERIZAÇÃO COMPORTAMENTAL DOS NÍVEIS DE MATURIDADE
Nível 1 (Inicial): Nesse estágio, a organização não oferece um ambiente estável para o desenvolvimento de software. A falta de práticas de gestão eficazes leva a planejamento ineficiente e compromissos reativos. O desempenho depende das habilidades individuais, e os processos de software são instáveis. Nível 2 (Repetível): Aqui, as políticas de gestão de projetos de software são estáveis, baseadas na experiência de projetos anteriores. O foco está na institucionalização de processos para repetir práticas bem-sucedidas, mesmo que os projetos tenham processos específicos diferentes. O processo é habilidoso, documentado e passível de melhorias, com controles básicos de gestão de software. Nível 3 (Definido): No nível definido, a organização documenta seu processo padrão de desenvolvimento e manutenção de software, integrando desenvolvimento e gestão de processos. Existe uma equipe dedicada às atividades de processo de software, e um programa de treinamento é implementado. A padronização leva à prática de engenharia de software eficaz. Nível 4 (Gerenciado): Aqui, a organização estabelece metas quantitativas para qualidade em processos e produtos de software. A medição é fundamental, com um banco de dados para coletar e analisar dados de processos em toda a organização. Processos são instrumentados com medições consistentes. Nível 5 (Em Otimização): A organização busca constantemente melhorias de processo, com foco na prevenção de falhas. Os dados sobre efetividade são usados para análises de custo-benefício de novas tecnologias e mudanças. Inovações das melhores práticas de engenharia de software são transferidas para toda a organização.
CAPACIDADE DO PROJETO E A PREVISÃO DE DESEMPENHO
1. A variação dos resultados reais em relação aos resultados esperados diminui à medida que a maturidade cresce. Isso significa que projetos em organizações de Nível 1 têm datas de entrega imprevisíveis e variáveis, enquanto em organizações de Nível 5, os projetos são entregues dentro de um intervalo de tempo menor, devido ao controle de parâmetros. 2. Os resultados esperados melhoram à medida que a maturidade da organização aumenta. Isso implica que os custos diminuem, o tempo de desenvolvimento é reduzido, e a produtividade e qualidade aumentam à medida que a organização amadurece. 3. A detecção antecipada de defeitos contribui para a estabilidade e desempenho do projeto, eliminando retrabalho nas fases posteriores. A gestão de riscos é uma parte integrante da gestão de projetos em um processo maduro, permitindo identificar problemas mais cedo no ciclo de vida do software.
ÁREAS-CHAVE DE PROCESSO
No Nível 2, as áreas-chave de processo incluem: 1. **Gestão de Requisitos:** Estabelece um entendimento comum entre cliente e equipe sobre os requisitos, fundamental para o planejamento e controle de mudanças nos requisitos. 2. **Planejamento de Projeto de Software:** Objetiva criar planos realistas para a gestão e desenvolvimento do projeto, essenciais para sua execução adequada e controle. 3. **Acompanhamento e Supervisão de Projeto de Software:** Busca garantir visibilidade adequada sobre o progresso real do projeto, permitindo ação efetiva diante de desvios significativos. 4. **Gestão de Subcontratação de Software:** Envolve a seleção e gerenciamento eficaz de subcontratados qualificados, com foco na qualidade e configuração do software. 5. **Garantia de Qualidade de Software:** Proporciona visibilidade dos processos e produtos desenvolvidos, integrada à gestão e desenvolvimento de software para garantir qualidade ao longo do ciclo de vida do projeto. 6. **Gestão de Configuração de Software:** Estabelece e mantém a integridade dos produtos de software durante o ciclo de vida, garantindo o controle consistente dos artefatos do projeto. No Nível 3, as áreas-chave de processo são: 1. **Foco nos Processos da Organização:** Define responsabilidades organizacionais para melhorar a capacidade dos processos da organização, resultando em recursos de processo de software utilizados pelos projetos. 2. **Definição do Processo da Organização:** Desenvolve e mantém recursos de processo de software para melhorar o desempenho dos processos em projetos, com benefícios a longo prazo. 3. **Programa de Treinamento:** Desenvolve habilidades e conhecimentos individuais para tarefas eficazes, com treinamento responsabilidade organizacional e identificação de necessidades específicas do projeto. 4. **Gestão Integrada de Software:** Integra gerenciamento e desenvolvimento em um processo de software personalizado, adaptado às necessidades técnicas e de negócios do projeto. 5. **Engenharia de Produto de Software:** Realiza consistentemente o processo de engenharia que integra todas as atividades de desenvolvimento de software para produzir produtos de alta qualidade de maneira eficiente. 6. **Coordenação Intergrupos:** Estabelece a colaboração do grupo de desenvolvimento de software com outros grupos para atender eficientemente às necessidades do cliente. 7. **Revisão por Pares:** Remove defeitos de software de maneira eficiente e precoce, desenvolvendo um melhor entendimento sobre produtos e defeitos evitáveis. No Nível 4, as áreas-chave de processo incluem: 1. **Gestão Quantitativa do Processo:** Controla quantitativamente o desempenho do processo de desenvolvimento de software, com medições detalhadas e correção de variações. 2. **Gestão da Qualidade de Software:** Desenvolve uma compreensão quantitativa da qualidade dos produtos de software e estabelece metas específicas de qualidade por meio de medições. No Nível 5, as áreas-chave de processo são: 1. **Prevenção de Defeitos:** Identifica causas de defeitos e toma medidas para evitá-los, com análise e implementação de mudanças no processo, estendendo melhorias para outros projetos. 2. **Gestão de Alteração de Tecnologia:** Identifica e incorpora novas tecnologias de forma organizada, focando na inovação eficiente. 3. **Gestão de Alteração de Processo:** Promove melhoria contínua em toda a organização, com melhorias incrementais e inovadoras disponíveis para toda a organização.
PULANDO DE NÍVEIS DE MATURIDADE
As organizações de Nível 1 ou Nível 2 podem ser capazes de realizar revisões por pares (Nível 3), fazer análise de Pareto (Nível 4) ou experimentar novas tecnologias (Nível 5) proveitosamente. Ao prescrever os passos que uma organização deveria trilhar para passar do Nível 1 para o Nível 2, frequentemente uma das recomendações é estabelecer um conjunto de processos de desenvolvimento de software; isso é que é um atributo das organizações de Nível 3. Embora seja o foco do Nível 4, “medição” também é parte integrante dos níveis de maturidade mais baixos. Entretanto, esses processos não podem alcançar seus potenciais completos antes que uma base adequada seja estabelecida.