Sabia que existe uma maneira de classificar o jeito de que você faz software?
Nesse vídeo eu vou te mostrar que o seu processo de desenvolvimento de software pode ser maduro ou imaturo.
Vamos conversar sobre o que é CMMi e como isso impacta as entregas de software que fazemos.
O Que É CMMi?
Sem mais delongas, o que é CMMi?
CMMI vem de Capability Maturity Model Integration (Modelo Integrado de Maturidade em Capacitação) e é um processo e modelo de comportamento que ajuda organizações a otimizar melhoria de processo e encoraja comportamentos eficientes e produtivos, que reduzem riscos em software, produto e desenvolvimento de serviço.
O modelo de referência contém práticas (Genéricas ou Específicas) necessárias à maturidade em disciplinas específicas:
- Systems Engineering (SE – Engenharia de Sistemas)
- Software Engineering (SW – Engenharia de Software)
- Integrated Product and Process Development (IPPD – Desenvolvimento Integrado de Processo e Produto)
- Supplier Sourcing (SS – Seleção de Fornecedores)
Um Pouco De História
O CMM surgiu durante a década de 1980 como um modelo para avaliação de risco na contratação de empresas de software pelo Departamento de Defesa dos Estados Unidos (DOD).
Ela precisava avaliar os processos de desenvolvimento utilizados pelas empresas que concorriam em licitações com base na qualidade, custos e prazos dos projetos contratados.
Para desenvolver esse processo, o DOD constituiu junto com a Universidade Carnegie-Mellon o SEI (Software Engineering Institute).
A partir de 1991, foram desenvolvidos CMMs para várias disciplinas.
Embora estes modelos tenham mostrado sua utilidade, o uso de múltiplos modelos se mostrou problemático.
O CMMI foi desenvolvido para combinar múltiplos modelos de maturidade de negócios em uma estrutura.
Os Níveis Do CMMi
O CMMi possui duas representações: continua ou por estágios. Elas permitem a organização utilizar diferentes caminhos para a melhoria de acordo com o seu interesse.
Na época em que estudei e participei de processos de certificação CMM existia somente a representação por estágios, portanto vou focar nela.
A representação por estágios é caracterizada por Níveis de Maturidade (Maturity Levels).
- Nível 1 – Inicial: imaturidade organizacional. É aqui que todo mundo começa. É o nível dos “heróis”, ou seja, a empresa depende do conhecimento de seus colaboradores para conseguir entregar os projetos. Documentação e processos, quando existem, são insuficientes.
- Nível 2 – Gerenciado: políticas e procedimentos para gerenciar o desenvolvimento de software estão definidas e são obedecidas. Neste nível o “sucesso” dos projetos entregues podem ser repetidos. Existe um processo documentado e que pode ser seguido por qualquer um da organização.
- Nível 3 – Definido: os processos utilizados são estabelecidos e padronizados em toda a organização.
- Nível 4 – Quantitativamente Gerenciado: são estabelecidas metas quantitativas para os processos e produtos, medidas de qualidade e produtividade são coletadas em todos os projetos; é estabelecido controle estatístico de processos. Aqui métricas são colhidas e utilizadas para controlar o andamento dos processos.
- Nível 5 – Otimização: a organização está engajada na melhoria contínua de seus processos. A partir de métricas definidas, o processo de desenvolvimento é melhorado.
Palavras Finais
Hoje vimos o que é CMMi, um modelo de referência que contém práticas necessárias para maturidade do processo de desenvolvimento de software.
A implantação do CMMI é recomendável para grandes fábricas de software.
A primeira vista pode parecer simples, mas implementar os diversos estágios é uma tarefa árdua, não só numa fase inicial, mas também quando se leva em conta a migração de um nível para outro.
Isto exige a realização de grandes investimentos financeiros, assim como uma mudança de postura da organização (cultura).
Meu e-book Como Aprender a Programar do Absoluto Zero está GRATUITO por tempo limitado!
Olha o link: 👉🏼 http://celsokitamura.com.br/como-aprender-a-programar
Bora aprender a programar!