Uma homenagem ao dia mundial da Qualidade de Software

Vou contar aqui, um pouco da história da Qualidade de Software e mostrar como ela é tratada em nosso dia-a-dia.

Vamos começar pelo Ciclo PDCA de Deming, que foi definido em 1950 e tem por princípio tornar mais ágil o processo da gestão da qualidade, dividindo-o em quatro etapas cíclicas:

Image source: Tallyfy
  • Plan: estabelecer metas necessárias para atingir os resultados.
  • Do: executar as atividades.
  • Check: avaliar processos e resultados, confrontando-os com o planejado.
  • Act: Agir de acordo com o avaliado, definindo novos planos de ações para melhorar a qualidade dos produtos e processos, retornando para o início do ciclo até atingir os objetivos.

Em 1970, Royce apresentou o Modelo Cascata como sendo um risco e um convite para falhas. Royce defendia um abordagem iterativa para o desenvolvimento de software com feedback de cada fase influenciando as próximas. Ironicamente, o Modelo Cascata não se tornou o que Royce pretendia, um projeto iterativo, mas ao invés disto se tornou um modelo sequencial ordenado. Embora tenha sido bastante utilizado nas décadas de 70 e 80, era bastante criticado por ser linear, rígido e monolítico, muitas vezes resultando na entrega de produtos de software desatualizados ou ineficientes.

Em 1976, Tom Gilb, publicou o livro Software Metrics, onde mencionou que o desenvolvimento evolutivo resultava na disponibilização de software de qualidade, lançando um movimento que tinha em vista iterações ágeis e leves, capaz de fornecer resultados rápidos e benefícios no negócio.

Uma década depois, em 1986, Barry Boehm definiu o Modelo de desenvolvimento de software espiral (The Spiral Model of Software Development and Enhancement).

Ainda na década de 80, o Instituto de Engenharia de Software (SEI) da universidade Carnegie Mellon foi criado com o objetivo de fornecer software de qualidade para o Departamento de Defesa dos EUA (DoD) e aumentar a capacitação da indústria de software.

Década de 90

Em agosto de 1991, o SEI publicou a versão 1.0 do Modelo SW-CMM, e mais tarde o Modelo CMM-I (1998) com o objetivo de aumentar a maturidade dos processos de desenvolvimento de software das empresas, considerando:

  • Utilização de dinheiro público nos contratos governamentais, dando origem a ambientes avessos ao risco, onde era mais importante proteger os próprios interesses do que encontrar a solução mais eficiente para ambas as partes;
  • Mercados caracterizados por grandes organizações e estabilidade contratual.

Ainda em 1991, James Martin, consultor da IBM, publicou o livro "The Wired Society: A Challenge for Tomorrow", definindo o RAD (The Rapid Application Development approach), que surgiu como uma oposição ao modelo de desenvolvimento de software Cascata.

Image source: Testing Excellence

Em 1995, Ken Schwaber e Jeff Sutherland criaram a primeira versão do SCRUM (guia disponível em scrum.org). Enquanto que em 1996, o XP (eXtreme Programming) teve as suas origens na Chrysler Corporation. O FDD (Feature Driven Developement) surgiu em Singapura, entre os anos de 1997 e 1999, tendo sido concebido por Jeff de Luca.

Século XXI

No início dos anos 2000, apesar do alto custo e esforço para obter a certificação SW-CMM ou CMM-I, várias empresas de TI de países subdesenvolvidos como India e Brasil, buscaram a obtenção da certificação em algum nível de maturidade, com o objetivo de manter contratos milionários de desenvolvimento de software para grandes empresas, que passaram a adotá-los como pré-requisito na contratação de software.

Entretanto, em fevereiro de 2001, 17 profissionais criadores de metodologias ágeis como XP, SCRUM e FDD, se reuniram para levantar os pontos comuns de projetos que tiveram sucesso ao adotar tais metodologias. Durante essa reunião foi definido um consenso sobre como deveriam ser os métodos de desenvolvimento de software, o qual foi batizado como Manifesto do desenvolvimento de Software Ágil, no qual chamamos de Manifesto Ágil.

Image source: Método Ágil

Quase 18 anos após a definição do Manifesto Ágil, infelizmente alguns profissionais da área de desenvolvimento de software ainda confundem o termo “ágil” com “ad hoc”, não aplicando as práticas ágeis de forma apropriada, causando prejuízos tanto para sua empresa como para seus clientes.

Além disso, diretores de empresas que definiram metas de certificação SW-CMM/CMMI no passado, ainda sofrem as dores da certificação e não se dão conta que a maturidade alcançada, minimamente contribuiu para um melhor entendimento sobre:

  • A importância de desenvolver software com excelência, reduzindo o tempo da etapa de verificação de software, bem como o custo do retrabalho (custo da baixa qualidade);
  • Os valores do Manifesto Ágil.
Image source: Método Ágil

Podemos concluir que

  • O ciclo PDCA, embora idoso, continua válido até mesmo para projetos de inovação;
  • O manifesto Ágil já atingiu a maioridade;
  • As soluções de software estão cada vez mais complexas e
  • A qualidade de software ainda está cheia de lacunas.

Hoje temos uma gama de métodos ágeis que se sobrepõem e sempre haverá equívocos na forma que os indivíduos irão interpretá-los e aplicá-los. Precisamos pensar em soluções para preencher as lacunas da qualidade de software sem a necessidade de reinventar métodos e sem criar silos nas equipes de desenvolvimento de software, onde todo mundo trabalha junto com responsabilidade compartilhada para atingir os objetivos do projeto.

Em nosso dia-a-dia, a qualidade de software é tratada de forma automatizada utilizando as abordagens de integração, entrega e deploy contínuos, sem interrupções no fluxo natural do desenvolvimento de software.

Talvez esteja na hora de criar um novo manifesto, que poderia ser chamado Quality as Code.

Elisabeth Maria de Morais Wanderley

Written by

Master of Computer Science, Specialist in Software Engineering. Software Test Engineer at @inovacao_cesar

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade