Assegurar a qualidade de software - Porquê?

Nos primórdios da computação, em que os programas era "relativamente” simples, ou seja, que embora fossem complexos na sua execução a quantidade de linhas de código que tinham eram poucas (a comparar com as de hoje), a necessidade de garantir a qualidade do mesmo era pouca, inexistente e muito provavelmente nem sequer cogitada.

Mas os tempos passas e os sistemas tornaram-se cada vez mais complexos (não só na quantidade de linhas de código mas também nos próprios sistemas serem utilizados por humanos), passaram a exigir uma abordagem e estrutura mais organizada dada a sua complexidade. E com esta exigência surge também a consciência de que seria necessário arranjar uma forma de garantir a qualidade desses sistemas.

Talvez questiones o motivo de se ter tomado essa consciência, que hoje em dia para nós é um facto assumido. E um dos principais motivos (se não O motivo) foi mesmo o custo das falhas que estavam a ser encontradas e o impacto que tinham em produção.

As falhas tornaram-se cada vez mais significativas, com prejuízos cada vez maiores, com uma confiança por parte dos utilizadores e clientes cada vez menores. Ou seja, perdas financeiras, reputação colocada em causa e (em alguns casos) riscos de segurança (de pessoas e dados) levaram então a essa consciencialização da necessidade de assegurar a qualidade dos sistemas.

Claro que levou tempo! Antigamente o desenvolvimento de sistemas era um bocadinho em modelo ad-hoc, ou seja, sem processos ou metodologias bem definidos. Não existia uma estrutura de modelo de trabalho, de formas correctas e definidas sobre como fazer, implementar, desenvolver e entregar esses sistemas.

Como sabemos, a primeira metodologia de desenvolvimento de software que existe de forma ‘oficial’ é o Waterfall, com todos os seus prejuízos, complicações e afins… Mas deixarei isso para outro post.

Nos anos de 1950 e 1960, pioneiros como Margaret Hamilton - que trabalhou no software de voo da NASA para a missão Apollo - começaram a enfatizar a importância da engenharia de software e da garantia de qualidade.

Depois, nos anos de 1970 e 1980, com a disseminação de computadores em empresas e a crescente dependência dos softwares, surgiram as primeiras práticas formais de QA.

Com o aparecimento de metodologias como o Agile nos anos 2000 (destronando o Waterfall) e, posteriormente, do DevOps, a abordagem de QA evoluiu novamente.

Ou seja, de uma não necessidade, a garantia de qualidade de software (através do Software QA) passou (e continua a serA) crucial. E cada vez mais, à medida que a tecnologia avança.

Mais recentemente, com o crescimento de áreas como inteligência artificial, maior disponibilização o IoT e de softwares com resposta em tempo real, a necessidade de assegurar que correto funcionamento e garantir a confiabilidade no mesmo tornou-se mais importante do que nunca.

Ou seja, garantir a qualidade não é apenas sobre encontrar bugs, mas também sobre melhorar a eficiência, a segurança e a experiência do usuário.

 
Anterior
Anterior

Quality Control (QC) VS Quality Assurance (QA)?