Jason Bloomberg, colunista do ZapThink, escreveu um provocativo artigo sobre a indústria de software. O pequeno 'sujo' segredo? Software é ciência de baixa tecnologia (Rappa!) e a qualidade dos produtos é sofrível! Uau!
Ele cita que tanto a visão "controle" (representada por "padrões" como o Six Sigma e ISO), quanto a visão "processo - melhoria contínua" (CMM/CMMi) não endereçam o principal problema de nossa indústria. Saca só:
"Unfortunately, both perspectives on software quality fall within the low-tech, craft approach to software production we follow today. Neither perspective addresses the more important and fundamental definition of software quality, which is how well software meets the requirements set out for it. The unfortunate fact is that when people build software to meet specific, pre-defined requirements, it almost always falls short of meeting the true requirements for that software, primarily because the actual requirements for software are typically in a state of constant flux. In other words, our true requirements for software is for it to be high tech -- that is, for software to be flexible enough to meet as yet undefined requirements at some point in the future, just as high-tech hardware does today.
Here is the critical point: virtually all software created up to this point is fundamentally of low quality, since it's all built to meet pre-defined requirements, and those pre-defined requirements are rarely the true requirements for the software. The only way software quality will ever improve is for software to become high tech. The key insight here is that today's common understanding of what software quality means is lacking, because those definitions apply to purpose-built software. We must take a step back, so that we can judge software quality based upon its flexibility and agility, rather than how few defects it has, or how well-documented the process of creating it might be."
Mas Jason acha que a solução pode estar diretamente relacionada com a 'nova' visão d'uma Arquitetura Orientada a Serviços (SOA - Services-Oriented Architecture). Concordo que a promessa de agilidade e responsividade da SOA pode ajudar na criação de uma visão mais ampla dos requerimentos de negócio que um sistema deve atender. Mas não basta. Processo e cultura (as pessoas) merecem inovação de igual vulto. Senão continuaremos criando software ruim, por melhor que seja a tecnologia.
Mas só o fato do debate começar, em altíssimo nível, já é sinal de evolução. Reconhecer que CMM, TQM, ISO, 6 Sigma e afins só pode atender 33,3% de nossos problemas é um excelente começo.
O tema (nosso pequeno segredo 'sujo') passa a merecer maior atenção do Graffiti tbém, a partir de hj. Tô de saco cheio de criticar a MS... rs...