Baixe o app para aproveitar ainda mais
Prévia do material em texto
CMM e CMMI Apresentação A busca das empresas produtoras de software para entregar qualidade em seus projetos é um grande desafio. A entrega de software com nível de qualidade elevado oferece grandes benefícios para o projeto e para a empresa. A qualidade de software, por vezes é ignorada e as consequências podem acarretar prejuízos por retrabalho de atividades, tempo gasto com teste de software e um dos fatores mais alarmantes é lançar o software ou versão do software em produção sem os requisitos mínimos de qualidade, já que os erros somente serão descobertos quando o cliente já estiver utilizando o software. Nesta Unidade de Aprendizagem, você aprenderá sobre os modelos de maturidade de processo de software, utilizadopara auxiliar as empresas a empregar qualidade em todo o processo, em suas soluções e no gerenciamento do software com nível de maturidade elevado. Além disso, conhecerá o modelo CMM (do inglês capability maturity model, ou modelo de maturidade em capacitação) e, consequentemente, o CMMI (do inglês capability maturity model integration, ou modelo integrado de maturidade em capacitação). Bons estudos. Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados: Conceituar os níveis de maturidade de software.• Reconhecer cada um dos níveis da maturidade de software.• Demonstrar os níveis de CMM e CMMI.• Desafio O CMMI (do inglês capability maturity model integration, ou modelo integrado de maturidade em capacitação) consiste nas melhores práticas para as atividades de desenvolvimento aplicadas a produtos e serviços. Esse modelo aborda práticas que cobrem o ciclo de vida do software, desde a concepção até a entrega e manutenção. A implementação do CMMI pode proporcionar algumas vantagens e também desvantagens a uma empresa de desenvolvimento de software. Alguns benefícios na implementação do CMMI podem ser: a) Cultura para a manutenção da qualidade em projetos. Todos os níveis de programadores e gerentes de projeto querem manter o nível de qualidade das entregas. b) Incorporação das melhores práticas de engenharia de software nas empresas. c) Redução de custos em termos de menor esforço devido a menos bugs e menos retrabalho. d) Entregas no prazo. e) Maior satisfação do cliente. f) Maior produtividade. Considerando os benefícios e a busca de melhorias no processo de software da empresa na qual você faz parte da diretoria, desenvolva em forma de lista as possíveis soluções alternativas para tornar as desvantagens apresentadas em vantagens, de forma que o restante dos membros da diretoria tenham mais segurança para começar a implementar o CMMI na empresa. Infográfico O CMMI é um modelo de referência usado para guiar a melhoria de processo em um projeto de desenvolvimento e tem duas representações: a contínua e a por estágios. Na representação contínua do CMMI, o foco encontra-se nos níveis de capacidade de desenvolvimento de projeto. Na representação por estágios do CMMI, por sua vez, o foco encontra-se em níveis de maturidade, que são cinco: inicial, gerenciado, definido, quantitativamente gerenciado e em otimização. Neste Infográfico, você vai conhecer mais sobre níveis de maturidade por estágios em CMMI. Conteúdo do livro Os modelos de referência CMM (do inglês capability maturity model, ou modelo de maturidade em capacitação) e o CMMI (do inglês capability maturity model integration, ou modelo integrado de maturidade em capacitação) são modelos que descrevem estágios de maturidade, os quais ajudam as empresas e organizações a otimizar a melhoria de processos com objetivo de diminuir os riscos no desenvolvimento de software, produtos e serviços. No capítulo CMM e CMMI, da obra Qualidade de software, base teórica desta Unidade de Aprendizagem, você irá conhecer sobre o CMM e CMMI, assim como os seus níveis de maturidade." Boa leitura! QUALIDADE DE SOFTWARE Breno Cristóvão Rocha CMM e CMMI Objetivos de aprendizagem Ao final deste texto, você deve apresentar os seguintes aprendizados: Conceituar os níveis de maturidade de software. Reconhecer cada um dos níveis da maturidade de software. Demonstrar os níveis de CMM e CMMI. Introdução O modelo de referência CMM (do inglês capability maturity model, ou mo- delo de maturidade em capacitação), também conhecido como software CMM (SW-CMM), surgiu na década de 1980, nos Estados Unidos. O CMMI (do inglês capability maturity model integration, ou modelo integrado de maturidade em capacitação), por sua vez, é a evolução do CMM e contém práticas necessárias à maturidade em disciplinas específicas. Tais modelos de referência buscam, de uma forma geral, descre- ver estágios de maturidade pelos quais passam o desenvolvimento de software, buscando a melhoria contínua e a qualidade de software. Muitas organizações no mundo todo têm adotado esses modelos com o objetivo de possibilitar a elevação da maturidade de suas equipes nas atividades relacionadas ao software. Neste capítulo, você vai estudar os níveis de maturidade de software, identificando e analisando os níveis de CMM e CMMI. Níveis de maturidade de software O CMM é um modelo de capacitação de processo de software desenvolvido pelo Instituto de Engenharia de Software (que, em inglês, atende pela sigla SEI) e patrocinado pelo Departamento de Defesa dos Estados Unidos. A primeira versão do CMM foi publicada em agosto de 1991 e tinha como principal objetivo fazer com que as empresas conheçam e melhorem seus processos de desenvolvimento de software, com base em práticas predefi nidas. A maturidade de uma organização ou de um projeto está associada com o conhecimento adquirido ao longo do tempo e, acima de tudo, em poder trans- formá-lo em resultados. O modelo CMM comporta cinco níveis de maturidade: 1. Inicial: nesse nível, os processos são caóticos, não existe ambiente estável, dependendo totalmente do bom trabalho de funcionários da organização; não existe gerenciamento de projeto, disciplina, organi- zação ou planejamento. É o nível mais básico, em que há muito a se melhorar durante o desenvolvimento de um projeto. 2. Repetitivo: nesse nível, são estabelecidas técnicas de gerenciamento de projeto com um mínimo de disciplina, sendo o desenvolvimento de projeto repetido, garantindo que os requisitos sejam gerenciados e que os processos sejam planejados, executados, medidos e controlados, sendo descritos em normas, procedimentos, ferramentas e métodos. A disciplina do processo refletida pelo nível de maturidade 2 ajuda a garantir que as práticas existentes sejam mantidas durante períodos de estresse. Quando essas práticas estão em vigor, os projetos são executados e gerenciados de acordo com seus planos documentados. 3. Definido: no nível de maturidade 3, uma organização atingiu todos os objetivos específicos e genéricos das áreas de processo atribuídas aos níveis de maturidade 2 e 3. Nesse terceiro nível, os projetos são bem caracteri- zados e entendidos, há padrões estabelecidos, os processos são descritos com mais detalhes e rigor e são proativos. Os padrões, as descrições de processo e os procedimentos de um projeto são adaptados do conjunto de processos padrão da organização, para se adequar a um projeto ou unidade organizacional em particular. Os processos são tipicamente descritos com mais detalhes e com mais rigor do que no nível de maturidade 2. 4. Gerenciado quantitativamente: no nível de maturidade 4, uma orga- nização atingiu todos os objetivos específicos das áreas de processo atribuídas aos níveis de maturidade 2, 3 e 4 e as metas genéricas atri- buídas aos níveis de maturidade 2 e 3. Nesse nível, há previsibilidade do desempenho do processo, tornando-o previsível quantitativamente; são selecionados subprocessos que contribuem significativamente para o desempenho geral do processo. Esses subprocessos selecionados são controlados usando técnicas estatísticas e outras técnicas quantitativas. 5. Em otimização: no último nível,tendo sido atingidas todas as metas dos níveis anteriores, os processos passam a ser continuamente melhorados, com base em uma compreensão quantitativa das causas comuns de variação inerentes aos processos. Os objetivos quantitativos de melhoria CMM e CMMI2 de processos para a organização são estabelecidos, continuamente revisados para refletir os objetivos de mudança nos negócios e usados como critérios no gerenciamento da melhoria de processos. Cada nível de maturidade, com exceção do primeiro, é composto por áreas- -chaves de processo (KPAs, do inglês key process areas). Cada uma dessas áreas-chave identifica atividades a serem seguidas pela empresa para atingir os objetivos de desenvolvimento da capacidade do processo. Segundo Pressman e Maximn (2016, p. 828): O CMM original foi desenvolvido e atualizado pelo Software Engineering Institute na década de 1990 como um framework SPI completo. Hoje, evoluiu, tornando-se o CMMI (Capability Maturity Model Integration), um metamodelo de processo abrangente, qualificado em uma série de capacidades de sistema e engenharia de software que devem estar presentes à medida que as organi- zações alcançam diferentes níveis de capacitação e maturidade de processo. Assim, o CMMI, além de ser uma evolução do CMM, é uma abordagem de melhoria de processos, que fornece elementos essenciais de processos eficazes, podendo ser usado para guiar a melhoria de um projeto, uma divisão ou uma organização inteira. O CMMI possui duas representações: “contínua” ou “por estágios”. Essas representações permitem à organização utilizar diferentes caminhos para a melhoria, de acordo com seu interesse. A representação contínua é caracterizada por níveis de capacidade, sendo utilizada para melhor atender aos objetivos de negócio da empresa. Já a representação por estágios é caracterizada por níveis de maturidade, buscando uma melhoria baseada em estágios. A Figura 1 mostra a diferença entre essas representações, com base em Koscianski e Soares (2007). Figura 1. Comparação entre a representação por estágios e a representação contínua. Fonte: Adaptada de Koscianski e Soares (2007). Respresentação por estágios Caracteristicas comuns: compromisso e habilidade com excução,direção e verificação da implementação Nível de maturidade 1 Nível de maturidade 2 Nível de maturidade 5 Área de processo 1 Área de processo 2 Objetivos específicos Objetivos genéricos Práticas específicos Práticas genéricos .... Respresentação contínua Práticas específicos Práticas genéricos Objetivos específicos Objetivos genéricos Níveis de capacidade Área de processo nº.. Área de processo 2 Área de processo 1 .... 3CMM e CMMI O CMMI por representação contínua não classifica uma organização em níveis discretos, mas considera as áreas de processo individualmente, sendo possível à organização escolher as áreas de processo a serem aprimoradas. Vejamos os níveis de capacidade do CMMI por representação contínua: 0 — Incompleto: corresponde à ausência de qualquer modelo de processo de desenvolvimento, o que torna difícil prospectar desenvolvimentos futuros. Se o processo é implementado, o nível 0 é atribuído quando um dos objetivos não é satisfeito. 1 — Executado/realizado: o processo é executado de modo a completar o trabalho necessário para a execução de um processo, cumprindo os objetivos mínimos de desenvolvimento conforme sua área para estar no nível 1. 2 — Gerenciado/gerido: cada processo cumpre os requisitos do nível 1; há planejamento da execução de um processo e confronto entre o planejado e o executado. Os processos são monitorados, controlados e revisados. Há definição de requisitos e objetivos. Ações corretivas são tomadas quando o resultado desvia do que foi planejado. 3 — Definido: um processo no nível 3 cumpriu todos os requisitos do nível 2. Há nova construção de processo mediante a descrição do processo existente; processos padronizados são estabelecidos e melho- rados continuamente. 4 — Gerenciado quantitativamente: a área de processo é controlada e melhorada quantitativamente, por exemplo, aplicando-se técnicas esta- tísticas. Dados são coletados e analisados quantitativamente, formando uma base de dados para apoio quanto à tomada de decisões. 5 — Otimizado: um processo otimizado cumpre todos os requisitos do nível 4. A área de processo é adaptada e otimizada com vistas a estabilizar eventuais variações, buscando melhoria contínua, com base em recursos tecnológicos e de inovação. Já o CMMI por estágios é compatível com a versão anterior do CMM para software e define um caminho claro de aprimoramento para as organizações, que é atingido pela implementação das áreas de processo associadas a cada nível. Segundo Vetorazzo (2018), são níveis de maturidade do CMMI por estágios (Figura 2): Nível 1 — Inicial: no nível de maturidade inicial, não há ambiente estável; os processos são caóticos, e não há padrões a serem seguidos. CMM e CMMI4 Os processos podem ter alto custo de desenvolvimento; podem ocorrer atrasos e problemas no cumprimento de requisitos. Nível 2 — Gerenciado/gerido: nesse nível, há grande preocupação em seguir um planejamento, com análise do andamento das tarefas desig- nadas. Há maior possibilidade de cumprimento de prazos, requisitos objetivos e padrões (considerando o acompanhamento por gerentes). Nível 3 — Definido: no 3º nível, há padronização, e os processos são bem caracterizados e entendidos. Há padrões, ferramentas, procedimentos e métodos bem-definidos. Há detalhe e rigor na descrição dos processos. Nível 4 — Quantitativamente gerenciado/Gerido quantitativamente: nesse nível, os processos são controlados com base em métodos esta- tísticos (números), o que permite que sejam mais bem compreendidos e comparados, facilitando o acompanhamento do desempenho da empresa. Há armazenamento de informações em banco de dados, o que auxilia na tomada de decisões. Nível 5 — Em otimização: no último nível, a busca pela melhoria con- tínua dos processos é o principal foco, podendo ser obtida com o uso de novas tecnologias e inovações, estabelecendo-se objetivos de melhoria. Frequentemente, esses objetivos são medidos e avaliados, fazendo com que seja criado um ciclo de melhoria contínua dos processos. Figura 2. Níveis de maturidade do CMMI por estágios. Fonte: ISD Brasil ([2019], documento on-line). Foco contínuo na melhorias dos processos Processos são medidos e controlados Processos são caracterizados pela organização e são proativos Processos são caracertizados por projeto e as açôes são frequentemente reativas Processos são imprevisíveis, pouco controlados e reativos Inicial Gerenciado De�nido Quatitativamente Gerenciado Otimização 1 2 3 4 5 5CMM e CMMI Conforme Morgado et al. (2007, documento on-line): [...] o modelo de maturidade CMMI descreve um caminho evolucionário, que começa com processos imaturos (inicial) e segue até um processo maduro e disciplinado (otimizado), onde é possível o controle do processo de produção de software por meio de métricas e modelos estatísticos. É importante salientar que o processo do CMMI inclui três disciplinas ou corpos de conhecimento (body of knowledge), sendo elas: 1. Engenharia de sistemas: é uma ciência aplicada para o desenvolvimento e a manutenção de produtos de alta complexidade, como carros, aviões, chips de computador, entre outros. 2. Engenharia de software: é uma ciência aplicada para a especificação, o desenvolvimento, a manutenção e a criação de software, com a aplicação de tecnologias e práticas de gerência de projetos e outras disciplinas, buscando organização, produtividade e qualidade. 3. Engenharia de hardware: está diretamente relacionada com os processos que envolvem os componentes físicos. Ou seja, projetar, desenvolver, testar, produzir, instalar e integrar dispositivos. Estuda as técnicas, as metodologias e os instrumentos computacionaisque automatizam processos e desenvolvem soluções baseadas no uso do processamento de dados. Em março de 2018, foi disponibilizada a versão 2.0 do CMMI, em que o conceito de nível está contido em cada área de processo (PA), com foco em prover conteúdo informativo em linguagem simples e conteúdo específico para desenvolvimento de produtos com conceito ágil e metodologia Scrum. Áreas-chave de processo As KPAs são os requisitos para a obtenção de um nível no CMM e são cumu- lativas — ou seja, para a organização atingir um nível de maturidade, ela deve CMM e CMMI6 satisfazer todas as KPAs daquele nível e do nível anterior. Cada uma dessas KPAs identifi ca atividades a serem seguidas pela empresa para atingir os objetivos de desenvolvimento da capacidade do processo. Vejamos: Nível 1 — nível inicial, em que há defi ciência no planejamento e difi culdades na realização de previsões; os processos são desorganizados e até caóticos. Nível 2 — no nível repetível, as técnicas básicas de gerenciamento de projetos são estabelecidas; há maior probabilidade de cumprir os compromissos de requisitos, prazos e custos, desde que semelhantes a outros realizados ante- riormente. Nesse nível, as áreas-chave são: gerência de requisitos; planejamento de projetos; supervisão e acompanhamento de projetos. Nível 3 — no nível defi nido, processos utilizados são estabelecidos e padro- nizados em toda a organização, sendo as áreas-chave: foco no processo de organização; definição do processo de organização, programa de treinamento. Nível 4 — no nível gerenciado quantitativamente, há monitoramento e controle dos processos por meio da coleta e análise de dados, estabelecendo-se metas quantitativas de qualidade de produtividade para as atividades do processo e para os produtos. As áreas-chave são: gerência quantitativa de processos; e gerência de qualidade do software. Nível 5 — no nível de otimização, há engajamento na melhoria contínua dos processos, por meio do monitoramento do feedback dos processos atuais e da introdução de processos inovadores. As áreas-chave são: prevenção de defeitos; gerência da evolução dos processos; e gerência da evolução das tecnologias. 7CMM e CMMI Em sua representação contínua, as áreas-chave são divididas conforme o Quadro 1 a seguir. Fonte: Adaptado de Koscianski e Soares (2007). Gerência de processos Foco no processo Definição do processo Treinamento Desempenho de processo Inovação e implantação Gerência de projeto Planejamento de projeto Controle e monitoramento de projeto Gerência de acordo com fornecedores Gerência de projeto integrada Gerência de riscos Integração da equipe Integração de fornecedores Gerência quantitativa de projeto Engenharia Gerência de requisitos Gerência de desenvolvimento Solução técnica Integração de produto Verificação Validação Suporte Gerência de configuração Garantia de qualidade de produto e processo Medida e análise Análise de decisão e resolução Ambiente organizacional para integração Resolução e análise de causas Quadro 1. Divisão das áreas-chave na representação contínua CMM e CMMI8 Quanto ao CMMI por estágio, a maturidade é medida por um conjunto de processos. Assim, também é necessário que todos os processos atinjam o nível de maturidade de determinado nível para que a empresa alcance o nível de maturidade desejado. Em sua representação por estágios, as áreas-chave são divididas conforme o Quadro 2 a seguir. Nível 1 — Inicial Não possui áreas de processo Nível 2 — Gerenciado/gerido Gerenciamento de requisitos — REQM (requirements management) Planejamento de projeto — PP (project planning) Acompanhamento e controle de projeto — PMC (project monitoring and control) Gerenciamento de acordo com fornecedor — SAM (supplier agreement management) Medição e análise — MA (measurement and analysis) Garantia da qualidade de processo e produto — PPQA (process and product quality assurance) Gerência de configuração — CM (configuration management) Nível 3 — Definido Desenvolvimento de requisitos — RD (requirements development) Solução técnica — TS (technical solution) Integração de produto — PI (product integration) Verificação — VER (verification) Validação — VAL (validation) Foco de processo organizacional — OPF (organizational process focus) Definição de processo organizacional — OPD (organizational process definition) Treinamento organizacional — OT (organizational training) Gerenciamento integrado de projeto — IPM (integrated project management) Gerenciamento de riscos — RSKM (risk management) Análise de decisão e resolução — DAR (decision analysis and resolution) Quadro 2. Divisão das áreas-chave na representação por estágios (Continua) 9CMM e CMMI As áreas de processo variam com base no modelo escolhido, não sendo as mesmas áreas para todos os modelos (CMMI-DEV/CMMI para desenvolvimento, CMMI-ACQ/ CMMI para aquisição, ou CMMI-SVC/CMMI para serviços). Os níveis de CMM e CMMI O CMMI, como dito anteriormente, pode ser considerado uma evolução do CMM, tendo como objetivo melhorar os processos das empresas e fazer com que esses processos sejam executados da melhor maneira e com o menor custo. Existem alguns sintomas de falhas no processo, como compromissos não cumpridos, entregas atrasadas, surpresas com custos não planejados, falta de progresso, problemas de qualidade, defeitos no produto, reclamações dos clientes, entre outros, que geram a necessidade de melhoria no processo de software, como a utilização dos modelos CMM e CMMI. Quanto ao CMMI, o nível inicial tem como cenário o acúmulo de trabalho, o abandono de planos e procedimentos, os defeitos no produto, os clientes e funcionários insatisfeitos, a pouca repetibilidade, a dificuldade em realizar previsões e a dependência de cada colaborador (que, se abandona a empresa, é motivo de sofrimento para esta). Todavia, é importante observar que, o fato Nível 4 — Quantitativamente gerenciado/gerido Desempenho de processo organizacional — OPP (organizational process performance) Gerenciamento quantitativo de projeto — QPM (quantitative project management) Nível 5 — Otimização Gestão do desempenho organizacional — OPM (organizational performance management) Análise causal e resolução — CAR (causal analysis and resolution) Quadro 2. Divisão das áreas-chave na representação por estágios (Continuação) CMM e CMMI10 de uma empresa ter processos desorganizados e caóticos não significa dizer que tem produtos finais ruins. No entanto, para que bons produtos sejam entregues, geralmente é necessário um esforço enorme dos colaboradores, além de aumento de custos e excesso de prazo. Nesse primeiro nível, não é possível repetir sucessos anteriores, já que estes estarão ligados mais a sucessos individuais (de um colaborador, por exemplo, que, se sair da empresa, vai deixar a empresa desfalcada de mão de obra) do que ao sucesso organizacional. Além disso, é comum a empresa negligenciar algumas fases do processo, como a de documentação e a de testes. A mudança para o nível 2 de maturidade consiste na realização de sete áreas de processo que contribuem para a eficiência da gerência de projeto, conforme mostra o Quadro 2. O nível gerenciado pode ser alcançado com a contratação de gerentes de projeto profissionais e experientes, permitindo que eles façam seus trabalhos. Por exemplo, podem existir datas de entrega definidas no cronograma, as quais serão constantemente acompanhadas. O gerente de projeto, então, conseguirá identificar a eventual possibilidade de atraso e tentará solucionar o problema, por exemplo, alocando mais pessoas em determinada tarefa. O segundo nível de maturidade (gerenciado) não garante o sucesso do projeto, mas aumenta a consciência do que está acontecendo. As organiza- ções que usam as práticas donível 2 de maturidade geralmente usam dados e métricas, para garantir que seus projetos estejam dentro do orçamento, no prazo, e que os objetivos sejam cumpridos. Organizações nesse nível têm maior probabilidade de cumprir compro- missos relacionados a requisitos, custos e prazos, quando se trata de projetos semelhantes a outros já realizados. Elas são disciplinadas a executar projetos, mas não têm preparo para mudanças, já que são incapazes de prever o resultado da adoção de novas ferramentas e métodos ou do desenvolvimento de novos produtos — por exemplo, organizações que desenvolvem software para web e adquirem experiência na área para projetos futuros. O nível 3 de maturidade (definido) difere-se do nível 2 porque, nele, há o desenvolvimento de uma maneira organizacional de fazer negócios. A mudança para o nível 3 de maturidade consiste na realização de onze áreas de processos, que contribuem para a padronização dos processos na organização, conforme mostra o Quadro 2. Uma organização que esteja no terceiro nível deve contar com pessoas que são especialistas em gerenciamento de processos, trabalho técnico/operacional de entrega (desenvolvimento ou serviços, etc.) e mudança organizacional e desenvolvimento. O objetivo é facilitar a comunicação e a 11CMM e CMMI coordenação em toda a organização e aprender e compartilhar observações dos sucessos e fracassos de outros projetos. Além disso, busca-se estabelecer normas de desempenho sobre como realizar o trabalho materialmente essencial da organização e implementar mecanismos para melhoria contínua, aprendizado, crescimento estratégico e tomada de decisões. As organizações do nível 3 devem utilizar dados e métricas que ajudem a entender seus custos internos e sua eficácia. No nível 3, estabelece-se uma infraestrutura de processos que permite adaptação a mudanças; há padronização de ferramentas, e o conhecimento se torna qua- litativo sobre os processos, que são bem documentados. A equipe trabalha de forma interativa, as atividades são planejadas, estáveis e repetitivas, existe treinamento de pessoal e, como consequência, há uma melhora na qualidade de software, pois custos, tarefas e prazos estão sob controle. Ou seja, no nível 3, os procedimentos são padronizados e devem prever a aplicação em projetos diferentes. Já no nível 4 de maturidade, os projetos, as decisões tomadas e a qualidade de processos, serviços e produtos são todos medidos com base em números. A mudança para o nível 4 de maturidade consiste da realização de duas áreas de processos que contribuem para a gerência quantitativa dos processos na organização, conforme mostra o Quadro 2. Nesse nível, há um tratamento quantitativo, medindo-se sempre a qualidade da produtividade. Há bases de dados, e métricas quantitativas são estabelecidas para avaliar os processos e produtos. Há também gerenciamento de riscos, de forma que os produtos tendem a apresentar maior qualidade. Assim, a diferença do nível 4 para o 3 de maturidade é que há um aumento da previsibilidade do desempenho de processos. Por fim, a mudança para o nível 5 de maturidade consiste na realização de duas áreas de processos que contribuem para a otimização dos processos na organização, conforme mostra o Quadro 2. O nível 5 traz processos em melhoria contínua, otimizados para as necessidades de cada momento, com identificação dos pontos fracos, adoção de novas tecnologias, resolução de defeitos e estudo das causas e das lições que serão utilizadas em processos seguintes. Os níveis de maturidade 4 e 5 são muito originais. Juntos, são chamados de “alta maturidade” no CMMI. Nesses níveis, há adição de especialista(s) no uso de técnicas quantitativas, para gerenciar o desempenho tático, estratégico e operacional da organização. Utilizam-se os dados dos níveis 2 e 3 para ajudar a controlar a variação e tornar as operações mais previsíveis. CMM e CMMI12 As organizações de níveis de maturidade 4 e 5 são melhores em prever seu desempenho e gerenciar seu trabalho do que as empresas com recursos de nível 3. Há, além disso, maior conscientização de como seus processos funcionam e se podem ou não confiar em seus processos para alcançar os resultados desejados. As principais abordagens a serem feitas pelas organizações de nível de maturidade 3 para melhorar o desempenho é trabalhar na eliminação de desperdícios, reduzindo a contagem de colaboradores, efetuando mudanças frequentes na estrutura organizacional e linearmente aumentando o crescimento marginal por meio do aumento das vendas. O espírito do CMMI deve ser sempre adotado encarando-se o desenvolvi- mento do software com seriedade, planejamento e controle, sendo o CMMI uma conquista importante para a melhoria do desenvolvimento de software. ISD Brasil. O que é CMMI? [2019]. Disponível em: <http://www.isdbrasil.com.br/o-que- e-cmmi.php>. Acesso em: 29 jan. 2019. KOSCIANSKI, A.; SOARES, M. S. Qualidade de software: aprenda as metodologias e técnicas mais modernas para o desenvolvimento de software. 2. ed. São Paulo: Novatec, 2007. MORGADO, G. P. et al. Práticas do CMMI® como regras de negócio. Production, São Paulo, v. 17, n. 2, p. 383–394, Aug. 2007. Disponível em: <http://www.scielo.br/scielo. php?script=sci_arttext&pid=S0103-65132007000200013>. Acesso em: 29 jan. 2019. PRESSMAN, R. S.; MAXIN, B. R. Engenharia de software: uma abordagem profissional. 8. ed. Porto Alegre: Bookman, 2016. VETORAZZO, A. S. Engenharia de software. Porto Alegre: SAGAH, 2018. 13CMM e CMMI Conteúdo: Dica do professor O CMM é um modelo de capacitação de processo de software desenvolvido pelo Instituto de Engenharia de Software (que, em inglês, atende pela sigla SEI) e patrocinado pelo Departamento de Defesa Americana — DOD (EUA). O CMMI pode ser considerado uma evolução do CMM, trazendo uma abordagem de melhoria de processos que fornece elementos essenciais de processos eficazes. O CMM e o CMMI têm 5 níveis de maturidade: executado, gerenciado, definido, gerenciado quantitativamente e otimizado. Nesta Dica do Professor, você verá os níveis de maturidade, e poderá comparar as necessidades de avanço de nível de maturidade do CMM com o CMMI. Além disso, será apresentada a diferença entre a representação contínua e por estágio do CMMI. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. https://fast.player.liquidplatform.com/pApiv2/embed/cee29914fad5b594d8f5918df1e801fd/f36db065429d8e457471f8ac95f6b2e9 Exercícios 1) O CMMI é uma metodologia criada pelo Instituto de Engenharia de Software (que, em inglês, atende pela sigla SEI) para ser um guia destinado a melhorar os processos organizacionais de produtos de software e serviços das empresas. De acordo com o CMMI, os níveis de maturidade são como se fossem uma classificação escalável de desempenho das empresas e todos os esforços de melhoria de processos com base em conjuntos predefinidos. Dentro de cada nível de maturidade, o conjunto predefinido de área de processo (PA) também fornece um caminho para a melhoria de desempenho. Cada nível de maturidade tem como base os níveis de maturidade anteriores, adicionando novas funcionalidades. De acordo com o CMMI, o nível de maturidade de uma empresa pode ser classificado em 5 níveis. Assinale a alternativa correta com uma característica associada ao nível 3. A) Políticas e procedimentos para gerenciar o desenvolvimento de software que estão definidos e são obedecidos. B) Os processos são improvisados e geralmente não são seguidos. C) A organização está engajada na melhoria contínua de seus processos. D) São estabelecidas metas quantitativas para os processos e produtos. E) Os processos utilizados são estabelecidos e padronizados em toda a empresa. 2) O CMMI (do inglês capability maturity model, ou modelo de maturidade em capacitação) foi criado a partir de uma evolução do CMM, buscando ser um modelo de referência de práticas necessárias para atingir a maturidadedas empresas. Considerando tal informação e com base no seu conhecimento sobre CMMI, assinale a alternativa correta. A) Um dos objetivos do CMMI é majorar os custos do processo de desenvolvimento de software. B) O CMMI procura estabelecer um modelo único para o processo de melhoria corporativo, integrando diferentes modelos e disciplinas. C) O CMMI utiliza novas práticas desconhecidas. D) O CMMI é um modelo de processo que retrata a maturidade do software de cada projeto, tendo um produto maduro e de alta qualidade na sua conclusão. E) O 1.o nível de maturidade do CMMI é a otimização. 3) Os níveis de maturidade do CMMI representam um conjunto predefinido de áreas de processo, mais conhecidas como PA. Esses níveis são medidos pelo alcance dos objetivos específicos e genéricos que se aplicam a cada conjunto predefinido de áreas de processo. Como o CMMI prevê cinco níveis de maturidade, marque a alternativa correta, na qual o nível de maturidade faz o uso de melhorias tecnológicas incrementais e inovadoras. A) O nível gerenciado é o primeiro nível. B) O nível da otimização é o último nível e prevê processos imprevisíveis e controlados. C) No nível inicial, os processos são proativos. D) No nível de otimização há foco contínuo na melhoria dos processos. E) No nível gerenciado os processos são medidos e proativos. 4) O modelo CMMI na versão v1.2 contém 22 áreas de processo. As empresas que estão nos estágios de Desempenho de Processo Organizacional — OPP (Organizational Process Performance) e que visam melhorar os processos por meio de análises e otimizações que podem ser usadas para avaliar o desempenho dentro da empresa, encontram-se em qual nível de maturidade? Marque a alternativa correta. A) Nível 1 — Inicial. B) Nível 2 — Gerenciado. C) Nível 3 — Definido. D) Nível 4 — Quantitativamente gerenciado. E) Nível 5 — Em otimização. Conforme o CMMI, um processo de software tem cinco níveis de maturidade. Considere uma empresa em que o sucesso dependa de talentos individuais, não há coordenação e bom relacionamento entre as áreas, não há previsão de problemas e sequer planejamento. 5) Em qual nível de maturidade na certificação CMMI o processo de software dessa empresa estará? Marque a alternativa correta. A) Nível 1 — Inicial. B) Nível 2 — Gerenciado. C) Nível 3 — Definido. D) Nível 4 — Quantitativamente gerenciado. E) Nível 5 — Em otimização. Na prática A certificação CMMI em sua versão atual prevê 5 níveis de maturidade: inicial, gerenciado, definido, quantitativamente gerenciado e em otimização. Nessa última classificação há um foco contínuo na melhoria do processo de software. Neste Na Prática, você verá o caso de João, sócio de uma fábrica de softwares, que pretende subir o nível de maturidade de sua certificação no CMMI. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. https://statics-marketplace.plataforma.grupoa.education/sagah/98f04c82-df6d-428e-bf1f-368ea3f1d138/3fafbe5f-8436-4d7c-8974-7b1109df9ee7.jpg Saiba + Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do professor: Entenda CMMI e CMM Confira a seguinte explicação sobre CMM e CMMI no vídeo a seguir. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. Engenharia de software Confira o seguinte livro, da autora Adriana de Souza Vetorazzo, especialmente o capítulo sobre modelo de qualidade de software. Conteúdo interativo disponível na plataforma de ensino! Novo modelo do CMMI traz mais benefícios às empresas para melhoria nos processos Leia a matéria sobre os benefícios do CMMI nas empresas publicada no site da Computer World. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. Processo de desenvolvimento de requisitos do CMMI-DEV e MRMPS-SW para projetos de manutenção evolutiva: um estudo de caso de implementação Esta dissertação apresenta um estudo de caso sobre o processo de desenvolvimento de requisitos do CMMI-DEV. https://www.youtube.com/embed/lFrsy6sPVic https://computerworld.com.br/2018/07/06/novo-modelo-do-cmmi-traz-mais-beneficios-empresas-para-melhoria-nos-processos/ Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. Introdução sobre CMMI diretamente do Instituto CMMI Neste site você vai ver a introdução sobre CMMI diretamente do Instituto CMMI. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. http://ppgcc.propesp.ufpa.br/ARQUIVOS/Disserta%C3%A7%C3%B5es_2017/Aline%20Francielle%20dos%20Anjos%20Lima_Disserta%C3%A7%C3%A3o.pdf https://cmmiinstitute.com/cmmi/intro
Compartilhar