|
Artigos Publicados
CMM Nível 2 – Onde Começa a Melhoria da Qualidade
Este artigo foi publicado em duas partes
conforme edições 128 e 130
Vantagem
Competitiva tornou-se um termo muito utilizado no atual ambiente de negócios,
na Tecnologia da Informação, e em muitos casos é considerado sinônimo de
sobrevivência. Uma competitividade sustentável consegue-se aplicando alguns
diferenciais como: certificações, normalização, melhoria contínua....
A
alguns anos atrás, a certificação ISO 9000 era o que as empresas apresentavam
como diferencial competitivo, as que não possuíam esta certificação já começavam
a perder grande fatia do mercado, principalmente para as empresas que exportavam
produtos. A ISO 9000 deixou de ser então uma opção de diferencial e passou a
ser um pré-requisito para as empresas sobreviverem a tão acirrada globalização.
As
empresas que produzem softwares, conhecidas como “fábricas de software”, ou
Soft – Houses praticamente não trabalham com uma padronização, devido a ausência
de uma padronização, estas empresas ficam completamente a mercê de alguns
problemas relacionados com sua produtividade e qualidade. Elas não têm um
processo definido para a criação de softwares e/ou sistemas, fazendo com que
as que conseguem sobreviver no mercado, fiquem totalmente ligadas a esforços
“hercúleos” de seus profissionais. Seus processos são improvisados,
completamente sem base histórica e fazendo inclusive com que a qualidade de
seus serviços e/ou produtos fiquem cada vez mais comprometidos e
desacreditados, causando a insatisfação de seus usuários, desenvolvedores,
empresas e todos os envolvidos em sua confecção.
A
estes problemas damos o nome de crise do software, e esta crise está
relacionada a:
como sistemas computacionais são construídos;
como sistemas computacionais são implantados, referindo-se aqui a processo de
substituir sistemas antigos, desativando sistemas correntemente em operação,
ou ao processo de instalar um sistema inteiramente novo; ;
como é provida a manutenção da quantidade crescente de software construído,
associado a sistemas computacionais cada vez mais complexos;
como fazer face à crescente demanda para construção de software, visando
satisfazer ao conjunto enormemente variado de anseios por informatização
atualmente detectado na sociedade moderna e
como administrar as questões comportamentais, envolvendo os usuários e a política,
cultura e filosofia empresarial.
Embasado
nesta preocupação, o Departamento de Defesa do Governo dos Estados Unidos que
por ser um grande consumidor de softwares e por ser um dos mais prejudicados com
a falta de uma padronização e/ou modelo, resolveu apoiar um projeto que
focasse em um modelo formal que lhe desse condições de relacionar seus
fornecedores de softwares de melhor maneira e com maior confiabilidade.
Este
projeto teve um incentivo através do SEI (Sotware Engineering Institute) para a
criação de um Modelo de Maturidade da Capacidade. Este modelo foi chamado de
CMM que é Capability Maturity Model; é uma marca registrada da Universidade
Carnegie Mellon. ® CMM está registrado no Escritório de Marcas e Patentes dos
Estados Unidos da América, ele (CMM) capacita as empresas a produzir software
com padrão mundial.
Através
do CMM poderemos competir com os concorrentes globais como Índia, Israel, os
Tigres Asiáticos e até os países de primeiro mundo. Isto tudo devido a esta
certificação internacional.
O
CMM é dividido em cinco níveis. Grande parte das empresas de software se
encontram no Nivel 1 (Inicial). O nível que veremos, será o nível 2, onde os
processos básicos de gerenciamento de projeto estão estabelecidos e permitem
acompanhar custo, cronograma e funcionalidade. Os demais níveis (3, 4 e 5), serão
para um próxima oportunidade.
A
Maturidade do nível 2 do CMM, será atingida quando tivermos:
papéis e responsabilidades bem definidos, de um software;
uma boa base histórica;
condições de julgarmos a qualidade do produto;
um monitoramento da qualidade dos processos e produtos;
uma atualização do processo e
uma comunicação entre o gerente e seu grupo.
Aplicando-se
o CMM Nível 2 em uma empresa, o mesmo facilitará e muito para que ocorra a
anticrise de um software e/ou sistema, pois ela acontecerá quando obedecermos a
metodologia para desenvolvimento de sistemas, ela auxiliará a fazer com que
algo aconteça na forma como foi planejado.
Das
raras empresas que possuem o CMM Nível 2 no Brasil, o tempo médio para
se ter alcançado tal norma foi de 24 meses, onde destas pouquíssimas empresas
com o CMM Nível 2, quase a metade é multinacional.
O
CMM é um modelo para julgar a maturidade dos processos de software de uma
organização e para identificar as chaves práticas requeridas para o
crescimento da maturidade destes. Sua ausência causará um outro problema que
denominamos entropia (tendência que os sistemas tem para o desgaste,
para o afrouxamento das relações ou para o comportamento aleatório de suas
partes).
A
certificação CMM esta embasada ao
ciclo natural de um sistema e/ou software, que engloba do início ao fim, ou
seja: concepção (nascimento do sistema e/ou software), construção (análise
e programação), implantação (testes e disponibilização aos usuários),
implementações (ajustes pós-implantação), maturidade e utilização plena
(sistema e/ou software sedimentado), declíneo (dificuldade de continuidade),
manutenção (tentativa de sobrevivência) e morte (descontinuidade do sistema
e/ou software).
Medida
da Produtividade
A
produtividade refere-se ao maior ou menor aproveitamento dos recursos nesse
processo de produção. Neste sentido, um crescimento da produtividade implica
em um melhor aproveitamento de funcionários, máquinas, da energia, tempo
consumido, e assim por diante.
Aumentando
a produtividade, diminuem os custos de produção ou dos serviços prestados.
Isso acontece exatamente porque cada unidade de produto ou de serviço terá
sido conseguida com menor quantidade de insumos, o que afeta diretamente o
custo.
Mais
uma vez, poderemos contar com o uso do CMM Nível 2 para esta situação, e
aqui, nosso processo gerencial poderá ser aproveitado quase todo, facilitando
assim um melhor orçamento, cronograma, monitoração da degradação da
qualidade durante o ciclo de vida, detecção prévia de anomalias, melhoria e
garantia da qualidade de seus processos. Com estes benefícios teremos um
aumento significativo sobre alguns termos como:
confiabilidade (medida em que se pode esperar que um programa execute sua função
pretendida com precisão exigida)
corretitude (medida em que um programa satisfaz sua especificação e cumpre os
objetivos visados pelo cliente)
eficiência (quantidade de recursos de computação e de código exigida para
que um programa execute sua função)
Integridade (Medida em que o acesso ao software ou a dados por pessoas não
autorizadas pode ser controlado)
manutenabilidade (esforço exigido para localizar e reparar erros num programa)
reusabilidade (medida em que um programa ou parte de um programa pode ser
reusado em outras aplicações)
usabilidade (esforço para aprender, operar, prepara a entrada e interpretar a
saída de um programa)
escalabilidade (suporte a um maior número de projetos)
homogeneidade (atividades seguindo o mesmo processo e padrão)
e
também algumas facilidades como:
auditabilidade (facilidade com que se pode checar a conformidade aos padrões)
autodocumentação (quando o código fonte apresenta documentação
significativa)
concisão (compactação do programa em termos de linhas de código)
consistência (uso de técnicas de projetos e documentação uniformes ao longo
do projeto)
modularidade (independência funcional dos componentes do programa)
rastreabilidade (capacidade de rastrear uma representação de projeto ou
componente de programa até os requisitos)
Antes
do CMM, era comum enfrentarmos problemas como:
prioridades constantemente alteradas;
prazos irreais/não definidos;
projetos considerados isoladamente
falta de critérios definidos para opções com birôs de processamento de
dados, aluguel de equipamentos, pacotes, centralização do processamento de
dados, desenvolvimento interno;
mal dimensionamento dos equipamentos através de rápidas estimativas de
volumes;
e muitos outros;
Áreas
chaves do CMM Nível 2
O
CMM Nível 2 está dividido em gerência de requisitos onde sua preocupação
está em um entendimento comum entre o cliente e os requisitos do sistema e/ou
software; planejamento do projeto onde foca os planos cabíveis para a realização
das tarefas do gerenciamento do projeto bem como estimativas para trabalhos,
custos, compromissos e uma definição do plano para a realização do trabalho;
o controle e acompanhamento do projeto fornece uma visão adequada do projeto
atual, para que seus responsáveis possam tomar ações preventivas e corretivas
para que as atividades não desviem do que foi planejado; a gerência de
subcontratação fica responsável pelo acompanhamento e seleção das empresas
terceirizadas, assim como, revisar e acompanhar seus resultados e performance; a
garantia da qualidade envolve atividades com auditoria dos produtos e atividades
do projeto para averiguação dos processos com os requisitos de qualidades
definidos; a gerência de configuração do software estabelece e mantêm a
integridade dos produtos através do seus ciclo de vida identificando também
suas versões.
Conclusão
O
acirramento da competição global em todos os setores industriais e de serviços,
aliados às mudanças nas exigências dos mercados a custos, prazos e qualidade,
têm forçado muitas empresas a se adaptarem e a se reestruturarem, de forma a
permanecerem vivas e competitivas. Uma organização não pode se ater apenas em
seu portifólio de produtos e serviços, mas principalmente em um portifólio de
competência, que serão formadas pelo conjunto de habilidades próprias desta
organização. Serão estas competências os meios mais efetivos para se enfrentar
um mercado globalizado e competitivo, assim, obterá grande diferencial em
relação as empresas concorrentes e se consolidará cada vez mais neste mercado de
disputa acirrada.
Temos
que ter uma preocupação constante em oferecer aos clientes uma tecnologia de
ponta, isto deverá ser o impulso de qualquer fábrica de software que se preze.
A
certificação CMM pode ser encarada como excelente indicador do nível de
qualidade e de maturidade no processo de desenvolvimento de software e com
certeza agrega valor ao produto final entregue ao cliente. Através dele,
poderemos encarar de igual para igual os países produtores de softwares, pois
através desta engenharia de software moderna conseguiremos um aumento importantíssimo
na qualidade e produtividade.
Com
o CMM, as Soft – Houses terão o início de suas caminhadas em direção a um
futuro promissor. Ele nos dará uma solicitação de serviço padronizada,
independente de ser um programa, um subsistema, um método, um componente ou uma
manutenção. Essa proposta procura quebrar o paradigma do atual desenvolvimento
de software no Brasil: a dependência entre uma necessidade do usuário e um
processo fabril para construí-la; cálculos de prazos e custos independentes de
pessoas; aplicação dos conceitos da qualidade total em todo o ciclo de
desenvolvimento e manutenção de software.
Vale
aqui lembrar que o CMM é um modelo para julgar um processo de software,
identificando as experiências práticas requeridas na crescente maturidade dos
processos. Ele é uma melhoria contínua, para que um dia possamos alcançar a
excelência nos softwares e/ou sistemas.
|