Boo-Box

Tuesday, February 17, 2009

Qualidade de Software


Nos últimos anos a busca por qualidade de software tem crescido bastante no Brasil e no mundo. Anteriormente a cultura de qualidade era praticada apenas por fábricas de software. Agora ela também tem sido adotada por empresas usuárias de tecnologia em seus produtos internos.

A qualidade de software contraria o jargão “sempre superar as expectativas do cliente”. Nessa disciplina até se busca isso, porém no momento certo, ou seja, apenas durante a definição do escopo. Na fase da construção do software é preciso ser fiel ao plano inicial, ou seja, entregar exatamente o que foi pedido. Não se deve arriscar o projeto em função de oportunidades e melhorias que eventualmente surjam pelo caminho. Esse é um dos preceitos de qualidade de software. Mudanças de escopo são inevitáveis, mas devem ser planejadas para uma versão posterior, a menos que exista uma necessidade inadiável por parte do cliente.

A arquitetura do software deve de ser aderente aos requisitos especificados. Ela pode ser inovadora, duradoura e ainda tentar resolver, não só os problemas previstos, mas também os imprevistos. É nesse momento que a equipe de desenvolvimento deve vislumbrar o que é realmente necessário e não apenas o que foi pedido.

Segundo uma pesquisa do Gartner Group feita em 2000 com mais de 1300 profissionais, uma das maiores causas de fracasso em projetos de software é a falta de escopo. Na ânsia de iniciar logo os trabalhos, a fase de definição de escopo é reduzida ao extremo. O resultado disso é um grande número de correções feitas durante a fase de desenvolvimento. O tamanho da fase de definição de escopo é inversamente proporcional ao da fase de correções. Quanto melhor for definida a fase inicial, menos tempo se gasta com discussões desnecessárias na fase final do projeto. Atualmente esse problema ocorre em 25% dos casos, de acordo ainda com o Gartner Group. Outros problemas que ocorrem na maioria dos projetos são a insatisfação do cliente, o baixo índice de adoção do produto, o retrabalho excessivo, a pouca aderência da solução e, o pior, a imagem da empresa prejudicada. Esse último item é muito difícil de ser mensurado, mas os comentários ruins sobre um produto e sua implantação mancham a reputação de uma empresa em grande escala.

No processo de desenvolvimento de software, os planos de teste normalmente surgem junto com a entrega dos requisitos e das especificações para a equipe de desenvolvimento. Quando um software é classificado como bom em função dos poucos defeitos que possui, os desenvolvedores dizem que isso se deve a eles. Já a equipe de testes diz que é em função da sua atuação. Na realidade, o que define a qualidade do software é justamente a junção desses dois fatores. É do conflito de visões entre as equipes de desenvolvimento e de testes que surge a qualidade do software. É justamente nesse momento que se tem diferentes soluções para um mesmo problema e discute-se qual é a melhor em relação ao negócio do cliente.

O processo de qualidade pode ser apoiado por ferramentas de automação que poupam a equipe de testes de executar atividades repetitivas para que eles possam se dedicar a atividades de maior valor agregado, como regras de negócio e casos de uso reais. Algumas dessas ferramentas possuem integração total a todas as etapas do projeto, desde o desenho até o lançamento, integrando todas as equipes em uma mesma plataforma.

Quanto mais tempo se demora para detectar um erro em um software, mais caro ele fica. Esse custo pode ficar até 80% mais alto se for detectado no cliente, uma vez que envolve deslocamentos e a imagem da empresa.
Seja um laboratório de software ou um departamento interno que cria suas próprias aplicações, a sua reputação pode ser feita ou destruída sempre que um produto for lançado. Por isso a preocupação com qualidade de software torna-se cada vez mais essencial para qualquer empresa que queira se destacar no mercado.

Original em: http://www.ibm.com/developerworks/blogs/page/tlcbr?entry=teste_e_qualidade_de_software

No comments: