CMMI: uma visão geral
Veja neste artigo o que é o CMMI (Capability Maturity Model Integration), bem como de que forma organizações podem se beneficiar das diversas práticas sugeridas pelo mesmo.
O CMMI (Capability Maturity Model Integration) foi criado pelo SEI (Software Engineering Institute), o qual é um órgão integrante da universidade norte-americana Carnegie Mellon. Trata-se de um modelo que está atualmente na versão 1.3 (Agosto/2012), com um enfoque voltado para a capacidade de maturidade de processos de software.
Um processo representa, dentro da área de software, um conjunto de atividades cujo objetivo é atingir uma meta previamente estipulada. Já por capacidade e maturidade de um processo, deve-se ter a noção do grau de qualidade com o qual um processo atinge um resultado esperado.
O CMMI está dividido em 5 níveis de maturidade que atestam, por sua vez, o grau de evolução em que uma organização se encontra num determinado momento. Além disso, tem por objetivo principal funcionar como um guia para a melhoria dos processos da organização, considerando para isto atividades como o gerenciamento do desenvolvimento de software, prazos e custos previamente estabelecidos. O objetivo maior, considerando o CMMI e seus diferentes conceitos, está justamente na produção de software com maior qualidade e menos propenso a erros.
Dentre os principais benefícios da implantação do CMMI, vale a pena destacar:
- Uma maior confiabilidade no que refere ao cumprimento de prazos e custos que foram acordados, inicialmente, perante o cliente que solicitou o desenvolvimento de um sistema. Essa previsibilidade é decorrente do rigor que o CMMI exige quanto à medição dos processos, fato este que conduz à obtenção de uma base histórica realista e confiável para estes fins;
- O gerenciamento das atividades relativas à produção de software aumenta consideravelmente;
- Uma maior qualidade nos softwares criados, já que processos bem definidos e controlados conduzem à produção de produtos mais confiáveis;
- A menor dependência da empresa de desenvolvimento para com seus especialistas. Com um foco voltado para processos e melhoria contínua, além do uso intensivo de informações históricas, a organização deixa de depender única e exclusivamente de profissionais com um elevado grau de conhecimento técnico;
- A busca por melhorias contínuas nos processos cotidianos.
Para se conseguir o que este modelo propõe, a organização interessada na implantação do CMMI deverá evoluir progressivamente, considerando para isto uma sucessão de diferentes de níveis. Cada nível indica, por sua vez, o grau de maturidade dos processos num determinado instante:
- Nível 1 - Inicial: os processos normalmente estão envoltos num caos decorrente da não-obediência ou ainda, inexistência de padrões;
- Nível 2 - Gerenciado: os projetos têm seus requisitos gerenciados neste ponto. Além disso, há o planejamento, a medição e o controle dos diferentes processos;
- Nível 3 - Definido: os processos já estão claramente definidos e são compreendidos dentro da organização. Os procedimentos se encontram padronizados, além de ser preciso prever sua aplicação em diferentes projetos;
- Nível 4 - Gerenciado Quantitativamente: ocorre o aumento da previsibilidade do desempenho de diferentes processos, uma vez que os mesmos já são controlados quantitativamente;
- Nível 5 - Otimizado: existe uma melhoria contínua dos processos.
A implantação do CMMI é recomendável para grandes fábricas de software. 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 exigirá, invariavelmente, a realização de vultosos investimentos financeiros, assim como uma mudança de postura da organização (principalmente quando a mesma não contava uma experiência anterior bem-sucedida no gerenciamento de processos). Em inúmeras ocasiões, empresas desenvolvedoras de sistemas recorrem a consultorias especializadas, visando apoio na obtenção da certificação CMMI (fato este que inviabiliza a adoção deste mesmo modelo por pequenas companhias).
Este artigo procurou fornecer uma visão geral a respeito de um modelo adotado por diversas empresas, as quais procuram com o CMMI otimizar diferentes processos que fazem parte de suas atividades de desenvolvimento de sistemas. Com isso se encerra mais um artigo. Até uma próxima oportunidade!
Renato Jose Groffe
Atua como consultor em atividades voltadas ao desenvolvimento de softwares há mais de 10 anos. Bacharel em Sistemas de Informação, com especialização em Engenharia de Software. Microsoft Certified Technology Specialist (Web, WCF, Distributed Applications, ADO.NET, Windows Forms), Microsoft Specialis...



