No número da revista "Scientific American" do pasado mes de setembro apareceu un artigo zumento sobre a chamada enxeñaría de software. Permítame que a traia aquí, xa que nela ofrécense datos e opinións de interese.
Desta forma infórmasenos da profunda crise da construción de software, pondo de manifesto a aparente ciencia, tecnoloxía ou historia contraditoria dunha ciencia que se está expandindo en constante crecemento entre os fracasos. E os exemplos de ilustración e as cifras de dólares multi-cero non faltan.
Por unha banda, os expertos aseguran que nos próximos anos, no que respecta ao uso dos computadores, observaranse grandes cambios. Din que estamos ante unha explosión de software real. Por exemplo, se o programa de computador do proxecto Apollo dos EEUU de 1970 contaba con preto de 10 millóns de instrucións, o denominado Space Shuttle dos anos 80 chegou aos 40 millóns. No mesmo sentido, a cantidade de código que conteñen os produtos de consumo duplicouse en dous anos.
Máis liñas de programas, por suposto, aumentan significativamente a probabilidade de cometer erros. En consecuencia, a posible prolongación dos proxectos pode dar lugar á suspensión dos mesmos. Segundo a estatística, a partir de certo tamaño a probabilidade de cancillación pode chegar ao 50%, a súa extensión (se consegue terminar!) duplícase.
Cada vez máis, a industria está a demandar sistemas distribuídos, é dicir, programas executados en computadores conectados á mesma rede. Os problemas xorden á hora de integrar estes sistemas. A este respecto, o Consulting Group de IBM publicou os resultados dunha enquisa realizada en 24 empresas punteiras. As cifras eran arrepiantes: o 55% do proxecto tivo un custo superior ao esperado, o 68% terminouse fóra do seu prazo e o 88% requiriu de reestruturacións profundas. E a enquisa non sinalou una característica importante: até que punto eran fiables á hora de executar os programas.
Con todo, os números máis sorprendentes déronse no seguinte caso: A Administración Federal de Aviación (FAA), coa intención de renovar ou substituír completamente o sistema de control do tráfico aéreo, dedicou esta función á empresa Federal System Company de IBM, pola garantía que esta prestaba como líder no desenvolvemento de software.
Anunciando a complexidade do proxecto, a DFA estaba disposta a pagar 500$ por liña de programa, cantidade cinco veces superior á media das industrias dos EEUU nos seus proxectos de desenvolvemento. Doutra banda, non debemos esquecer que a industria do País Vasco, polo menos no que respecta ao software creado polos Centros Tecnolóxicos, queda bastante afastada desta media de 100$.
Tras a posta en marcha do proxecto, a DFA está a pagar cada liña do novo software entre 700 e 900$. O motivo é que cada liña do código necesitou una corrección media. O programa, con 5 anos de atraso, supera en máis de 1.000 millóns de dólares o orzamento.
Cabe sinalar que a maioría das empresas ás que se refire o artigo son vinculadas á administración. Se non se puido sorprender do déficit orzamentario dos EEUU.
O núcleo desta crise radica en que os programas de software, en gran medida, son produtos artesanais. Ata que o desenvolvemento de software convértase nunha verdadeira actividade industrial, non haberá auténtica revolución informativa. Esta preocupación non é de onte pola mañá. Na década dos 70 falábase de programación estruturada; na dos 80 falábase de sistemas CASE (Enxeñaría de software asistida por computador); na actualidade, de programación orientada a obxectos. Todas elas presentáronse como a chave da programación sistemática e produtiva, pero non conseguiron perder a situación actual.
Doutra banda, a medida que avanza a industrialización da construción de software está a converterse nunha tarefa dos países en desenvolvemento con man de obra barata e cualificada. Así, por exemplo, India obtivo en 1994 una exportación de software de 360 millóns de dólares, un crecemento do 60% respecto ao ano anterior, mentres que en 1985 as exportacións de software na India foron de só 6 millóns de dólares. Isto non reduce a súa dependencia. Arquitectura de sistemas, é dicir, actividade de maior valor engadido, xa que se realiza en EEUU.