Introdução ao CMMI

O CMMI (Capability Maturity Model Integration) tem sido cada vez mais utilizado por empresas que desejam acompanhar o ritmo da tecnologia com o intuito de suprir as demandas que existem no mercado.

Na imagem temos a ilustração da construção do CMMI

Mas o que é isso? CMMI trata-se de um framework que faz uma descrição das práticas que são usadas em uma organização.

Mas ele não vai descrever qualquer prática. Ele busca fazer a descrição daquelas que a organização utiliza com o intuito de empregar o desenvolvimento.

Através dessa ferramenta o nível de maturidade e capacidade é testado. Isso é necessário para conseguir entender quais as ações que precisam ser colocadas em prática para que essa evolução tenha progresso.

O modelo deve estabelecer as melhorias contínuas e uma avaliação dos processos deve ser feita em lotes pequenos.

Achou interessante o CMMI (Capability Maturity Model Integration)?

Então fique com a gente e descubra tudo sobre esse framework. Quais seus níveis de maturidade, como se aplica com os métodos ágeis e muito mais!

Tabela de Conteúdo

CMMI: entenda o que é?

O CMMI é o acrônimo de Capability Maturity Model Integration que, quando traduzido do inglês, significa Modelo de Capacidade e Maturidade Integrado.

Na verdade, ele contém um conjunto de implementação que é utilizado para práticas que tenham como objetivo alcançar uma meta que foi preestabelecida.

Isso faz com que a maturidade organizacional aumente e ainda ajuda a área de TI a alcançar os resultados esperados. Mas quem desenvolveu o CMMI?

O Software Engineering Institute ou SEI como também é conhecido é o responsável pelo seu desenvolvimento.

O SEI é um departamento de pesquisa que possui ligação com a Universidade Carnegie Mellon. Essa universidade é uma instituição de ensino muito reconhecida nos Estados Unidos e se destaca pelos estudos grandiosos realizados na área de programação e informática.

O CMMI realiza operações de certificações profissionais, treinamentos, avaliações e muito mais. Para que essas operações ficassem centralizadas, a Universidade Carnegie Mellon decidiu criar, em 2012, o CMMI Institute.

Após isso, a empresa ISACA que é a detentora do COBIT, um modelo voltado para a governança em TI, decidiu adquirir o CMMI Institute no ano de 2016.

O desafio que eles possuíam era aprimorar o modelo de forma contínua e ajudar na disseminação global do uso do CMMI pelas organizações.

Para conseguir compreender bem do que se trata o CMMI (Capability Maturity Model Integration) é preciso saber que ele possui três visões que se diferem do modelo CMMI.

Isso é o que consta na versão 2.0 que o CMMI Institute publicou em 2018.

Níveis de maturidade que o CMMI possui

Os níveis de maturidade levam em consideração não apenas o design, mas também o conteúdo do produto. Por esse motivo, a maturidade organizacional possui cinco níveis nesse modelo.

Na imagem, temos os níveis de maturidade do CMMI
Os níveis de maturidade utilizados no CMMI. Fonte: The Process Group

Em cada um deles tem em sua composição práticas que podem ser utilizadas para alcançar a melhoria contínua nos processos.

Nível 1 – Imaturo

Isso quer dizer que a organização encontra-se sem rumo, perdida, quando se trata da abordagem de planejamento, criação de software ou reprodução.

O que está acontecendo nesse nível é que os desenvolvedores encontram um caminho para determinada solução. Entretanto, não há uma abordagem definida para isso.

Então, o que acontece nesse nível? Os produtos vão funcionar normalmente, mas os prazos e orçamentos previamente determinados não serão seguidos.

Nível 2 – Gerenciado

Já é aplicada uma metodologia na empresa e que já está sendo colocada em prática nesse ambiente.

Nesse nível é normal que a empresa busque por profissionais experientes e que sejam capazes de lidar com situações onde é preciso encontrar saídas controladas.

Nível 3 – Definido

Nesse nível a empresa possui processos que são bem entendidos e caracterizados. Mas isso não é tudo, pois também acontece que todos já fazem uso da metodologia de forma mais natural.

Isso se deve ao fato de que esse método de desenvolvimento já está mais enraizado nas pessoas.

O objetivo desses processos é estabelecer que a uniformidade aconteça dentro do contexto da organização.

Nível 4 – Gerenciável quantitativamente

Esse é o nível em que os organizadores já possuem capacidade para estabelecer objetivos quantitativos com o intuito de avaliar a qualidade e o desempenho do processo.

Pode-se utilizar indicadores de performance na construção do software.

Nível 5 – Maduro

Nesse nível a organização já possui práticas bem definidas e que são reproduzíveis e aprimoradas para que o software se desenvolva.

É nesse nível também que a empresa já conta com o PDCA que, na verdade, trata-se de um controle voltado para a melhoria contínua de desenvolvimento daquele software.

Sabe o que significa quando a empresa alcança esse estágio? Que ela já é considerada uma referência no desenvolvimento.

Visões do CMMI

O CMMI (Capability Maturity Model Integration) possui três visões. São elas:

  • Desenvolvimento – Essa visão demonstra quais as melhores práticas que podem ser utilizadas para o desenvolvimento dos melhores serviços e produtos;
  • Serviços – Demonstra quais as melhores práticas a serem aplicadas com o intuito de entregar os melhores serviços;
  • Gestão de Fornecedor – Demonstra quais as melhores práticas que podem ser adotadas para conseguir adquirir os melhores serviços e produtos.

Mas quem pode utilizar essas três visões que o modelo CMMI possui?

Elas podem ser utilizadas por empresas que realizam o desenvolvimento de produtos de software ou hardware, empresas que realizam serviços de TI ou até mesmo outros tipos de serviços.

Mas quais outros tipos de serviços se encaixam nessas visões?

Serviços educacionais e serviços médicos são ótimos exemplos. Há também empresas que realizam o gerenciamento dos fornecedores dos serviços ou produtos.

Por exemplo, os órgãos públicos que fazem a terceirização da prestação de serviços e desenvolvimento de sistemas.

Cada visão pode ser adotada de forma exclusiva? Na verdade, elas não são excludentes, por isso, nada impede que uma empresa decida adotar de forma simultânea as múltiplas visões que o modelo CMMI possui.

Vamos entender como isso funcionaria através de um exemplo prático?

Imagine que uma fábrica de software decide adotar a visão Desenvolvimento que o modelo CMMI possui.

Ela toma essa decisão porque deseja que seus processos de desenvolvimento dos sistemas tenha uma melhora.

Mas se ela quiser também pode adotar a visão com o intuito de ajudar no melhoramento dos processos das operações e sustentação dos sistemas.

Áreas de prática

O modelo CMMI possui diversas práticas e as melhores ficam agrupadas na Áreas de Prática.

Ao verificar a versão 2.0 vemos que há vinte e cinco Áreas de Prática que também podem ser chamadas pelo seu acrônimo, PA (Practice Area).

Dentre essas vinte e cinco áreas de prática que o CMMI possui, dezoito delas pertencem ao grupo das áreas de prática principal.

Todas essas dezoito áreas são comuns a todas as visões que o modelo CMMI possui.

Sabe o que isso quer dizer? Que quando uma empresa coloca como objetivo alcançar qualquer uma dessas visões, ela, necessariamente, precisa atingir todas essas dezoito áreas de prática.

Vamos ver um exemplo para compreender melhor o que estamos falando? É na área EST – Estimativa – que as melhores práticas voltadas à estimativa dos trabalhos de desenvolvimento dos serviços e produtos são estabelecidas.

Essas mesmas estimativas podem ser usadas para a construção de um software novo.

Trabalhos de suporte pequenos e a manutenção desse software após sua colocação em produção também precisam ser estimadas. Tudo isso é feito na área EST.

Em cada visão pode-se observar que possuem áreas de práticas específicas. Se olharmos para a visão DEV – Desenvolvimento – ela conta com duas áreas de prática. Já a visão SVC – Serviços – existem quatro áreas de prática.

Na visão SSP – Gestão de Fornecedor – existem 2 áreas sendo que uma delas pertence ao grupo principal das áreas de prática da área SAM.

Qual a utilidade do CMMI ?

Na verdade, o CMMI (Capability Maturity Model Integration) surgiu graças à evolução do CMM.

A engenharia de software foi quem o desenvolveu e a publicação ocorreu em 1991.

Mas como ocorreu o desenvolvimento dessa ferramenta? O governo dos EUA – Estados Unidos – apresentou uma demanda.

Era preciso compreender as falhas que acontecem nos projetos, que geram custos operacionais e consequente atraso nas entregas e resolvê-las.

Quando se fala no modelo CMMI (Capability Maturity Model Integration) é natural pensar que ele se trata de uma metodologia.

Entretanto, isso não é uma verdade, já que ele não vai ensinar como fazer e muito menos quem deve fazer.

Seu intuito é mostrar o que precisa ser feito para que os níveis de maturidade sejam atingidos.

Sabe quem faz uma avaliação a fim de saber qual o estágio de maturidade que a empresa se encontra? Um profissional devidamente credenciado.

É ele que pode identificar qual o nível e até mesmo as práticas que precisam ser adquiridas para atingir uma evolução.

Sabe quantos modelos eram aplicados às práticas do CMMI até 2018? Somente três modelos, sendo que o último foi a versão 1.3.

Mas tudo muda conforme o tempo passa e o CMMI precisava acompanhar essas mudanças e até melhorar o modelo de avaliação.

Foi devido a essa necessidade que um novo modelo surgiu, o CMMI 2.0.

Que tal conhecer as diferenças que os modelos apresentam?

CMMI for Development

Nesse modelo é feita uma avaliação a fim de encontrar as melhores práticas para que produtos e serviços tenham um desenvolvimento melhor.

CMMI for Acquisition

Esse modelo do CMMI (Capability Maturity Model Integration) avalia quais as melhores práticas que podem ser aplicadas para adquirir produtos e serviços melhores.

CMMI for Service

O CMMI for Service é um modelo que realiza uma avaliação a fim de encontrar as melhores práticas para que os melhores serviços e produtos sejam entregues.

CMMI-Dev

A melhoria dos processos também passa por uma avaliação e o modelo que realiza isso é o CMMI-Dev.

Após a nova versão do CMMI ter sido colocada em prática, a organização possui como responsabilidade apresentar os resultados que são gerados através das ações de melhoria.

Além dessa novidade existe outra muito interessante. Ela contempla mais os conceitos ágeis e também a metodologia Scrum.

Mas qual a avaliação do impacto que os métodos ágeis geram no nível de maturidade?

Esse é um ponto importante que precisa ser bem avaliado, pois é possível fazer com que o nível de desenvolvimento do software aumente.

Também há a possibilidade de estabelecer prazos e custos de forma mais eficiente.

Como o CMMI pode ser aumentado através de práticas ágeis?

O nível do CMMI (Capability Maturity Model Integration) da empresa pode aumentar utilizando-se as práticas ágeis. Mas como isso é possível?

É justamente isso que vamos ver nesse tópico.

Vamos começar pelo nível dois já que esse é aquele que a empresa possui uma metodologia para realizar o gerenciamento do produto.

Nível 2 – Gerenciamento básico dos projetos

Nesse nível é possível aplicar as seguintes práticas Scrum:

  • Criação e gerenciamento do Product Backlog;
  • Definição do plano de versão da entrega;
  • Definição da duração das Sprints;
  • Estabelecimento das métricas que precisam ser consideradas como defeitos, testes, velocidade em ponto e as horas;
  • Definição dos testes automatizados para realizar o teste das Histórias do Usuário.

Nível 3 – Padronizar o processo

Como as práticas Scrum podem ser aplicadas para padronizar o processo? Nesse caso, essas práticas serão aplicadas para:

  • Definir, de maneira formal, quais os papéis e as reuniões do Scrum;
  • Definir, de maneira formal, como será feito o processo da gestão de risco através das reuniões da metodologia Scrum.

Nível 4 – Gerenciamento quantitativo

O Scrum é uma metodologia ágil cujas práticas podem ser aplicadas junto ao CMMI para:

  • Utilização e formalização das métricas como, por exemplo, os defeitos, a velocidade, os testes que foram bem sucedidos para que seja feita uma análise da variação e da tendência. Também é possível realizar a tomada de decisões voltadas às ações corretivas ou preventivas.

Nível 5 – Melhoria contínua

A aplicação das práticas Scrum também podem ser utilizadas para:

  • Identificar, documentar e traçar todo o plano de ação que tenha por objetivo realizar a implementação dos itens de melhoria. Isso é feito utilizando-se as reuniões da retrospectiva das Sprints.
  • Ciclo PDCA.

Conclusão sobre o CMMI

O CMMI (Capability Maturity Model Integration) é um framework de grande importância para as empresas.

Ele pode ser usado em conjunto com a metodologia ágil Scrum para atingir determinados objetivos.

Gostou de conhecer um pouco mais sobre esse framework? Conte-nos o que achou do conteúdo e compartilhe-o nas redes sociais!

Comente

Seu endereço de e-mail não será publicado.