Logomarca IETEC

Buscar no TecHoje

Preencha o campo abaixo para realizar sua busca

:: Gestão e Tecn. da Informação

Qualidade de software

Sergio Massao Jomori, Renato Luiz Della Volpe e Ana Cecília Peixoto Zabeu

Sócios-diretores da ASR Consultoria e Assessoria em Qualidade

É cada dia maior o número de empresas que buscam melhorias em seus processos de desenvolvimento de software. Além do aumento da produtividade e da diminuição do retrabalho, elas buscam um melhor relacionamento com seus clientes por meio do melhor planejamento e gestão de suas atividades de desenvolvimento e da diminuição no número de defeitos nos produtos entregues.

Mesmo sem nos darmos conta, o software está presente em quase tudo que nos cerca: desde os mais simples aparelhos eletrodomésticos até os mais sofisticados sistemas de telecomunicações. Uma evidência da influência do software em nosso cotidiano foi a quase paranóia causada pelo chamado "bug do milênio" na virada de 1999 para 2000. Muitos acreditavam que haveria panes nos principais sistemas de telecomunicações, de distribuição de eletricidade e de água, causando verdadeiras tragédias ao re-dor do mundo. Isso sem falar em problemas menores como o não funciona-mento de aparelhos eletrodomésticos, como televisores, videocassetes, fornos de microondas, entre outros. Poderíamos ter desde pequenos problemas residenciais a grandes catástrofes em todo o mundo, simplesmente porque o software contido em muitos equipamentos e sistemas utilizava somente dois dígitos para a identificação do ano.

Para darmos uma idéia das dimensões, das conseqüências de um bug, ou seja, um defeito em um programa de sofìware, podemos utilizar dois casos como exemplo:

• Uma pequena falha de lógica em um programa em sistemas de grandes bancos poderia causar pequenos problemas em contas correntes de alguns poucos e desafortunados correntistas até a gigantescos prejuízos em grandes corporações.
• Uma simples linha de código, que é a seqüência de programação de uma determinada função de um software, com defeito poderia causar desde peque-nos problemas no funcionamento de equipamentos de comunicação entre os tripulantes até a queda de uma aeronave com centenas de passageiros a bordo.

Além dos problemas decorrentes dos erros ou não-conformidades, as organizações que desenvolvem ou adquirem software como produto final ou embutido em equipamentos, costumam experimentar inúmeros problemas relacionados ao prazo de entrega dos produtos, tão comuns nos mais diversos setores produtivos. Muitas organizações têm investido na busca de melhorias, não somente para diminuir os problemas decorrentes da baixa qualidade de seus processos de desenvolvimento, e conseqüentemente do produto final, mas também para alcançar melhores resultados financeiros com o aumento de produtividade e conseqüente diminuição de prazo de entrega de seus produtos e maior satisfação de seus clientes.

Atualmente as principais referências para melhoria de processos utilizadas pelas organizações que desenvolvem ou adquirem produtos de software são o modelo Capability Maturity Model (CMM) e as normas ISO 9000, ISO 12207 e ISO 15504 (SP ICE – Software Process Improvement and Capability Determination).

CMM – Capability Maturity Model - O CMM é um modelo desenvolvido pelo Software Engineering
Institute (SEI) para melhoria da maturidade dos processos de desenvolvimento de software. O modelo descreve um caminho evolucionário de melhoria de maturidade, por meio do atendimento de práticas-chave distribuídas em cinco níveis de maturidade. Quanto maior o nível, maior é a maturidade dos processos de desenvolvimento de software de uma organização.
Nos Estados Unidos o CMM é uma das principais referências para a seleção e homologação de empresas fornecedo-ras de sofhvare. Empresas desenvolve-doras devem possuir nível de maturida-de 4 ou 5 para poder fornecer sofbvare para o Departamento de Defesa e ou-tros órgãos ligados ao governo.

ISO 9001 – Sistemas da qualidade – Modelo para garantia da qualidade em projetos, desenvolvimento, produção, instalação e serviços associados – As normas da série ISO 9000 são utilizadas como referência por muitas empresas desenvolvedoras de software em todo o mundo. As organizações que têm o software explicitado em seu escopo de certificação também podem utilizar como referência a norma ISO 9000-3. A ISO 9000-3 é uma norma internacional da série ISO 9000 que estabelece diretrizes para aplicação da ISO 9001 às atividades de desenvolvimento, manutenção e fornecimento de software.

ISO 12207 – Tecnologia da Informação – Processos de ciclo de vida de software – Esta norma estabelece uma estrutura comum para os processos de ciclo de vida de software, cobrindo desde a concepção até a retirada do software do mercado. A norma também provê um processo que pode ser utilizado para definir, controlar e melhorar os processos de ciclo de vida de software. As atividades que podem ser executadas durante o ciclo de vida de software estão agrupadas em cinco processos fundamentais, oito processos de apoio e quatro processos organizacionais:
• Processos fundamentais: aquisição, fornecimento, desenvolvimento, operação e manutenção.
• Processos de apoio: documentação, gerência de configuração, garantia da qualidade, verificação, validação, revisão conjunta, auditoria e resolução de problema.
• Processos organizacionais: gerência, infra-estrutura, melhoria e treinamento.

ISO 15504 (SPICE) – Tecnologia de informação – avaliação de processos – Futura norma em desenvolvimento pela ISO IEC em conjunto com o projeto SPICE para avaliação de processos. Atualmente está publicada como um relatório técnico (ISO/IEC TR 15504), com previsão de ser publicada como norma. Os processos estão divididos em cinco categorias:
• cliente-fornecedor
• engenharia
• apoio
• gerência
• organização

Para se avaliar os processos de uma organização cada um deles deve ser classificado em um dos seguintes níveis de capacitação:
• Nível O – Incompleto
• Nível 1 – Executado
• Nível 2 – Gerenciado
• Nível 3 – Estabelecido
• Nível 4 – Previsível
• Nível 5 – Em otimização

Outras referências – podemos citar outras importantes referências utilizadas pelas organizações na busca de melhorias nos processos, entre outras o CMMI, PMBoK e SWEBoK.

CMMI – Capability Maturity Model Integration é um modelo desenvolvido pelo Software Engineering Institute (SEI) para melhoria da maturidade dos processos de uma organização. Foi desenvolvido a partir de três modelos: SW-CMM (Capability Maturity Model for Sofìware), EIA/IS (Electronic Inte-rim Alliance Interim Standard) 731 e IPD-CMM (Integrated Product Develo-pment Capability Maturity Model).

PMBoK – Project Management Body of Knowledge – é um conjunto de Conhecimentos em Gerência de Projetos. O PMBoK é utilizado como referência para que os gerentes de projetos possam compreender os ensinamentos e relacionamentos que, por meio das áreas de conhecimento e de processos preconizados pela metodologia, traduzem os conceitos mais atuais da prática de Gerenciamento de Projetos no mundo.

SWEBoK – Software Engineering Body of Knowledge – é um guia de uso e aplicação das melhores práticas de engenharia de software.

NO BRASIL
Desde 1993 a Secretaria de Política de Informática (Sepin) do Ministério da Ciência e Tecnologia (MCT) tem realizado pesquisas bienais para acompanhamento da evolução da qualidade nas empresas de softwares do Brasil. Observando alguns dados das diversas pesquisas realizadas até 2001, podemos notar uma evolução significativa na busca da melhoria contínua da qualidade nos processos de desenvolvimento de softwares no Brasil.
Dessa forma, programas de melhorias de qualidade de processos bem-sucedidos propiciam aumento de produtividade, redução no número de defeitos em produtos, maior previsibilidade e visibilidade dos processos, além do atendimento das metas de custo, prazo, funcionalidade e qualidade do produto desenvolvido, além de aumentar a motivação da equipe. A decisão de qual modelo de gestão deve ser aplicado a cada organização será feita com base em suas estratégias de negócio e de mercado, levando-se em conta os benefícios e retorno sobre investimentos realizados. Como a característica de todo e qualquer modelo não permite que o mesmo seja perfeito e completo, pois são idealizados com base em diversas considerações e práticas, os diversos modelos existentes possuem vantagens e desvantagens na sua implantação e implementação e isto também deve ser considerado na decisão da escolha do mais apropriado a cada organização
Revista Banas Qualidade, Ano XIII, fevereiro de 2004, Nº141     

Indique este artigo a um amigo

Indique o artigo