domingo, 2 de maio de 2021

Níveis de capacidade do CMMI

No modelo CMMI, os níveis de capacidade suportam a representação contínua e aplicam-se a organizações que buscam melhorias em seus processos em uma área individual. Há quatro níveis de capacidade numerados de 0 a 3.

0. Incomplete - Incompleto
1. Performed - Executado
2. Managed - Gerenciado
3. Defined - Definido

 

 

De acordo com SEI (2010, p. 36-37), um nível de capacidade para uma PA é alcançado quando todas as metas genéricas estão satisfeitas até aquele nível. Os níveis são detalhados como se segue.

Nível de capacidade 0: Incomplete (Incompleto)

Um processo é incompleto se ele não foi executado ou foi apenas parcialmente executado. Uma ou mais metas específicas da PA não foram satisfeitas e nenhuma meta genérica existe neste nível.

Nível de capacidade 1: Performed (Executado)

A capacidade de nível 1 é caracterizada como um processo executado, que indica que o processo realiza o trabalho necessário para produzir os produtos daquela atividade e que as metas específicas da PA estão satisfeitas.

Embora a capacidade de nível 1 representa importantes melhorias, estas podem ser perdidas ao longo do tempo se não forem institucionalizadas. A aplicação da institucionalização ajuda que estas melhorias sejam mantidas.

Nível de capacidade 2: Managed (Gerenciado)

A capacidade de nível 2 é caracterizada como um processo gerenciado. Um processo gerenciado é um processo executado que é planejado e executado de acordo com uma política, emprega pessoas com recursos adequados para produzir saídas controladas, envolve importantes stakeholders, é monitorado, controlado e revisado e, ainda, é avaliado para saber se é aderente à descrição do processo.

Nível de capacidade 3: Defined (Definido)

A capacidade de nível 3 é caracterizada como um processo definido. Um processo definido é um processo gerenciado que é customizado a partir do conjunto de processos padronizados da organização, possui uma descrição de manutenção e contribui para os ativos de processos da organização.

Uma diferença crítica entre os níveis de capacidade 2 e 3 reside no escopo dos padrões, nas descrições dos processos e nos procedimentos associados. No nível 2 estes quesitos podem ser bastante diferentes em cada instância específica de um processo. No nível 3 estes quesitos são customizados a partir dos padrões organizacionais para se ajustar a um grupo de trabalho em particular ou a uma unidade organizacional e, portanto, são mais consistentes. Além disso, os processos no nível 3 são descritos com mais rigor que no nível 2. Um processo definido claramente define o propósito, as entradas, os critérios de entrada, as atividades, as regras, as medições, os passos de verificação, as saídas e os critérios de saída.

sábado, 1 de maio de 2021

Níveis de maturidade do CMMI

No modelo CMMI, os níveis de maturidade suportam a representação por estágio e representam um caminho evolucionário para que uma organização possa aprimorar os processos correspondentes a um dado conjunto de PAs. Há cinco níveis de maturidade numerados de 1 a 5:

  1. Initial – Inicial ou ad hoc
  2. Managed – Gerenciado
  3. Defined – Definido
  4. Quantitatively managed – Quantitativamente gerenciado
  5. Optimizing – Em otimização

De acordo com SEI (2010, p. 38) um nível de maturidade é uma escala evolucionária definida para a melhoria dos processos organizacionais. Cada nível de maturidade representa um subconjunto de processos da organização que foram alcançados, preparando-a para o próximo nível de maturidade. Os níveis de maturidade são medidos pelo atingimento de metas específicas e genéricas associadas em cada conjunto de áreas de processo predefinido.

Os cinco níveis indicam uma sequência lógica para que os processos evoluam na medida em que estes satisfaçam as exigências do modelo (veja o Gráfico 2). Do ponto de vista de quem compra o serviço de organizações certificadas, os níveis permitem que possa ser realizada uma comparação entre fornecedores distintos visando avaliar em qual nível as empresas operam. Uma avaliação externa realizada por um avaliador credenciado permite que as organizações determinem estes níveis e divulguem para o mercado a maturidade em que seus processos se encontram.

Modelos CMMI são projetados para descrever níveis discretos de melhorias de processos. Na representação por estágios, os níveis de maturidade fornecem uma ordem recomendada para acessar melhorias de processos em estágios. Os níveis de maturidade organizam as áreas de processo.


A representação por estágios provê um caminho de melhorias do nível de maturidade 1 até o 5 que envolve o alcance de metas das PAs de cada nível de maturidade. A Tabela mostra o agrupamento de PAs de cada nível de maturidade no modelo CMMI-SVC. No nível 1 não há PAs, e a PA denominada SSD (service system development) é adicional.
Tabela - Áreas de processos por nível de maturidade no CMMI-SVC
Configuration Management CM 2   Organizational Process Definition OPD 3
Measurement and Analysis MA 2   Organizational Process Focus OPF 3
Process and Product Quality Assurance PPQA 2   Organizational Training OT 3
Requirements Management REQM 2   Risk Management RSKM 3
Supplier Agreement Management SAM 2   Service Continuity SCON 3
Service Delivery SD 2   Service System Development SSD 3
Work Monitoring and Control WMC 2   Service System Transition SST 3
Work Planning WP 2   Strategic Service Management STSM 3
Capacity and Availability Management CAM 3   Organizational Process Performance OPP 4
Decision Analysis and Resolution DAR 3   Quantitative Work Management QWM 4
Incident Resolution and Prevention IRP 3   Causal Analysis and Resolution CAR 5
Integrated Work Management IWM 3   Organizational Performance Management OPM 5
Fonte: SEI (2010, p. 49)

Por exemplo, no nível de maturidade 2, há um conjunto de PAs que uma organização pode usar para guiar seu curso de melhoria até que consiga alcançar as metas de todas essas áreas de processo. Uma vez que atinja o nível 2, a organização concentra seus esforços nas PAs do nível 3 e assim por diante.

 

 

Agora, detalharemos cada um dos níveis de maturidade com base em SEI (2010, p. 39-46).

Nível de maturidade 1: Inicial

No nível de maturidade 1, os processos são geralmente informais (ad hoc) e caóticos e a organização também não fornece um ambiente estável para suportar processos. O sucesso neste tipos de empresa depende mais da competência e de atos individuais de colaboradores e menos da utilização de processos comprovados. Embora o ambiente seja desorganizado, organizações em níveis de maturidade 1 podem produzir produtos e serviços que funcionam, mas raramente cumprem os prazos e os custos previstos nos projetos, frequentemente extrapolando-os. Em função disto, essas organizações tendem a não cumprir seus compromissos, costumam abandonar os processos em tempos de crise e ainda não conseguem repetir o sucesso alcançado em projetos anteriores.

Nível de maturidade 2: Gerenciado

No nível de maturidade 2, grupos de trabalho estabelecem as bases para que a organização se torne uma efetiva provedora de serviços. Os grupos de trabalho definem uma estratégia de serviços, criam planos de trabalho, monitoram e controlam o trabalho de forma a garantir que o serviço seja entregue como planejado. Acordos com os clientes são estabelecidos e os requisitos acordados são gerenciados.

No nível de maturidade 2, grupos de trabalho, grupos de atividades, processos, produtos de trabalho e serviços são controlados e os processos são planejados de acordo com uma política. Para executar os processos, a organização fornece recursos adequados, atribui responsabilidades para a sua execução, capacita pessoas e buscar garantir que os produtos de trabalho dos processos estão dentro de níveis de configuração de gerenciamento adequados.

Em outras palavras, as organizações buscam garantir que requisitos de projetos sejam gerenciados e que processos sejam planejados, executados, medidos e controlados. No nível de maturidade 2, a disciplina de processos contribui para que as práticas existentes sejam mantidas durante tempos de crise e que os projetos sejam executados e gerenciados de acordo com o planejamento e a documentação.

O estágio de desenvolvimento dos produtos e o estado em que se encontra a entrega de serviços são passíveis de serem controlados em pontos predefinidos. Compromissos são estabelecidos entre os principais stakeholders e são revisados quando necessário, visando garantir que sejam cumpridos. Os produtos e serviços mantêm a conformidade com os requisitos, padrões e objetivos especificados.

Nível de maturidade 3: Definido

No nível de maturidade 3, a organização utiliza processos definidos para o gerenciamento do trabalho, os quais incorporam melhores práticas de gerenciamento de serviços, como continuidade de serviços, resolução e prevenção de incidentes. A organização verifica se os produtos estão de acordo com os requisitos e realiza sua validação de forma a garantir que atendam às necessidades de clientes e usuários finais.

Neste nível, a organização alcançou metas específicas e genéricas das áreas de processo atribuídas aos níveis 2 e 3, e os processos são bem caracterizados e entendidos, sendo descritos como padrões, procedimentos, ferramentas e métodos.

Uma distinção importante entre o nível de maturidade 2 e 3 está no escopo de padrões, descrições de processos e procedimentos. No nível de maturidade 2, os padrões, descrições de processos e procedimentos podem ser bastante diferentes em cada instância específica do processo. No nível de maturidade 3, os padrões, descrições de processos e procedimentos para um projeto são ajustados para atender a um grupo de trabalho ou unidade organizacional em particular e são mais consistentes, exceto para diferenças permitidas.

Outra distinção é que, no nível de maturidade 3, processos são tipicamente descritos em mais detalhes e mais rigorosamente que no nível 2. No nível 3, processos são gerenciados mais proativamente usando um entendimento das atividades dos processos e medidas detalhadas dos processos, seu produto e seus serviços. Um processo definido claramente tem um objetivo, entradas, critérios de entrada, atividades, medidas, regras, passos de verificação, saídas e critérios de saída.

Nível de maturidade 4: Gerenciado

No nível de maturidade 4, a organização estabelece objetivos quantitativos para qualidade e desempenho de processo e os utiliza como critério para o gerenciamento de processos. Os objetivos quantitativos são baseados nas necessidades dos clientes, dos usuários finais, da organização e dos implementadores dos processos. Qualidade e desempenho de processo são definidos com base em termos estatísticos e gerenciados através do ciclo de vida dos processos.

Neste nível de maturidade, a organização já alcançou todas as metas específicas das áreas de processo determinadas para os níveis de maturidade 2, 3 e 4 e as metas genéricas dos níveis de maturidade 2 e 3.

Os subprocessos que contribuem de forma significativa para o desempenho dos processos são escolhidos para serem aplicados. Estes subprocessos são controlados usando técnicas estatísticas e técnicas quantitativas e são coletadas medidas detalhadas do desempenho dos processos, de forma que possam ser estatisticamente analisadas. Isso permite que ocorrências de variações indesejadas sejam identificadas e corrigidas, visando evitar que ocorram novamente. Baselines e modelos de desempenho podem ser utilizados para ajudar na definição dos objetivos de qualidade e performance, ajudando a atingir os objetivos de negócios.

As medidas de qualidade e desempenho de processos coletadas são armazenadas, de forma que possam ser utilizadas pelo corpo gestor da organização para dar suporte às tomadas de decisões, com base nos fatos e dados reais. Há uma distinção entre os níveis 3 e 4: no nível 4, o desempenho de processos é controlado usando técnicas estatísticas e quantitativas, sendo quantitativamente previsível, o que não ocorre no nível 3.

Nível de maturidade 5: Em otimização

No nível de maturidade 5, a organização continuamente melhora seus processos com base em um entendimento quantitativo das necessidades e objetivos do negócio. A organização utiliza a abordagem quantitativa para entender a variação inerente nos processos e as causas dos efeitos destes processos.

No nível 5 a organização alcançou todas as metas específicas das áreas de processo determinadas para os níveis 2, 3, 4 e 5 e metas genéricas determinadas para os níveis 2 e 3. Os processos são melhorados de forma continuada com base em dados quantitativos.

O nível 5 centra esforços na melhoria contínua de desempenho dos processos através de melhorias incrementais que buscam a utilização de inovação tecnológica. Os objetivos quantitativos para a melhoria dos processos são definidos e continuamente revisados para que mudanças de objetivos de negócios possam ser contempladas. Esses critérios de melhoria são aplicados aos processos, e estes são medidos e avaliados para que se verifique se os objetivos quantitativos de melhoria foram atingidos.

As melhorias a serem implantadas são escolhidas com base no aspecto quantitativo, ou seja, no quanto contribuem para alcançar os objetivos de melhoria em comparação a quanto custarão e a quanto impactarão na organização. Desta forma, busca-se garantir que o desempenho dos processos de organização seja continuamente melhorado.

A introdução de inovações nos processos e o aumento da sua eficiência depende da participação da equipe de colaboradores, que deve estar alinhada aos valores e objetivos da organização. Caso esta equipe compartilhe conhecimento, a organização pode conseguir responder às mudanças e oportunidades de forma mais ágil.

A principal distinção entre o nível 4 e nível 5 é: no nível 4 há preocupação com as causas de variação nos processos e busca-se definir o comportamento estatístico previsível de resultados; já no nível 5, procura-se mudar os processos em função destas variações. Apesar de processos poderem produzir resultados previsíveis, os resultados podem não ser suficientes para que se alcancem os objetivos estabelecidos. No nível 5, os processos são modificados visando o aumento de seu desempenho para que alcancem os objetivos quantitativos estabelecidos para a sua melhoria.

Saiba mais

“De acordo com o CMMI Institute que faz parte da Carnegie Mellon University, organizações de 94 países usam o CMMI para melhorar suas performances; 11 governos no mundo investem em CMMI para alavancar o desenvolvimento econômico de seus países (o Brasil não está na lista) e modelos de CMMI já foram traduzidos para 10 línguas diferentes (entre elas o português). Já em um report feito pelo mesmo instituto, há um gráfico com os maiores números de avaliações reportadas por país. Em 2014 o qual o Brasil ocupa o sétimo lugar (com 39 avaliações) e está na lista dos dez mais. Nos três primeiros lugares estão China (com 722 avaliações), Estados Unidos (com 314) e Índia (com 189). Embraer, Serasa, Claro, Itaú, GM e IBM estão entre as empresas avaliadas que obtiveram algum nível de maturidade dos modelos do SEI e do CMMI Institute. Essa avaliação, oficial, foi feita pelo braço brasileiro da consultoria internacional ISD (Integrated System Diagnostics)

Fonte: MENA, Isabela. Verbete Draft: o que é CMMI. Projeto Draft, 10 jun. 2015. Disponível em: <projetodraft.com>. Acesso em: 8 jun. 2017.

sexta-feira, 30 de abril de 2021

Representação contínua

Ao escolher a representação contínua para a organização, o modelo CMMI:

  • Permite selecionar a ordem e melhoria que mais se adéqua aos objetivos de negócios da organização e diminui as áreas de risco.
  • Habilita que haja comparações em uma empresa e entre empresas por área de processo ou pela comparação de resultados em estágio equivalentes.

Há quatro níveis de capacidade, numerados de 0 até 3 (veja a Tabela 1). Cada nível de capacidade corresponde a metas genéricas e a um conjunto de práticas genéricas e específicas, conforme ilustra a Figura.

Representação por estágio

Ao escolher a representação por estágio para a organização, o modelo CMMI:

  • fornece uma sequência de melhorias, começando com práticas básicas de gerenciamento, progredindo através de um caminho de níveis sucessivos, cada um servindo como um fundamento para o seguinte.
  • permite comparações entre organizações pelo uso de níveis de maturidade.
  • fornece um valor simples que sumariza resultados avaliados e permite comparações entre organizações.

Há cinco níveis de maturidade, numerados de 1 a 5 (ver Tabela 1). A obtenção de um nível de maturidade permite assegurar que os fundamentos adequados de melhoria foram estabelecidos para o próximo nível de maturidade, permitindo a melhoria incremental dos processos na organização. Esta representação indica a ordem de implementação de cada área de processo, de acordo com o nível de maturidade, que define o caminho associado à melhoria dos processos de uma organização (desde o nível de maturidade inicial até ao nível de maturidade em otimização), conforme ilustra a Figura.

quinta-feira, 29 de abril de 2021

Representações do CMMI

O CMMI possui duas representações: contínua ou por estágios. Estas representações permitem à organização utilizar diferentes caminhos para a melhoria de seus processos de acordo com seu interesse. O CMMI divide cada estágio em áreas de processo e para cada uma delas são definidos dois conjuntos de metas: as específicas (specific goals) e as genéricas (generic goals). A essas metas, a definição do modelo recomenda práticas genéricas divididas em um conjunto de características comuns.

As metas específicas na maioria das vezes estão focadas no negócio da empresa e buscam alinhar o método CMMI às necessidades próprias. As metas genéricas focam em aspectos inerentes a qualquer empresa e devem ser consideradas para uma melhor implementação da metodologia, de forma a garantir a maximização dos resultados.

O método CMMI não é um processo simples de ser realizado. Exige uma mudança de cultura voltada para o planejamento, a qualidade e o controle dos processos de desenvolvimento de software.

Seleção de uma representação do modelo CMMI

O propósito do CMMI é fornecer um guia para melhorar processos de organizações e sua habilidade de gerenciar o desenvolvimento, aquisição e manutenção de produtos ou serviços de software. O CMMI, através de sua estrutura, ajuda a organização a avaliar sua maturidade organizacional ou sua capacidade na área de processos, estabelecendo prioridades para melhoramentos e sua implementação.

Como vimos, o modelo CMMI apresenta dois caminhos a serem seguidos:

  • Contínuo: permite que a organização evolua de forma incremental os processos correspondentes a uma PA (individual) ou a um grupo de área de processos selecionado pela empresa.
  • Por estágios (estagiado): a evolução é feita em um grupo deprocessos relacionados que são endereçados ao se implementar grupos de áreas de processo pré-determinados sucessivos.

As representações são importantes, pois são elas que vão determinar o tipo de nível que será usado na organização.

“As duas representações estão associadas com dois tipos de níveis de melhoria: níveis de capacidade e níveis de maturidade. A representação contínua habilita a organização a alcançar níveis de capacidade. A representação por estágios habilita a organização a alcançar níveis de maturidade.”

Fonte: SEI (2010, p. 34, tradução nossa)

Para alcançar um nível em particular, a organização deve satisfazer todas as metas da PA ou todas as metas do conjunto de PAs que estão definidas para serem aprimoradas, independentemente do nível ser de capacidade ou de maturidade. Ambas as representações fornecem maneiras de aprimorar os processos para se alcançar os objetivos corporativos e ambas proveem o mesmo conteúdo em sua essência e usam o mesmo modelo de componentes.

Assim, caro aluno, é importante frisar que são duas formas de se chegar aos mesmos objetivos. Independentemente da representação adotada, os níveis caracterizam a melhoria e a evolução de um estado desorganizado ou imaturo até um estado que usa informações quantitativas para determinar e gerenciar as melhorias a serem implementadas e que irão satisfazer as necessidades de negócios da organização.

Há muitas razões para se selecionar uma representação ou outra. Talvez a organização escolha usar a representação com a qual é mais familiarizada. Se usadas para melhoria de processos ou avaliações, ambas as representações são projetadas para oferecer resultados equivalentes. Vamos listar os critérios de escolha com algumas das possíveis vantagens e desvantagens de como selecionar a adoção de uma entre as duas representações. Para este comparativo, a Tabela deve ser consultada.

Tabela - Níveis de capacidade x Níveis de maturidade do CMMI
Level Continuous Representation Capability Levels Staged Representation Maturity Levels
Level 0 Incomplete
Level 1 Performed Initial
Level 2 Managed Managed
Level 3 Defined Defined
Level 4
Quantitatively Managed
Level 5
Optimizing
Fonte: adaptado de SEI (2010, p. 35).

quarta-feira, 28 de abril de 2021

Componentes do modelo CMMI

O modelo (ou constelação) CMMI apresenta conceitos e práticas do CMMI e outros serviços com foco em padrões e modelos consagrados como:

  • ITIL - Information Technology Infrastructure Library
  • ISO/IEC 20000: Information Technology Service Management
  • CobiT - Control Objectives for Information and related Technology
  • ITSCMM - Information Technology Services Capability Maturity Model

 

 

 

 

De acordo com SEI (2010, p. 20), o CMMI-SVC cobre as atividades para estabelecer, entregar e gerenciar serviços. Neste contexto, serviço é um produto intangível e que não pode ser armazenado. As práticas e metas do modelo são relevantes para organizações que atuam na entrega de serviços, incluindo a área de TI, defesa, saúde, finanças e transportes.

“Embora as PAs e os processos do modelo descrevam comportamentos considerados como melhores práticas para a maior parte dos provedores de serviços, estes devem ser interpretados e adaptados às restrições e ao ambiente da organização que os utilizam.”

Fonte: SEI (2010, p. 20, tradução nossa)

Conforme ilustra a Figura, o CMMI-SVC, da mesma maneira que os outros modelos CMMI, reúne os componentes:

  • Áreas de processos (process areas – PAs): é um cluster de práticas relacionadas de uma área que, quando implementadas coletivamente, satisfazem um conjunto de metas consideradas importantes para a melhoria desta área.
    • Objetivo da PA (purpose statement): descreve o propósito da PA, sendo um componente informativo.
    • Notas introdutórias (introductory notes): seção da PA que descreve os principais conceitos cobertos pela PA, sendo um componente informativo.
    • Áreas de processos relacionadas (related process areas): seção da PA que lista referências às PAs relacionadas e reflete os relacionamentos entre as PAs, sendo um componente informativo.
  • Metas genéricas (generic goals - GG): são chamadas genéricas porque a mesma meta pode ser aplicada a múltiplas PAs. Descrevem as características que devem estar presentes nos processos institucionalizados que implementam uma PA.
    • Prática genérica (generic practice - GP): é chamada genérica porque a mesma prática pode ser aplicada a múltiplas PAs. É associada com uma meta genérica e descreve as atividades que são consideradas importantes para que se possa atingir uma meta genérica de uma PA, contribuindo para a institucionalização dos processos associados à PA.
  • Metas específicas (specific goals - SG): ou objetivos específicos, descrevem as características únicas que devem estar presentes para satisfazer a PA.
    • Prática específica (specific practice - SP): é a descrição de uma atividade que é considerada importante para que se possa atingir uma meta específica de uma PA.
      • Subprática (subpractice): é uma descrição detalhada que provê diretrizes para que se possa interpretar e implementar uma prática específica ou genérica, sendo um componente informativo.

terça-feira, 27 de abril de 2021

Visão geral do modelo CMMI

O CMMI (Capability Maturity Model Integration), como outros modelos CMM, fornece um guia a ser usado para o desenvolvimento de processos. Os processos usados em uma organização dependem de muitos fatores, incluindo domínios de aplicação e estrutura e tamanho da organização. O CMMI está organizado em três modelos chamados de constelação, cada um contendo práticas para áreas de desenvolvimento (CMMI-DEV), serviços (CMMI-SVC) e de aquisição (CMMI-ACQ):

  • CMMI for development (CMMI-DEV): voltado ao processo de desenvolvimento de produtos e serviços.
  • CMMI for acquisition (CMMI-ACQ): voltado aos processos de aquisição e terceirização de bens e serviços.
  • CMMI for services (CMMI-SVC): voltado aos processos de empresas prestadoras de serviços.

 

 

 

 

A organização pode usar os modelos CMMI para ajudar a estabelecer objetivos e prioridades do melhoramento de processos, obtendo um guia para garantir estabilidade, processos estáveis e maduros.

O CMMI trabalha com process areas (PAs), por isso é importante fazermos uma distinção entre processos e PAs. Um processo individual é realizado através de atividades distintas e instruções que especificam como o produto de uma atividade é obtido. Um PA especifica metas e práticas comprovadas para que atividades profissionais possam ser executadas, sem especificar como isso deva ser feito. Além disso, o produto da atividade é especificado apenas pelas suas características (PLAYS-IN-BUSINESS.COM, 2010).

Todos os modelos do CMMI 1.3 definem um conjunto de PAs. Um PA especifica metas e práticas comprovadas para que uma atividade profissional possa ser realizada.

Como mostra a figura, o modelo CMMI 1.3 contém 23 PAs, das quais dezesseis são core process areas, comuns a todas as constelações. O modelo CMMI-SVC possui sete PAs específicas e tanto o CMMI-ACQ quanto o CMMI-DEV possuem seis PAs específicas cada.

Saiba mais

Implantação integrada do CMMI-DEV com o CMMI-SVC: desenvolvendo software como serviço

“Os modelos CMMI dividem as práticas em áreas de processo organizadas em 5 níveis. Os níveis servem como um roadmap para melhoria contínua.São 22 áreas de processo no CMMI-DEV, 24 áreas de processo no CMMI-SVC e 22 áreas de processo no CMMI-ACQ.O CMMI-DEV e CMMI-SVC podem ser usados por empresas prestadoras de serviços de desenvolvimento de software e sistemas. O CMMI-ACQ pode ser usado por empresas que contratam serviços de desenvolvimento de software e sistemas.”

Benefícios com a implantação integrada
Fonte: Promove (2016).

“No Brasil, existem 86 empresas avaliadas no CMMI-DEV e 18 no CMMI-SVC (consulta feita em janeiro/2016).”

Fonte: PROMOVE. O que é CMMI? 7 fev. 2016. Disponível em: <http://www.promovesolucoes.com/cmmi>. Acesso em 8 jun. 2017.

segunda-feira, 26 de abril de 2021

CMMI

Trataremos do modelo CMMI (Capability Maturity Model Integration), apresentando o modelos CMM, seus antecedentes históricos, e detalhando seu modelo de maturidade e representações.

 

Antecedentes históricos: modelos CMM para qualidade de processo de software

Os modelos CMM (Capability Maturity Model) são construídos a partir do conceito de processo e focam na melhoria dos processos de uma organização. Eles contêm os elementos essenciais de processos efetivos para uma ou mais disciplinas e descrevem uma abordagem evolucionária a partir de processos ad hoc, imaturos, até processos disciplinados e maduros, com melhoria na qualidade e efetividade. Assim, na medida em que a maturidade dos processos evolui em uma empresa, estes passam a ser mais definidos e efetivos.

O CMM é uma marca registrada do SEI (Software Engineering Institute), sediado na Universidade Carnegie Mellon, em Pittsburgh, EUA. O SEI é um centro de pesquisa e desenvolvimento patrocinado pelo Departamento de Defesa dos Estados Unidos. O SEI realiza pesquisas em software e problemas ligados à cybersecurity, cria e realiza testes com base em tecnologias inovativas e focaliza a transição para soluções maduras para uso global. De acordo com SEI (2010, p. 17), o instituto criou o primeiro modelo CMM destinado para organizações de software em 1995 e o publicou no livro “The Capability Maturity Model: guidelines for improving the software process”.

De acordo com Royce (2002), o modelo inicial CMM desenvolvido pela SEI era especificamente destinado à maturação de processo de software. No entanto, com sua bem sucedida adoção e uso em diferentes domínios, outros modelos CMM foram desenvolvidos para disciplinas e funções mais específicas como engenharia de sistemas, pessoas, desenvolvimento de produto integrado, aquisição de software, dentre outras. Apesar de muitas organizações considerarem estes modelos úteis, eles também apresentavam problemas como sobreposições, inconsistências e dificuldades de integração. Muitas organizações também encontraram conflitos em processos de auditoria e programas de melhoria de software entre os modelos CMM e as normas ISO 9001.

Além destes problemas, alguns casos de práticas CMM apresentaram semelhanças com o modelo tradicional em cascata, com processos excessivamente baseados em gerenciamento. Isto acabou associando organizações que adotavam modelos CMM aos princípios da mentalidade do modelo cascata, dando-lhes uma conotação negativa.

Em função destes problemas, das implicações econômicas a eles associados e com a disseminação de técnicas de desenvolvimento iterativo e de melhores práticas utilizadas na indústria de software, as organizações foram motivadas a adotar uma abordagem baseada em resultados. Todo este cenário impulsionou o início do projeto CMMI.

O projeto CMMI foi formado para solucionar todos estes problemas, notadamente os resultantes do uso de múltiplos modelos CMM. O CMMI buscou integrar muitas das melhores práticas da indústria, desencorajando padrões de alinhamento com a mentalidade do modelo cascata, fazendo deste um melhor padrão a ser seguido. Mas o projeto não se limitou a reunir diferentes modelos em um único. O time que trabalhou no projeto CMMI construiu um framework que acomodou diversas constelações. A Figura ilustra os modelos que foram criados até se chegar à versão 1.3.

A versão 1.3 iniciou-se em 2008 e em 2010 foram lançados: CMMI for Acquisition, CMMI for Development e CMMI for Services.