O GLOBO - Informática Etc. - Carlos Alberto Teixeira
Artigo: 203 - Escrito em: 1995-02-06 - Publicado em: 1995-02-13


O apito maldito


Escândalos na indústria conhecemos um monte. Os causadores: uns poucos industriais safados ou práticas desonestas que acabam se tornando hábito. A indústria de software não é nem poderia ser exceção e nela ocorre um fenômeno único, a grande tramóia dos "bug fixes" e dos "upgrades". Para quem não sabe, "bug fixes" são reparos de defeitos num software, decorrentes de erros de projeto ou programação. E "upgrades" são atualizações de versão.

É claro que à vezes os upgrades trazem melhorias reais aos programas, aumentando sua funcionalidade, incluindo novos módulos ou melhorando a "amigabilidade" da interface. Todavia, embutidas num upgrade aparentemente construtivo e essencial, encontram-se numerosas correções de erros muitas vezes sérios e perigosos, cometidos na versão anterior. E é exatamente aí que começa a borbulhar o escândalo dos gigantes do software.

Quase todo usuário que faz upgrade de um programa está pensando exclusivamente nas novas facilidades que deverão vir no lindo e cheiroso pacote lacrado. O sujeito quase baba pensando nos formidáveis melhoramentos, no novo layout, novas cores, novos ícones e em outras perfumarias "indispensáveis" que, segundo o fabricante, incrementarão estupidamente sua produtividade. Mas poucos reparam que, no meio desse festival de bibelôs, vem um monte de remendos de bugs do release anterior, que na verdade deveriam ter sido reparados gratuitamente, de acordo com os padrões usuais de garantia.

Em qualquer outra indústria, se um produto é vendido defeituoso, o fabricante faz, ou deveria fazer, um "recall" do material sem ônus para o consumidor. O defeito é consertado, ou o produto é substituído por um outro sem problemas. Nada mais justo. Mas na indústria de software, muitas vezes o reparo dum erro vem disfarçado de upgrade e o boboca do consumidor acaba pagando por ele sem se tocar de que está sendo passado para trás.

Se a cara leitora já teve paciência de ler aquelas letrinhas minúsculas do contrato de licença para uso de um software, terá notado que quase nunca o fabricante de um pacote dá garantias de que o programa funciona. Ele se exime de qualquer responsabilidade caso alguma coisa saia errada em função do uso do programa no dia-a-dia, mesmo sendo ele utilizado rigorosamente de acordo com as especificações dos manuais. Também não há garantia de que o software tenha sido produzido de acordo com padrões industriais aceitáveis.

Podemos fazer uma comparação simplificada do caso, evocando práticas comerciais e de engenharia, em que se costuma dar garantia de qualidade. Um médico, por exemplo, não garante que poderá curar o paciente, mas pode assegurar que está capacitado a fazê-lo, pelo fato de se manter coerente com os procedimentos de outros membros de sua classe. Uma construtora, por sua vez, não pode garantir que seus empregados sejam experts, mas pode garantir que a estrutura de um prédio tenha sido construída conforme os padrões vigentes e com materiais dentro das especificações, de forma que não desabará sob condições normais de uso.

Se prestarmos atenção a alguns fabricantes de software, vamos perceber que eles não garantem a perícia de seus projetistas e programadores, nem sua habilidade de produzir código robusto que não dê pepino mesmo sob as condições de uso propostas na documentação do pacote. Recentemente, no manual de upgrade de um famoso processador de textos, estava escrito, na maior cara-de-pau, que havia sido cortado pela metade o número de bugs na nova versão: de 18.000 para 9.500.

Imagine agora se um fabricante de automóveis lançasse no mercado um veículo com, digamos, uma centena de defeitos mecânicos, elétricos e de segurança. Seria o maior bafafá. Os veículos seriam recolhidos, reparados e entregues de volta aos donos sem que estes tivessem que pagar um centavo. Entretanto, um gigante do software pode lançar um produto com cem vezes mais defeitos e o pior que acontece é alguns usuários fazerem cara feia na hora de pagar pelo upgrade.

Lançar programas com erros de fábrica causa prejuízo às vezes até para o próprio fabricante, que tem que se virar para atender a base de clientes. São altos os custos para colocar pessoal de suporte ensinando usuários a tirarem proveito de um programa que reconhecidamente contém erros, que deveriam ter sido corrigidos antes que o programa fosse distribuído.

E porque diabos acontece isso? Tanto livro é escrito sobre o tema produtividade em programação de computadores, tecnologia de projeto de software e coisas do gênero. E quando chega a hora da verdade, os problemas são os mesmos de 10 anos atrás. Uma multidão de usuários finais, em geral despreparados, se vê com um baita abacaxi nas mãos.

Para produzir software parrudo é necessário que a busca por qualidade esteja presente desde o início do projeto. Infelizmente, ao invés de arranjar meios de simplificar as coisas, diminuindo as chances de erros, o que se vê é o surgimento de linguagens de programação mais complicadas, com um potencial cada vez maior de produzir defeitos mais severos e mais numerosos.

É perfeitamente possível produzir software de qualidade e razoavelmente livre de erros. Contudo, isso custa caro e os fabricantes naturalmente não querem diminuir seus lucros. Em outras indústrias, a busca pelo lucro em detrimento da qualidade mostrou-se infrutífera. O consumidor acabava se dispondo a pagar mais por um produto confiável. No caso do mercado de software, os lançamentos acontecem num ritmo tão frenético que o usuário final nem se dá conta de que está entrando de gaiato, pois haja fôlego para estudar e conhecer bem uma versão de software antes que seja lançado o próximo release.

Outra pedra no sapato do pobre e iludido consumidor é o maldito gigantismo dos programas, tática torpe e vil dos donos do mercado de software em conluio com os ciclópicos líderes do mercado de hardware. Se analisarmos bem nossos programas favoritos e seus upgrades, perceberemos que cada versão nova sempre ocupa mais memória RAM, mais espaço em winchester, precisa de CPU mais veloz e por vezes até de uma melhor resolução em video. E chegamos a um ponto em que nossa maquininha, que era o máximo da goiabada quando foi comprada, passa a não servir mais para rodar os novos monstrengos. E lá vai você, cabisbaixo e rezingueiro, comprar mais ferragens.

E quando dá alguma creca? Coitado daquele que tem que descobrir se o problema está no gerenciador de memória, ou quem sabe um conflito de drivers, de IRQ's, problema no DOS, no Windows, no compilador, ou em outra aplicação medonha disputando memória com algum outro bacalhau. E se você cai na mão de alguns departamentos de suporte de software, podem eles arranjar na mesma hora um bom argumento botando a culpa em algum outro programa residente.

Mas então o que fazer? É verdade que existem usuários heróicos, mas são poucos. Grandes empresas de arquitetura nos EUA ainda usam DOS 3.3 e AutoCAD release 9, quando já se fala em DOS 7 e AutoCAD 13. Mas a grande maioria das firmas não tem peito para atitudes desse tipo. Acham que, para se manterem competitivas frente a suas rivais, precisam entrar no jogo infindável dos upgrades.

Quem compra uma Mercedes ou uma BMW sabe que está pagando caro. Mas a qualidade vale o preço. No caso de software, não há opções de produtos caros E de qualidade. Só se tem os produtos caros - a qualidade costuma ficar de fora. Pelo visto, a coisa só vai começar a melhorar quando os consumidores tomarem vergonha na cara e resolverem começar a se mexer, exigindo seus direitos e jogando a Lei em cima dos infratores.

Imaginem o que aconteceria com as empresas de software se fossem proibidas as cláusulas "AS IS", ou seja, aquelas em que é dito que o tal programa é comercializado "DO JEITO QUE ESTÁ", sem que o consumidor tenha nada a reclamar caso o soft venha a apresentar falha de funcionamento. Aí a coisa ia esquentar, pois um bug que causasse dano ao usuário teria que ser ressarcido pelo fabricante, no ato.

Em busca dos Gigadólares e aproveitando que a comunidade de usuários ainda se encontra meio abobada diante dos abusos, as indústrias de hardware e software dificilmente se importarão em atender aos verdadeiros anseios do consumidor. Se fosse feita uma pesquisa para descobrir o que os usuários realmente desejam, não seria surpreendente concluir que eles prefereriam ter um processador de textos confiável, simples, pequeno e fácil de usar. Planilha eletrônica e banco de dados do mesmo jeito. Pacotes cuidadosamente projetados, quase livres de erros e que não precisassem de computadores violentíssimos para rodar.

E que tal comercializar versões antigas para usuários finais e empresas pequenas? Aquelas versões tradicionais, que rodam redondo e cujos bugs já são velhos conhecidos e fáceis de serem contornados. Nem todo mundo gosta de ter que ativar a potência de um Corel para simplesmente desenhar uma imagenzinha para a folha de rosto de seu programa de fax.

Outra saída seria produzir software melhor testado e mais enxuto, com menos "features". Pacotes que pretendam fazer de tudo para todos acabam se tornando gigantes pesados demais. O excesso de badulaques num programa acaba causando atrasos em seu desenvolvimento e correria generalizada atrás das datas limite para lançamento. E bem sabemos que a pressa é inimiga da perfeição.

Esta abordagem mais responsável já está sendo ventilada por alguns setores mais atentos e responsáveis dentro da indústria de software nos EUA. A motivação é o temor de que venha a acontecer uma invasão de produtos mais sólidos e robustos produzidos em outros países. Afinal, muitos americanos ainda sentem arrepios ao lembrarem como foi enterrada sua indústria siderúrgica pelos japoneses, a indústria rodoviária pelos alemães e a indústria de aparelhos de TV pelos coreanos.


[ Voltar ]