Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% acharam este documento útil (0 voto)
4 visualizações11 páginas

Qualidade de software

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1/ 11

CMMI - Definição e Conceitos

APRESENTAR A ESTRUTURA DO MODELO DE MATURIDADE E CAPACIDADE CMMI-DEV COM OS

PRINCIPAIS COMPONENTES

AUTOR(A): PROF. CELSO EDUARDO GUIMARAES

O Modelo CMMI

A qualidade de um sistema, assim como de outros produtos, é diretamente influenciada pela qualidade dos

processos aplicados no desenvolvimento e produção desses produtos (SOFTWARE ENGINEERING


INSTITUTE, 2010). No desenvolvimento de um software, é recomendável que seja implantado um processo

de software que direcione as pessoas na sua produção por meio de boas práticas.
Segundo Bartié (2002), o foco na qualidade da produção de software deve ser dado em todas as fases do

ciclo de desenvolvimento de software. Dessa forma, devemos entender que a qualidade do software é
diretamente influenciada desde a ideia inicial para criação do sistema, passando pela concepção,

modelagem, construção, testes, validação, implantação e manutenção (evolução) do software. Sem deixar
de lado atividades de gerenciamento e outras que dão suporte à criação e manutenção de software.

No mercado, há diferentes normas e modelos que visam fornecer orientações para organizações, trazendo

boas práticas nas diferentes etapas de produção de software. Entre esses modelos, um dos mais importantes

é o Capability Maturity Model Integrated (CMMI) - Modelo de Maturidade e Capacidade Integrado, elaborado

pelo Software Engineering Institute (SEI) dos Estados Unidos.

O CMMI® (Capability Maturity Model® Integration – Modelo Integrado de Maturidade e

de Capacidade) é um modelo de maturidade para melhoria de processo, destinado ao


desenvolvimento de produtos e serviços, e composto pelas melhores práticas associadas a
atividades de desenvolvimento e de manutenção que cobrem o ciclo de vida do produto
desde a concepção até a entrega e manutenção.

(SOFTWARE ENGINEERING INSTITUTE, 2010)

O modelo CMMI é composto de coleções desenvolvidas por equipes membros do SEI. Entre essas coleções,
temos um modelo chamado de CMMI-DEV, que é destinado ao desenvolvimento de produtos e serviços.
(SOFTWARE ENGINEERING INSTITUTE, 2010).
Caro aluno, você terá a oportunidade de estudar, nesse tópico, o Modelo de Capacidade e Maturidade

CMMI-DEV. Mas antes, vamos entender melhor a relação maturidade e qualidade no processo de software.

Qualidade X maturidade do processo de software

Como já vimos, a qualidade de um software está diretamente ligada à qualidade do seu processo de
desenvolvimento. Deve-se considerar também o quanto este processo, além de possuir qualidade, possui
maturidade. Existem diversas formas de se avaliar a maturidade de um processo de desenvolvimento de
software, entre elas, podem ser citadas a disciplina para a execução das tarefas e as atividades relacionadas

ao processo e a preocupação constante com a qualidade do produto gerado.


A qualidade de um processo de desenvolvimento de software pode ser avaliada pelo nível de maturidade
dos seus processos. A capacidade de atingir as metas pré-estabelecidas para custos, qualidade e cronograma
é um indicativo da maturidade desses processos.

Processos de desenvolvimento de software imaturos geralmente não possuem disciplina, isto é, as tarefas
não seguem um padrão para sua realização, são fortemente dependentes dos profissionais e são
improvisados, ou seja, as tarefas, as atividades e os papéis dos profissionais não seguem uma regra pré-

estabelecida. Como consequência dessa imaturidade, os sistemas são gerados com baixa qualidade, com
custos mais elevados do que deveriam e com produtividade acentuadamente menor.
Por outro lado, um processo de desenvolvimento de software maduro é conhecido e seguido por todos os
desenvolvedores. Ele tem o apoio da alta administração e realiza métricas para melhorar as estimativas de
custo e prazo, além de passar por auditoria para avaliar sua eficácia. Dessa forma, pode existir a adoção
disciplinada de novas tecnologias, a realização de testes é possível para que se avalie a qualidade do

produto desde os seus estágios iniciais e os papéis, e as responsabilidades são definidas e obedecidas. Como
consequência, é gerado um produto de software com qualidade superior.

O Modelo CMMI para Desenvolvimento

De acordo com a SOFTWARE ENGINEERING INSTITUTE (2010), o escopo do modelo de referência CMMI-
DEV, envolve as atividades tanto de desenvolvimento quanto de manutenção de produtos e serviços. Esse
modelo contém práticas das disciplinas utilizadas nas áreas de Gestão de Projeto, Gestão de Processo,

Engenharia de Sistemas, Engenharia de Hardware, Engenharia de Software e outros processos que podem
ser utilizados em desenvolvimento e manutenção.
A aplicação do modelo em uma organização deve ser feita de modo customizado, pois as diretrizes descritas
são baseadas em melhores práticas para a maioria dos usuários, áreas e práticas de processo, mas devem ser
aplicadas levando em consideração as limitações organizacionais e o ambiente de negócios em que a
organização está inserida. Ou seja, deve ser adaptada às necessidades e realidades da empresa.
Na sequência você terá a oportunidade de estudar os principais componentes que compõem a estrutura do

Modelo CMMI-DEV.
Estrutura do Modelo CMMI-DEV

O objetivo principal do modelo é proporcionar às organizações condições para que façam diagnóstico dos
graus de capacidade e de maturidade no processo de produção de software (KOSCIANSKI e SOARES, 2007).

Além disso, fornece uma estrutura completa, também conhecida como framework, para melhorar

continuamente seu processo produtivo e galgar níveis cada vez mais altos na qualidade e excelência nos
serviços.
Outro ponto de destaque é que o modelo disponibiliza uma forma de certificação, por meio de auditoria
externa e independente, do patamar de maturidade que empresa se encontra.

A organização do framework se baseia inicialmente em áreas de processo, conforme veremos a seguir.

Áreas de Processo

O primeiro conceito importante que se deve buscar entendimento para compreender o modelo é em relação
a “Áreas de Processos”. A SEI define assim esse conceito:

Uma área de processo possui um conjunto de atividades relacionadas que, quando


realizadas adequadamente, atendem a um conjunto de objetivos considerados
importantes para aumentar a capacidade desse processo.
(SOFTWARE ENGINEERING INSTITUTE, 2010)
SãO 22 áREAS DE PROCESSO, DIVIDIDAS EM
QUATRO CATEGORIAS. AS CATEGORIAS SãO:
Gestão de Processos
Gestão de Projetos
Engenharia
Suporte

As áreas de processo são:

Análise e Resolução de Causas


Análise e Tomada de Decisões
Definição dos Processos da Organização
Desempenho dos Processos da Organização
Desenvolvimento de Requisitos
Foco nos Processos da Organização
Garantia da Qualidade de Processo e Produto
Gestão de Configuração
Gestão de Contrato com Fornecedores
Gestão de Requisitos
Gestão de Riscos
Gestão Integrada de Projeto
Gestão Quantitativa de Projeto
Implantação de Inovações na Organização
Integração de Produto
Medição e Análise
Monitoramento e Controle de Projeto
Planejamento de Projeto
Solução Técnica
Treinamento na Organização
Validação
Verificação
A figura a seguir relaciona cada área de processo a sua respectiva categoria:

Áreas de Processo CMMI-DEV por Categoria

Categorias Áreas de Processo


Categorias Áreas de Processo
Definição do Processo Organizacional;
Desempenho do Processo Organizacional;
Gestão de Processos Foco no Processo da Organização;
Inovação e Implantação Organizacional;
Treinamento Organizacional.

Contratação e Gestão de Fornecedores;


Controle e Monitoramento de Projetos;
Gerenciamento de Riscos;
Gestão de Projetos Gerenciamento Integrado de Projeto;
Gerenciamento Quantitativo do Projeto;
Gestão de Requisitos;
Planejamento de Projetos.

Desenvolvimento de Requisitos;
Integração de Produtos;
Engenharia Solução Técnica;
Validação;
Verificação.

Análise e Resolução de Causas;


Análise e Tomada de Decisão;
Suporte Garantia de Qualidade de Processo e Produto;
Gestão da Configuração;
Medição e Análise.

Para atingir níveis cada vez mais elevados de capacidade em cada área de processo relacionada acima, o

modelo traz alguns componentes que complementam o framework. Esses componentes, assim como suas

ligações hierárquicas estão representados na figura a seguir:


Legenda: COMPONENTES DO MODELO CMMI-DEV

Como você pode observar na legenda contida na figura acima, há componentes do modelo que são

requeridos, esperados ou informativos.

Os componentes requeridos são essenciais para promover a melhoria em cada área de processo. Já os
esperados esclarecem o que pode ser feito para satisfazer um componente requerido. E, por fim, os

informativos auxiliam os usuários com esclarecimentos adicionais a entenderem os componentes


requeridos e esperados do modelo.

Componentes das Áreas de Processo

Objetivos das Áreas de Processo: Descreve os objetivos de cada uma das áreas de processos.
Notas Introdutórias: Descreve os principais conceitos abordados nas áreas de processo.
Áreas de Processo Relacionadas: Apresenta referências às áreas de processo que possuem relação entre si.
Metas Específicas: Descreve as características que devem estar presentes para uma implementação
adequada de uma área de processo.
Metas Genéricas: Descreve também características que devem estar presentes nas áreas de processo. São
denominadas “genéricas” porque a mesma declaração de meta se aplica a várias áreas de processo.
Práticas Específicas: É uma descrição de uma atividade considerada importante para a satisfação da meta
específica associada.
Práticas Genéricas: Descrevem uma atividade considerada importante para a satisfação da meta genérica
associada. São denominadas “genéricas” porque a mesma prática se aplica a várias áreas de processo.
Produtos de Trabalho Típicos: Traz exemplos de saídas de uma prática específica.
Subpráticas: É uma descrição detalhada que orienta a interpretação e implementação de uma prática
específica ou uma prática genérica.
Orientações para Aplicação: Fornecem orientação para a aplicação da prática genérica na área de
processo.

Níveis de Maturidade CMMI-DEV

Conforme já vimos, o CMMI permite que o processo de desenvolvimento de software evolua e adquira
maturidade. Isso deve ocorrer em vários pequenos passos, não por uma grande revolução (KOSCIANSKI e
SOARES, 2007). O CMMI-DEV organiza os passos evolucionários de forma que a organização possa escalar
níveis de maturidade.

O modelo é dividido em cinco níveis de maturidade, sendo que o mais elementar é o um e o mais elevado, o
cinco. Para se atingir certo nível de maturidade, é necessário atingir os objetivos das áreas de processo que
compõem esse nível. Sabe-se que os objetivos da área de processo foram atingidos quando os componentes

metas específicas e metas genéricas dessa área foram completamente contemplados.


Legenda: NíVEIS DE MATURIDADE CMMI-DEV

Com exceção do nível um, que é o nível em que se tem somente a intenção de melhoria da qualidade, os
demais níveis possuem áreas-chave de processo: as áreas-chave de processo do nível dois se referem à

qualidade voltada para o produto de software; as do nível três têm o seu foco nos processos da empresa; as
do nível quatro estão voltadas para o gerenciamento quantitativo de desempenho do projeto e as do nível
cinco destinam-se à melhoria contínua do modelo.

De acordo com o que mostra o infográfico, os níveis de maturidade do CMMI-DEV podem ser descritos da
seguinte forma:

Nível 1 (Inicial): o processo é imprevisível, sem controle e caótico.


Nível 2 (Gerenciado): com a aplicação das áreas de processo deste nível, é criado um processo que permite
a reprodução dos resultados obtidos em desenvolvimentos anteriores. Processo disciplinado.
Nível 3 (Definido): processo consistente, aplicado e padronizado. Neste nível, existe a preocupação em
identificar os processos de trabalho da organização visando, entre outras coisas, à melhoria desses
processos.
Nível 4 (Gerenciado Quantitativamente): a organização e os projetos estabelecem objetivos quantitativos
para qualidade e para desempenho de processo, utilizando-os como critérios na gestão de processos.
Nível 5 (Em Otimização): o foco, neste nível, é o aperfeiçoamento contínuo do modelo que foi implantado.

Objetivos das certificações CMMI

O custo para certificações do tipo CMMI-DEV é extremamente elevado para a empresa. Além da
implementação das áreas de processo, as empresas certificadoras cobram algumas centenas de milhares de

reais para certificar uma organização. Contudo, existe uma grande procura por essas certificações devido
aos benefícios obtidos, como:

Planejamento das atividades com maior confiabilidade.


Maior precisão com relação a custos e prazos.
Capacidade de repetir procedimentos de sucesso.
Menor taxa de erros nos processos.
Capacitação da organização em participar de licitações públicas.
Reconhecimento externo da maturidade da organização.

Agora que você já estudou esta aula, resolva os exercícios e verifique seu conhecimento. Caso fique com

alguma dúvida, leve a questão ao fórum e divida com seus colegas e professor.

ATIVIDADE

Sobre o CMMI-DEV, assinale a alternativa correta:

A. O modelo de maturidade e capacidade CMMI é uma prescrição rígida, a qual as empresas devem

seguir as suas instruções à risca sem possibilidade de adaptações.


B. O objetivo principal do modelo é proporcionar às organizações condições para que façam diagnóstico
dos graus de capacidade e de maturidade no processo de produção de software.

C. Na representação por estágio, os níveis de maturidade não podem ser certificados por organismo
externo.
D. A representação por estágio possui 4 níveis de maturidade, variando do 0 ao 3.
ATIVIDADE

"possui um conjunto de atividades relacionadas que, quando realizadas


adequadamente, atendem a um conjunto de objetivos considerados

importantes para aumentar a capacidade de um processo". Esse


conceito se refere a qual componente do CMMI?

A. Práticas Específicas
B. Metas Específicas
C. Produtos de Trabalho Típicos

D. Áreas de Processo

ATIVIDADE

Sobre o CMMI-DEV, assinale a alternativa incorreta:

A. O Nível de Maturidade 2 é conhecido como "Gerenciado" onde, com a aplicação das áreas de
processo deste nível, é criado um processo que permite a reprodução dos resultados obtidos em
desenvolvimentos anteriores.
B. É possível a empresa se certificar no nível de maturidade 3, mesmo que não tenha atingido o nível 2.

C. O Nível de Maturidade 5 é conhecido como "Em Otimização" e seu foco, é o aperfeiçoamento


contínuo do modelo que foi implantado.
D. O primeiro nível de maturidade certificável é o 2, uma vez que o nível 1 é o inicial, onde a

organização tem somente a intenção de melhoria da qualidade.

REFERÊNCIA
BARTIÉ, A. Garantia da qualidade de software. Rio de Janeiro: Campus, 2002.

KOSCIANSKI, A.; SOARES, M. D. S. Qualidade de software: aprenda as metodologias e técnicas mais


modernas para o desenvolvimento de software. 2. ed. São Paulo: Novatec, 2007.

PAULA FILHO, W. D. P. Engenharia de Software: fundamentos, métodos e padrões. Rio de Janeiro: LTC, 2003.

PFLEEGER, S. L. Engenharia de Software: teoria e prática. 2. ed. São Paulo: Pearson, 2004.

PRESSMAN, R. S. Engenharia de Software: Uma Abordagem Profissional. 7. ed. Porto Alegre: McGraw Hill,
2011.

SOFTWARE ENGINEERING INSTITUTE. CMMI for Services Version 1.3. Bedford: Carnegie Mellon, 2010.
Disponivel em: <www.sei.cmu.edu/reports/10tr033.pdf>. Acesso em: 21 set. 2016.

SOMMERVILLE, I. Engenharia de Software. 8. ed. São Paulo: Pearson Addison-Wesley, 2007.

Você também pode gostar