Baixe o app para aproveitar ainda mais
Prévia do material em texto
Qualidade e testes de software CMMI Unidade 3 CMMI Unidade 3 Qualidade e testes de software Qualidade e testes de software | Unidade 3 - CMMI 3 Unidade 3 CMMI Objetivo da aprendizagem: • Apresentar o modelo CMMI, sua descrição e como ele auxilia na melhoria de processos de desenvolvimento de software. Tópicos de estudo: • Sobre o CMMI; • Representações do CMMI; • Áreas de processo do CMMI; • Obtendo a certificação. Iniciando os estudos: Na constante busca por qualidade no desenvolvimento de software, com a finalidade de entregar aos clientes e usuários um produto de qualidade, é necessário também direcionar esforços para a promoção dos processos envolvidos. Nesse sentido, você conhecerá em detalhes o modelo CMMI, ferramenta criada para auxiliar organizações desenvolvedoras de software na implementação da qualidade de processo até a qualidade do produto. Qualidade e testes de software | Unidade 3 - CMMI 4 1 SOBRE O CMMI O CMMI é um modelo de maturidade criado com o objetivo de proporcionar condições para a evolução das boas práticas de engenharia de software. Foi desenvolvido pelo Instituto de Engenharia de Software da Universidade de Carnegie Mellon (SEI/CMU), localizado em Pittsburg, nos Estados Unidos. O resul- tado de uma série de estudos iniciais culminou na criação do CMM (Capability Maturity Model), Modelo de Capacidade e Maturidade (MACHADO, 2016). No CMM, dependendo da área de aplicação, diferentes modelos foram criados, como o SW-CMM (CMM para Software) e SA-CMM (CMM para aquisição de Software). Procurando então evoluir e integrar esses modelos em um volume único, substituindo-os, o SEI criou o CMMI (Capability Maturity Model Integra- tion) ou Integração de Modelos de Capacidade e Maturidade. O objetivo do CMMI, em linhas gerais, é melhorar os processos de uma organização ao adotá-lo. Como um modelo de referência, serve como uma estruturação de práticas e abordagens de sucesso comprovado. Essas práticas procuram contribuir com a organização através da disponibilização de orientações sobre: • Como avaliar a maturidade da organização e sua capacidade por área de processos; • Como estabelecer atividades prioritárias para as melhores propostas; • Como implementar as melhorias propostas. O modelo de referência é composto por múltiplos modelos de processo em conjunto a seus manuais e material de treinamento e de avaliação. Esses modelos integram o gerenciamento de qualidade, utilizando as melhores práticas aplicadas a determinados domínios sobre as práticas de mudança da organização. Além disso, o CMMI fornece um mecanismo de avaliação bem estabelecido de maturidade de processo. Acesse na plataforma o vídeo: Componentes do CMMI. Assista No CMMI você encontrará duas representações, por estágios e contínua. Nessas representações, encon- tram-se os seguintes componentes (SOMMERVILLE, 2011): 1. Um conjunto de áreas de processo relacionadas às atividades de processos de software. O CMMI identifica áreas de processo relevantes para a melhoria e a capacidade de processo de software. Essas são organizadas em quatro grupos no modelo CMMI. Na representação contínua e na representação por estágios, aparecem em cada um deles. 2. Um número de metas, que são descrições abstratas de um estado desejável a ser atin- gido por uma organização. O CMMI tem metas específicas, associadas a cada área de processo, e define o estado desejável para cada área. Ele também define metas gené- ricas associadas com a institucionalização das boas práticas. Qualidade e testes de software | Unidade 3 - CMMI 5 3. Um conjunto de boas práticas, que são as descrições das formas de como alcançar uma meta. Várias práticas específicas e genéricas podem ser associadas com cada meta dentro de uma área de processo. No entanto, o CMMI reconhece que o mais importante é a meta e não a maneira como ela é alcançada. As organizações podem usar quaisquer práticas adequadas para atingir qualquer uma das metas do CMMI, pois não precisam de fato adotar as práticas recomendadas no próprio CMMI. Breve introdução ao CMMI, contendo conceitos, definições e motivações. Título: CMMI: uma visão geral Link: https://www.devmedia.com.br/cmmi-uma-visao-geral/25425 Aprofunde-se Por fim, segundo Smith (apud MACHADO, 2016), o CMMI se tornou um veículo popular para a determina- ção de maturidade de processo de desenvolvimento de software de organizações em diversos domínios. Esse artigo foca nas razões por trás da adoção do CMMI e inclusive traz motivações existentes para o mercado brasileiro de software. Título: Desmistificando o CMMI Link: http://asrconsultoria.com.br/index.php/2016/06/22/desmistificando-o-cmmi/ Aprofunde-se 2 REPRESENTAÇÕES DO CMMI Como você viu, o modelo CMMI possui duas representações: a representação por estágios e a repre- sentação contínua. Na representação por estágios, o modelo é utilizado para avaliar a capacidade da organização como um todo. Na representação contínua, a medição é feita sobre a maturidade das áreas de processo específicas dentro da organização. 2.1 REPRESENTAÇÃO POR ESTÁGIOS A representação por estágios se concentra nas melhores práticas que uma organização pode utilizar para melhorar processos das áreas do nível que se deseja atingir. Antes de iniciar a utilização do modelo CMMI, os processos da organização devem ser mapeados em relação aos processos e áreas de processo do CMMI. Esse mapeamento permitirá controlar a melhoria do processo da organização por meio da possibilidade de analisar o nível de conformidade da organização em relação ao modelo. Ressalta-se https://www.devmedia.com.br/cmmi-uma-visao-geral/25425 http://asrconsultoria.com.br/index.php/2016/06/22/desmistificando-o-cmmi/ Qualidade e testes de software | Unidade 3 - CMMI 6 que não é necessário que todas as áreas de processo do CMMI mapeiem exatamente um por um os processos de uma organização. Na representação por estágios, há uma sequência de atividades e práticas que deve ser respeitada em cada estágio, uma vez que servem de base para se alcançar o estágio seguinte. Cada um dos estágios é conhecido por níveis de maturidade (Maturity Levels). Na figura abaixo, você encontrará os cinco níveis de maturidade propostos na representação por estágios do CMMI: Você pode compreender os níveis da representação por estágios da seguinte maneira: • Nível 1 – Inicial: os processos de uma organização são imprevisíveis, pouco contro- lados e caóticos. • Nível 2 – Gerenciado: os processos de uma organização são caracterizados por projeto e geralmente as ações são frequentemente reativas. • Nível 3 – Definido: os processos de uma organização são bem caracterizados e compreendidos pela organização (envolvem toda a organização) e são proativos. • Nível 4 – Gerenciado quantitativamente: aqui os processos de uma organização são medidos e controlados. • Nível 5 – Otimizado: nesse nível, os processos de uma organização estão sob cons- tante melhoria. Figura 1 - Níveis de maturidade da representação por estágios do CMMI. Fonte: adaptado de Sommerville (2011). ED + Co nt en t H ub © 2 01 9 Qualidade e testes de software | Unidade 3 - CMMI 7 Acesse na plataforma o vídeo: A representação por estágios do CMMI. Assista Título: 1 - ISD BRASIL - o que é o nível 1 de maturidade do CMMI Acesso em: 28/10/2019. Disponível em: https://youtu.be/kF8sxDDoRns Aprofunde-se Comumente, você encontrará organizações avaliadas nos níveis de maturidade do CMMI, sendo referen- ciadas, por exemplo, como: “a organização X está no nível 3 do CMMI”. Título: 2 - ISD BRASIL - implementando o CMMI nível 3 de maturidade Acesso em: 28/10/2019. Disponível em: https://youtu.be/PiQh_bzoJoc Aprofunde-se 2.2 REPRESENTAÇÃO CONTÍNUA Na representação contínua do CMMI, ou CMMI Contínuo, diferentemente da representação por estágios, não se tem a maturidade de uma organização medida por níveis preestabelecidos. Nessa representação, a maturidade é medida em cada processo individualmente.Para avaliação dos processos, são utilizados níveis de capacidade (Capability Levels) (MACHADO, 2016): • Nível 0 - Incompleto (Ad hoc). • Nível 1 - Executado (definido): o processo é executado de modo a completar somente o trabalho necessário demandado. • Nível 2 - Gerenciado: é sobre planejar a execução e confrontar o executado contra o que foi planejado. • Nível 3 - Definido: o processo é construído sobre as diretrizes do processo existente e é mantida uma descrição do processo. • Nível 4 - Quantitativamente gerenciado/ Gerido quantitativamente: é quando o processo é gerenciado quantitativamente através de estatísticas e outras técnicas. • Nível 5 - Em otimização (ou otimizado): o processo gerido quantitativamente é alte- rado e adaptado para atender às necessidades negociais/estratégicas da empresa. https://youtu.be/PiQh_bzoJoc Qualidade e testes de software | Unidade 3 - CMMI 8 Acesse na plataforma o vídeo: A representação contínua do CMMI Assista Esse artigo se concentra especificamente na representação contínua e seus níveis de capacidade de maneira simplificada. Título: CMMI - Representação Contínua - Níveis de Capacidade Link: https://bit.ly/375B0z0 Aprofunde-se Quando uma organização busca apenas melhorar processos específicos, a representação contínua é indicada. Por exemplo, em uma organização você poderá encontrar processos tanto no nível de capaci- dade 1 quanto no nível 4. Talvez por uma decisão interna ou qualquer outro fator, a organização queira melhorar apenas o processo que se encontra no nível 1. Na figura abaixo, há um possível perfil de avaliação de processo nos diferentes níveis de capacidade da representação contínua. Nessa figura, você pode observar que diferentes processos possuem diferentes níveis de capacidade atribuídos. Figura 2 - Exemplo de um perfil de avaliação de processos em níveis de capacidade. Fonte: adaptado de Sommerville (2011). https://bit.ly/375B0z0 Qualidade e testes de software | Unidade 3 - CMMI 9 Esse artigo apresenta uma comparação entre as representações do CMMI em inglês. Título: SEI CMMI Representations Link: https://www.tutorialspoint.com/cmmi/cmmi-representations.htm Aprofunde-se 3 ÁREAS DE PROCESSO DO CMMI Acesse na plataforma o vídeo: Áreas de processo. Assista Em cada uma das representações do CMMI, existem áreas de processo distribuídas tanto nos níveis de maturidade (representação por estágios) quanto nos níveis de capacidade (representação contínua). Uma área de processo é o agrupamento de práticas relacionadas a determinado contexto que, quando execu- tadas de forma coletiva, satisfazem uma série de metas consideradas importantes para alcançar uma melhora significativa naquele contexto (ou seja, atingir um certo nível de maturidade) (MACHADO, 2016). Na tabela abaixo, você poderá visualizar as áreas de processo existentes na representação por estágios. Cada nível é composto por uma coleção de áreas de processo. Nível de maturidade Áreas de processo Nível 2 - Gerenciado Gestão de requisitos; Planejamento de projeto; Monitorização e controle de projeto; Gestão do acordo com o fornecedor; Medição e análise; Garantia da qualidade do processo e do produto; Gestão de configurações. Nível 3 - Definido Desenvolvimento de requisitos; Solução técnica; Integração do produto; Verificação; Validação; Enfoque no processo organizacional; Definição do processo organizacional; Formação organizacional; Gestão integrada do projeto; Gestão de risco; Integração de equipes; Gestão integrada de fornecedores; Ambiente organizacional para integração; Análise das decisões e resolução. Nível 4 - Gerenciado quantitativamente Performance do processo; Organizacional; Gestão quantitativa do projeto. Nível 5 - Otimizado Inovação e desenvolvimento organizacional; Análise e resolução de causa. Tabela 1 - Níveis de maturidade da representação por estágios do CMMI e suas respectivas áreas de processo. Fonte: adaptado de Machado (2016). https://www.tutorialspoint.com/cmmi/cmmi-representations.htm Qualidade e testes de software | Unidade 3 - CMMI 10 Já em relação à representação contínua, as áreas de processo são divididas por categoria, como pode ser visto na tabela a seguir: Categoria Áreas de processo Gestão de processos Enfoque no processo organizacional; Definição do processo organizacional; Formação organizacional; Desempenho de processo organizacional; Inovação e implementação organizacional. Gestão de projeto Planejamento de projeto; Monitorização e controle de projeto; Gestão do acordo com o fornecedor; Gestão integrada do projeto; Gestão de risco de integração de equipes; Gestão integrada de fornecedores; Gestão quantitativa do projeto. Engenharia Gestão de requisitos; Desenvolvimento de requisitos; Solução técnica; Integração do produto; Verificação; Validação. Suporte Gestão de configurações; Garantia da qualidade do processo e do produto; Medição e análise; Análise das decisões e resolução; Ambiente organizacional para integração; Análise e resolução causal. Esse artigo apresenta uma descrição detalhada de práticas genéricas e específicas de cada área de processo do CMMI em inglês. Título: CMMI - Key Process Areas Link: https://www.tutorialspoint.com/cmmi/cmmi_process_areas.htm Aprofunde-se Por fim, para cada área de processo, como já mencionado, existem metas genéricas e específicas. Na tabela abaixo, você pode ver alguns exemplos de metas associadas às áreas de processo: Meta Área de processo Ações corretivas são gerenciadas até a conclusão, quando o desempenho ou os resultados do projeto se desviam significativamente do plano. Monitoração e controle de projeto (meta específica). O desempenho atual e o progresso do projeto são monitorados frente ao planejamento do próprio projeto. Monitoração e controle de projeto (meta específica). Os requisitos são analisados e validados e uma definição da funcionalidade requerida é desenvolvida. Desenvolvimento de requisitos (meta específica). Causas raiz de defeitos e outros problemas são sistematicamente determinados. Análise causal e resolução (meta específica). O processo é institucionalizado como um processo definido. Meta genérica. Tabela 2 - Categorias da representação contínua do CMMI e suas áreas de processo associadas. Fonte: adaptado de Machado (2016). Tabela 3 - Exemplos de metas para algumas áreas de processo do CMMI. Fonte: adaptado de Sommerville (2011). https://www.tutorialspoint.com/cmmi/cmmi_process_areas.htm Qualidade e testes de software | Unidade 3 - CMMI 11 Essa dissertação de mestrado apresenta um trabalho relevante ao mapear as áreas de processo do CMMI em relação a métodos ágeis de desenvolvimento em inglês. Título: Mapping CMMI process areas to agile best practices Link: https://run.unl.pt/bitstream/10362/60403/1/TGI0186_final.pdf Aprofunde-se 4 OBTENDO A CERTIFICAÇÃO A obtenção da certificação CMMI traz consigo uma série de benefícios para a organização que pretende adotá-la (PROMOVE, 2018): • Maior controle produtivo: o objetivo principal da implantação desse modelo é a capacidade de monitorar e controlar os processos de desenvolvimento e entrega de softwares e serviços. Com isso, a organização que o obtiver terá uma visão geral do fluxo produtivo, desde seu planejamento até a execução. Com indicadores compara- tivos relevantes, facilita o processo de compreensão de onde estão os pontos fortes e fracos da sua equipe e de seus projetos, adaptando o desenvolvimento às necessi- dades encontradas. • Mais produtividade: processos otimizados e um fluxo simplificado de trabalho vão se traduzir em aumento de produtividade no mundo corporativo. Somado a isso, a certifi- cação CMMI permite a inclusão de uma estrutura inteligente de comunicação interna. A empresa tem mais ferramentas para produzir e mais integração para colaborar. • Iteração constante: nos níveis mais altos do CMMI, o controle da produção é inte- grado ao trabalho do gestor,facilitando seu trabalho em buscar constantemente a melhora de processos e o aumento da produtividade citada anteriormente. Além disso, ao mesmo tempo em que se busca otimizar o trabalho de uma equipe, essa mesma equipe possui as ferramentas necessárias para otimizar um código, refinar um produto ou aprimorar a entrega de um serviço. Por isso a iteração constante é uma vantagem competitiva importante para quem trabalha com produtos de softwares. Em 2007, a empresa Ci&T, especializada em desenvolvimento e outsourcing de aplicações, obteve o nível CMMI 5. Para tanto, foi necessário o investimento do montante de aproximadamente US$1 milhão. Esse investimento foi necessário para um treinamento de quatro anos, com preparação e adequação de processos. Fonte: https://www.baguete.com.br/noticias/software/13/04/2007/cit-investe-us-1-milhao-na- conquista-do-cmmi5 Reflita https://run.unl.pt/bitstream/10362/60403/1/TGI0186_final.pdf https://www.baguete.com.br/noticias/software/13/04/2007/cit-investe-us-1-milhao-na-conquista-do-cmmi5 https://www.baguete.com.br/noticias/software/13/04/2007/cit-investe-us-1-milhao-na-conquista-do-cmmi5 Qualidade e testes de software | Unidade 3 - CMMI 12 • Agilidade para atender demandas: as demandas de clientes acompanham a velo- cidade com que a tecnologia avança. Portanto, as organizações que obtêm sucesso nesse mercado são aquelas que identificam e alcançam nichos antes de concorrentes, consolidando-se como uma referência entre aquela clientela. Para conseguir atingir esse ponto de agressividade, qualquer negócio precisa de uma TI organizada e pronta para responder a uma demanda o mais rápido possível. Nesse sentido, a certificação CMMI garante que você tenha a inteligência e a otimização de processos necessárias para conseguir esse feito. • Menos riscos no planejamento: se há controle na capacidade produtiva de uma organização, os riscos no planejamento são menores. É possível mapear demandas e sugerir processos que atinjam seus objetivos gastando-se menos e com qualidade na entrega. Previsibilidade é uma das palavras-chave para organizações que buscam a certificação em CMMI. • Maior satisfação do cliente: processos definidos e monitorados, agilidade na resposta às demandas e, principalmente, qualidade na entrega ao cliente são as características que levam sua organização a satisfazer sua clientela com sucesso. Em um mercado acirrado e volátil, essa satisfação significa entregar um produto ou serviço de qualidade com preço acessível e que supere expectativas. No caso das concorrências públicas, trata-se de uma forma de se destacar como uma solução prática, confiável e segura. Acesse na plataforma o vídeo: Razões para a certificação. Assista Qualidade e testes de software | Unidade 3 - CMMI 13 Aspectos para obtenção da certificação CMMI Há diversos aspectos que devem ser contemplados para a obtenção da certificação CMMI. Tais aspectos vão de encontro a um processo rigoroso de avaliação. O planejamento da avaliação dura em média 3 meses. A condução da avaliação dura de 6 a 8 dias. Resultado da avaliação: ocorre imediatamente após a condução da avaliação. A avaliação tem duração de 3 anos. Após esse período, é necessário realizar uma nova avaliação. Deve ser definido por quem deseja obter a certificação de qual será o escopo organizacional. Avaliação • Coletar dados para entender os processos implementados; • Determinar nível de aderência de um processo em relação aos componentes do CMMI; • Determinar grau de satisfação das metas investigadas; • Identificar pontos fortes e fracos do processo; • Atribuir classificação. 1 A avaliação deve ser conduzida por um profissional capacitado chamado “lead appraiser”. 2 34 5 6 7 ED + Co nt en t H ub © 2 01 9 Infográfico 1 - Aspectos para obtenção da certificação CMMI. Qualidade e testes de software | Unidade 3 - CMMI 14 Esse artigo apresenta o método SCAMPI em detalhes, método utilizado em avaliações do SEI para organizações que almejam a certificação CMMI. Título: Standard CMMI® Appraisal Method for Process Improvement (SCAMPI) Version 1.3b Link: https://cmmiinstitute.com/resources/standard-cmmi-appraisal-method- process-improvement-scampi-version-13b-method-definition Aprofunde-se Em 2017, a DB1 Global Software, multinacional de tecnologia sediada em Maringá (PR), renovou a certificação CMMI Nível 3, emitida pelo CMMI Institute, que atesta aderência ao padrão internacional de qualidade de software. A primeira certificação foi concedida à DB1 em 2013 e, desde então, vem credenciando a empresa ao crescimento nos negócios e à participação em licitações oficiais. Fonte: https://bit.ly/2q4l53B Reflita https://cmmiinstitute.com/resources/standard-cmmi-appraisal-method-process-improvement-scampi-version-13b-method-definition https://cmmiinstitute.com/resources/standard-cmmi-appraisal-method-process-improvement-scampi-version-13b-method-definition https://bit.ly/2q4l53B Qualidade e testes de software | Unidade 3 - CMMI 15 CONSIDERAÇÕES FINAIS Nesta unidade, você pôde conhecer o modelo CMMI, muito utilizado em organizações de desenvolvi- mento de software, no intuito de melhorarem seus processos. Uma vez melhorados seus processos, por consequência a organização ganha reconhecimento no mercado, facilitando a captação de novos clientes e solidifica sua marca. Qualidade e testes de software | Unidade 3 - CMMI 16 GLOSSÁRIO SEI/CMU: Software Engineering Institute/Carnegie Mellon University. Qualidade e testes de software | Unidade 3 - CMMI 17 REFERÊNCIAS MACHADO, Felipe Nery Rodrigues. Análise e Gestão de Requisitos de Software - Onde nascem os sistemas. 3. ed. São Paulo: Érica, 2015. PROMOVE. Certificação CMMI: conheça os benefícios alcançados por empresas brasileiras, 2018. Disponível em: https://www.promovesolucoes.com/certificacao-cmmi-conheca-os-beneficios-alcancados-por- -empresas-brasileiras/. Acesso em: 31 nov. 2019. SOMMERVILLE, I. Engenharia de Software. Tradução Ivan Bosnic e Kalinga G. de O. Gonçalves. 9. ed. São Paulo: Pearson Prentice Hall, 2011. https://www.promovesolucoes.com/certificacao-cmmi-conheca-os-beneficios-alcancados-por-empresas-bras https://www.promovesolucoes.com/certificacao-cmmi-conheca-os-beneficios-alcancados-por-empresas-bras
Compartilhar