Como falamos no artigo anterior, devido à crescente disseminação da cultura da qualidade, os clientes tornam-se cada vez mais exigentes, buscando produtos com qualidade para realizarem a contratação ou disponibilizarem para os seus usuários finais produtos que minimizem os impactos e facilitem nas soluções dos problemas encontrados no dia-a-dia nas organizações.
Porém, sabemos que devido à complexidade de um software, problemas técnicos e gerenciais, como dificuldade de visão global que impede a integridade conceitual, dificuldade de descobrir e controlar todas as perdas envolvidas, dificuldade de troca de pessoal nos projetos (e deste problema surge a dificuldade de comunicação entre as pessoas), o que leva à construção de produtos com defeito, custos altos e atrasos de cronograma, sem contar a dificuldade por parte dos usuários de software que muitas das vezes entram dados de forma errada, usa suas funcionalidades de forma incorreta ou até mesmo inutilizam o produto.
E por isso esse conjunto de fatores acaba caracterizando esses problemas e as organizações como imaturas, sendo identificados e agrupados, resumidamente, pela falta de uma boa estrutura organizacional e pela ausência de mecanismos para gerenciamento de projetos, pela indefinição de seus processos e atividades a serem seguidos.
Cenário das Organizações Imaturas – Fonte: MAGNANI, 1998
Para solucionar alguns desses problemas, muitas empresas desenvolvedoras de softwares têm adotado metodologias como RUP, Praxis, Scrum, XP, entretanto, produzir programas com qualidade ainda tem sido difícil para muitas empresas.
Por isso, é essencial que as organizações entendam que a melhoria de processos de software é muito importante, pois vai auxiliá-las na diminuição de redundâncias, no aumento da produtividade e no aumento da capacidade de gerenciar seus processos organizacionais, além de reduzirem seus custos produtivos.
Alguns modelos de qualidade foram desenvolvidos com o intuito de conduzir a elaboração e a melhoria de processos de software, que possam efetivamente agregar qualidade aos produtos. O CMMI e o MPS.BR são exemplos de modelos desenvolvidos e que boa parte das empresas brasileiras estão buscando para certificarem a qualidade de seus processos e produtos. Como esta é uma realidade no mercado nacional, farei abaixo uma breve apresentação dos dois modelos e posteriormente uma comparação entre os mesmos.
CMMI
Não devemos achar que os problemas em relação à qualidade dos softwares ocorrem apenas nos tempos atuais. De acordo com o centro de pesquisa e desenvolvimento, SEI (Software Enginnering Institute), as primeiras demandas em relação à necessidade de um melhor controle dos processos de softwares foi originado pelo Departamento de Defesa Americano, pois devido à grande variação de custos e prazos nas entregas dos produtos por seus fornecedores, vinham provocando grandes transtornos. E foi a partir dessa necessidade que, em 1984, esse instituto foi criado e instalado dentro da Carnegie Mellon University com o desafio de promover avanço nas práticas da engenharia de software, melhorando a qualidade dos sistemas.
Um dos principais resultados obtidos com os estudos desenvolvidos pelo SEI foi a elaboração de um modelo que pudesse melhorar e classificar as organizações quanto a sua capacidade de produzir softwares dentro dos parâmetros de qualidade, produtividade e custos, surgindo assim o CMM Capability Maturity Model, que posteriormente, devido à necessidade de amadurecer a versão do modelo, em 2001 o SEI publicou o CMMI Capability Maturity Model Integration, visando melhorar alguns componentes da família CMM e da Norma ISO/IEC 15504.
O CMMI é um modelo de maturidade para desenvolvimento de software criado pelo SEI a partir da união de diversas avaliações do CMM. Esse modelo é estruturado em termos de áreas de processos que consiste em práticas relacionadas coletivamente satisfazendo um conjunto de objetivos oferecendo duas formas de abordagem diferentes para a melhoria de processos, conhecidas por modelo em estágio e modelo contínuo. O modelo por estágio descreve a ordem para a implementação de cada área de processo de acordo com os níveis de maturidade, definindo um caminho de melhoria para a organização de um nível Inicial (1) até o nível Otimizado (5). Já o modelo contínuo oferece uma abordagem mais flexível para a melhoria dos processos, permitindo a organização melhorar a qualidade de um processo específico ou trabalhar em diversas áreas de forma alinhada aos objetivos de seu negócio.
Em relação à avaliação de processos tendo por base o CMMI, pode-se utilizar o método de avaliação padrão para melhoria de processo (SCAMPI – Standard CMMI Appraisal Method for Process Improvement), que consiste em agrupar evidências objetivas que são coletadas pelo uso de instrumentos, apresentações, documentos, reuniões e entrevistas, que possibilita a detecção de pontos fortes e fracos de uma organização, além de poder ser usado para fornecer uma classificação referente ao nível CMMI em que a organização se encontra.
E o MPS.BR? Na parte 3 e final dessa série sobre as melhorias de qualidade, falarei um pouco sobre o MPS.BR e a estrutura dos dois modelos. Com isso, veremos uma comparação entre as estruturas, tentando ilustrar o objetivo de cada um dos modelos. Até lá!