Qualidade de software: uma visão geral - Revista Engenharia de Software Magazine 42
Este artigo apresenta as principais questões sobre o conceito de qualidade aplicado na indústria de software. Com isso, pretende-se mostrar que existem outras formas de se enxergar qualidade além do próprio CMMI e MPS.BR.
A procura pelo conhecimento e aplicação de modelos de qualidade como CMMI e MPS.BR vem aumentando. Desta forma, este artigo tem a finalidade de prover um melhor entendimento de quais são os conceitos de qualidade aplicados a engenharia de produção; e apresentar como esses conceitos são utilizados na indústria de software.
Neste artigo veremos que o caminho escolhido pela indústria de software não é a única vertente para a qualidade, pelo menos do ponto de vista da engenharia de produção. Neste sentido, objetiva-se aqui identificar quais ideias são pregadas pelos grandes pensadores da qualidade e como a indústria de software realizou aquela ideia.
Saiba mais Série Receitas caseiras para testes unitáriosQuando falamos de administração científica, não podemos ignorar a contribuição de F. W. Taylor e Henry Ford. A principal mudança trazida por eles ao conceito de administração foi a criação de padrões dentro das linhas de montagem, dando origem a um método de produção.
Desta feita, as tarefas começaram a ser divididas, facilitando o controle de qualidade. Nesse sentido, todas as peças produzidas passaram por uma verificação de qualidade antes de sair da área de produção. Ainda na década de 20, com o desenvolvimento de estudos de especialistas militares e o trabalho de Walter Shewart (1939) do Bell Laboratories, surgiu a base do controle estatístico da qualidade.
Agora, não mais toda a linha de produção precisaria ser testada, mas apenas uma amostragem passou a ser utilizada no controle de qualidade dos produtos. Assim, os produtos eram testados em pequenos lotes que eram o identificador de um conjunto total de produtos. Desse modo, houve um ganho de tempo na linha de produção e aumento da qualidade do produto apenas utilizando critérios de certeza estatística que aperfeiçoaram a verificação e, consequentemente, foram eliminados custos desnecessários.
Ainda entre as décadas de 40 e 50, o Japão se colocou em destaque no cenário da qualidade como ciência devido ao trabalho de William Edwards Deming (1982) que reforça o conceito de controle de qualidade desviando o foco da qualidade do produto para a qualidade do processo como fator chave para o sucesso da implementação de um sistema de qualidade. Esse modelo de qualidade de processo só foi disseminado na década de 1970.
Outro que se destacou neste campo foi Genichi Taguchi (1990) para projetos experimentais. Algumas outras metodologias contemporâneas como 5S e os Diagramas de Causa e Efeito de Ishikawa, conhecido como Diagrama de Espinha de Peixe também colaboraram com a evolução da qualidade no Japão.
Na década de 60, Feigenbaum (1991) consolida o conceito de controle da qualidade total que leva à qualidade um sentido não mais focando somente em produção, mas sim em elementos como Marketing, Finanças, Recursos Humanos, Pesquisa e Desenvolvimento. A qualidade total não implica em 100% do produto correto ou zero defeito, mas sim de que todas as pessoas envolvidas são responsáveis pelo produto final.
Na década de 80 se popularizou as normas ISO (International Organization for Standardization – www.iso.org). As montadoras de automóveis se destacaram nessa época e as normas contribuíram na definição de padrões de processos de garantia da qualidade.
A qualidade na indústria de software não seguiu uma evolução tão diversa assim da indústria automotiva. O rumo que a Qualidade de Software tomou na história se iniciou a partir daquela reunião da OTAN em 1968 onde o termo “Engenharia de Software” foi utilizado pela primeira vez por F. L. Bauer.
Naquela reunião foi utilizado também o termo “Crise do Software” para definir a situação em que a indústria do software atravessava naquele momento.
E a crise foi atribuída à complexidade de desenvolver sistemas cada vez maiores, bem como à falta de gerenciamento no processo de desenvolvimento de software.
A partir daí “engenheiros de software” passaram a imitar a engenharia convencional para resolver problemas de qualidade e falhas em sistemas de informação. Uma quantidade significativa de experiência foi obtida através de processos de garantia da qualidade praticados na indústria de manufatura, e essa adaptação para a indústria de software foi, em alguns casos, um fracasso.
Em grande parte, isso se deve ao fato de, embora esta reunião da OTAN beirasse a década de 70, o modelo inicial adotado pela engenharia de software foi orientado fortemente à melhoria do produto final de software, afinal eram neles que estavam os bugs. Contudo, se formos seguir a linha da qualidade, esse passo foi equivalente ao seu início quando a preocupação era única e exclusivamente com o produto final.
Ainda no fim da década de 1980, o controle de qualidade existente na indústria de software era centrado no produto final com larga utilização de métodos corretivos e inspeções no fim da linha de produção, ou seja, baseada apenas em testes. Isso se mostrava pouco efetivo para a solução de problemas gerenciais como prazos e custos.
Saiba mais: Curso de Teste Unitário
No início da década de 1990, o próprio mercado substituía o Controle pela Garantia da Qualidade com um foco centrado no processo e que utilizava auditorias durante todo o ciclo de vida de desenvolvimento.
A partir daí, foram surgindo normas aplicadas para a área tais como a ISO 9000-3, ISO 15504, ISO 12207, padrões IEEE 1074, IEEE 1298 e Modelos SW-CMM, CMMI e MPS.BR para Qualidade de Software.
Com o advento da Garantia da Qualidade, a indústria de software passou a ser centrada em documentação e orientada a planejamento, e essa forma de desenvolvimento de software ficou conhecida como modelo tradicional [Boehm 1988]. Esta visão se tornou aquela mais frequentemente aceita como ideal para a qualidade software. Assim, uma empresa CMMI nível 5 era tida como infalível no que tocava a qualidade." [...] continue lendo...
Artigos relacionados
-
Artigo
-
Vídeo
-
Vídeo
-
DevCast
-
DevCast