Software: qualidade, esparguete e fogo de artifício

Quem se põe a desenvolver software “a metro”, com equipas de programadores agarrados a uma dada tecnologia corre o grave risco de criar um monstro, fora de controle, nos próximos anos, avisa Carlos Costa, director de marketing da Quidgest.

Carlos Costa, director de marketing e desenvolvimento de negócio na Quidgest

Está na moda desenvolver software. Especialmente Apps e portais. Mas ter sucesso com isso não é, não foi e não será para todos. Criar soluções de qualidade, duradouras que tragam valor para a sociedade requer um domínio, foco, disciplina e resiliência que nem todos conhecem ou não são capazes de atingir.

Há muito software a ser desenvolvido que não tem qualquer utilidade. Muito outro vai ficar inútil, num futuro próximo, devido a erros graves no processo de fabrico ou numa má definição de âmbito.

O design e o marketing servem apenas para melhorar o seu impacto, eventualmente produzem alguma satisfação momentânea, não a sua conformidade. O motor de busca Google é um exemplo de sucesso, que se focou em fazer bem aquilo para que foi criado, em conformidade com a necessidade do utilizador.

Muitos dos portais de busca que apareceram na altura e que, para esconderem a sua fraca produtividade e assertividade, incluíram “fogo de artifício” com inúmeras animações, imagens e funcionalidades diversas, já quase todos desapareceram.

Este artigo pretende ajudar a clarificar o que é software de qualidade, seguro e conforme.

Qualidade

É de qualidade um software que cumpre os requisitos do utilizador e do gestor do processo, sem erros, seguro e pronto para mudar. O software de qualidade permite acelerar processos, reduzir custos e sobretudo libertar as organizações do tédio repetitivo e do erro humano.

Também é de qualidade que falamos quando os sistemas de informação acompanham, com as mudanças na atividade da empresa ou instituição pública.

E há quem o possa certificar. Não basta ser o produtor de software a dizê-lo. Além das habituais normas ISO 9001 a avaliação CMMI é provavelmente a melhor garantia de que o software produzido é de qualidade.

A questão da segurança e credibilidade hoje adquiriu também um peso muito importante no fabrico de software. A instalação de software de origem duvidosa, de amadores, ou de fabricantes que não tenham mecanismos rápidos de criação de novas versões, mais seguras, pode acarretar custos elevados às organizações.

A qualidade de um software não tem nada a ver com a dimensão da empresa ou a notoriedade da marca que o produz.

Esparguete

Quem se põe a desenvolver software “a metro”, com equipas de programadores agarrados a uma dada tecnologia, como acontece com muitas organizações por esse mundo fora, corre o grave risco de criar um monstro, fora de controle, nos próximos anos. O conhecimento fica normalmente disperso pela cabeça dos analistas e programadores e, mesmo que o código fique bem documentado, quando a dimensão e complexidade da solução aumenta, o controle diminui.

Quem trabalha em programação, pelo processo tradicional “waterfall”, sabe que há uma forte tendência para o “esparguete” e, consequentemente para a cristalização das funcionalidades base de uma dada solução. Os custos de alteração em fase de operação são cerca de 150 vezes superiores aos da fase de requisitos, segundo um velho estudo da Barry Boehm.

As dispendiosas e arriscadas mudanças de um package complexo de software são decididas pelo seu fabricante e pelos clientes mais importantes. Os clientes mais de nicho não têm grande direito de voto e têm que ficar com uma elevada percentagem de funcionalidade que nunca utilizam.

O custo de gestão do “esparguete” é a principal causa deste desrespeito pelas minorias. Os mais ricos, porém recorrem a desenvolvimentos de aplicativos que orbitam à volta do grande package o que aumenta a complexidade, confusão, rigidez e custo da solução final obtida.

Conheço grandes empresas com verdadeiras “geringonças”, em que o package central de gestão opera em três versões diferentes, porque nunca conseguiram migrar todos os aplicativos (há quem lhe chame “ouriços”) em seu redor. Como alternativa, o desenvolvimento ágil com metodologias tipo SCRUM podem apresentar custos muito inferiores e mais homogéneos nas várias fases, desde os requisitos até à operação.

Fogo de artifício

O expoente máximo do fogo de artifício em software é um portal ou app muito sofisticado e de grande impacto visual mas que não serve para nada. Ou melhor, pode facilmente ser dispensado porque existem já outras formas de realizar essa tarefa. Um exemplo típico são alguns portais de emprego, de associações e notícias.
Outros exemplos são os portais de portais ou as apps para eventos de um dia ou de notícias. Qual o interesse? Qual o valor? Alguém vai usar? Se não houver alguma automação e/ou inteligência, este tipo de software não serve para nada a não ser “fogo de artifício”.

Algumas destas aplicações até poderão vir a ser úteis quando o número de aderentes ultrapassar um dado valor crítico. Por exemplo um portal do cidadão que é apenas um índice de apontadores para os portais de vários serviços públicos, não tem qualquer valor prático.

Quem é que se vai registar num portal apenas para navegar em várias páginas que apontam para outros portais, se isso pode ser mais fácil e rapidamente obtido num qualquer motor de busca (como o Google)?
No entanto se se conseguir, com alguma ação de marketing, convencer os cidadãos ao registo, a partir de um dado número de aderentes e visitantes, esse portal passa a ter algum valor (poder de comunicar, estatísticas de comportamento, …) além do “fogo de artifício”.

Muitos milhões de euros são gastos anualmente em todo o mundo a criar apps e portais que quase não servem para nada, apenas para mostrar que se está na onda da inovação e da transformação digital. Faz-me lembrar há uns anos um diretor hospitalar a dizer que que tinha tudo informatizado porque “já tinha comprado 300 PC’s!”

O software e a informática em geral, sempre teve uma vertente de marketing, imagem e até lazer mas, cuidado! Isso não basta para aumentar a produtividade, reduzir custos, ser mais competitivo e posicionar-se na verdadeira arena da qualidade e segurança.

Geração automática de software

As plataformas, agora chamadas de “low code” ou “no code”, permitem criar software de maior qualidade, em algumas áreas da gestão, muito mais rapidamente, com menos erros e em conformidade evolutiva com os requisitos específicos da atividade do cliente. Permitem criar soluções muito mais competitivas, diferenciadoras, tanto para grandes organizações como para nichos de mercado. Nem sempre conseguem o “fogo de artifício” que alguns decisores, mais superficiais, demasiadamente valorizam. Mas, são normalmente mais inteligentes e muito mais atualizadas tecnologicamente e, acima de tudo, não custa quase nada pedir uma prova de conceito.

Muito recentemente, no campo da música, Salvador Sobral mostrou-nos que é possível vencer pela qualidade e pela diferenciação sem fogo de artifício. E no software de gestão? Qual a sua convicção como decisor?

Prefere colocar os seus sistemas de informação, racional e economicamente, ao serviço da atividade única e específica da sua organização (DevOps)? Ou é mais sensível a questões de design, marcas, modas tecnológicas, normalmente soluções muito enoveladas, pouco interoperáveis, heterogéneas, dispendiosas, carregadas de “fogo de artifício”?




Deixe um comentário

O seu email não será publicado