sábado, 18 de octubre de 2008

Software: ayuda o lastre?

Innegable es el hecho que la tecnologa ha supuesto la revolucin de cualquier negocio, y gracias a sta cada vez se abarca ms productividad (cantidad, calidad, menos esfuerzo y menos tiempo) y se recortan los costes. O al menos, sa es la intencin. Pero, realmente la tecnologa es una inversin rentable?. La teora dice que s, pero, qu dice la prctica?.

Por tecnologa puede considerarse o contemplarse cualquier concepto, ya sea fsico, idea, planificacin u organizacin, que suponga una novedad en el sistema actual, con el fin de optimizar dicho sistema.

Ante tamaa vastedad de tecnologas existentes entre todos los nichos de negocio que pululan por el universo mercantil, analizar la viabilidad y la rentabilidad del conjunto o de cada una de estas tecnologas sera una tarea pueril e injusta, dependiendo del punto de vista por que se rase.

El presente artculo se centrar en el software, actor principal en las tecnologas desde hace escasamente 40 aos (tiene ms edad, pero las tecnologas a las que se aplican predominan sobre las otras desde los aos 70). Gracias a esa mgica secuencia de bits encencidos y apagados, se pueden controlar y dar comportamientos inteligentes a los dispositivos tecnolgicos presentes en cualquier hogar y en cualquier empresa. El software domina cualquier aspecto de nuestra vida personal y profesional, desde nuestro telfono mvil o nuestros electrodomsticos, hasta los ordenadores, las mquinas industriales o los sistemas de produccin. El software est presente en cualquier faceta de nuestra vida o de nuestros negocios, gestionando la productividad, las nminas, la contabilidad, los pedidos, la facturacin, la organizacin, las lneas de produccin, las cadenas de suministro, los procesos de calidad...

Todo lo anterior suena a cristales celestiales tocados por la varita de un ngel, como dulce y armoniosa meloda que exhala dlares y euros como si fuera un aguacero brillante y mgico. Un sueo? Una ilusin? Un espejismo? Un humo bien fabricado?

Durante las primeras dcadas de la informtica, el hardware era prohibitivo, y las limitadas capacidades de ste eran controladas por un software de muy bajo nivel, con una lgica bsica bien depurada e ingeniada (en pocos bytes y optimizado para alcanzar un mayor rendimiento), desarrollado por unas pocas mentes privilegiadas que cobraban mucho por sus dotes - en aquel entonces - innatas. La complejidad de las tareas no era mucha, y las capacidades eran suficientes.

El hardware va evolucionando. Se hace ms pequeo, ms rpido, ms eficiente y... ms barato. Los PC's revolucionan el mercado informtico, haciendo accesible estas tecnologas a empresas medianas y pequeas y usuarios domsticos. El software tambin evoluciona, convirtindose en ms alto nivel (ms legible y sencillo para el ser humano), pero tambin ms pesado (ocupa ms bytes) - debido a la cobertura implcita de funciones resueltas de mayor uso (capas de cebolla) - y, por consiguiente, menor rendimiento (ms lento) en proporcin de las capacidades del hardware (ya no importa depurar y el extreme programming, ya que la memoria y la velocidad sobran). Se acometen tareas mucho ms complejas y las capacidades y posibilidades parecen no existir.

Se podra abrir un acalorado e interesante debate acerca de las curvas de aprendizaje y productividad con software de alto nivel, y de ser ms tradicional y estricto con el extreme programming. Pero no viene al caso en este artculo.

La inflexin del software viene a la hora de amortizar la inversin realizada en dicho software, sopesando el beneficio obtenido y las expectativas de beneficio por obtener.

La competitividad entre las empresas es una carrera desbocada por la ltima tecnologa. Cualquier avance en ese sentido puede hacer que un caballo (o un burro, segn se mire, y perdn por la expresin) gane un hocico tras la apetitosa y suculenta zanahoria del poder y de la ventaja competitiva.

Al principio, la inversin en software produca unos sistemas de la informacin muy a la medida y exclusivos. Esto era como invertir en un traje hecho a medida, mientras la persona creca y engordaba. Resumen: una inversin irracional que no prevea que ese traje se pondra muy pocas veces, para el pastn por el que se pag por l. Y sin prever la inversin (posiblemente mayor y desproporcionada) que supona despus hacer remiendos y parches a dicho traje. El final de esta historia, es tirar un traje (software) de poco uso, lleno de parches, y haber invertido en l un dinero desmedido. Asimismo, realizar un traje a medida es una labor artesana y profesional, que requiere de mucho tiempo. En cuanto el traje est terminado, el caballero que ha de vestirse con l, ya no entra en l.

Lo siguiente fueron los sistemas legacy o sistemas heredados. Consistan en seguir utilizando aquellos viejos trajes que costaron tanto dinero, en nuevos sistemas. Algo as como hacer un "tunning" de aquellos trajes. Esto tambin tiene sus costes, pues seguimos creciendo, y el traje antiguo que es el cimiento del sistema legado, tambin tiene que parchearse y remendar con las nuevas necesidades de la empresa, y, posteriormente, actualizar el tunning para que todo vaya al unsono. Sigue siendo costoso de mantener, pues aquel viejo traje est diseado para un hardware y una arquitectura antigua, con el riesgo de que un da perezca de repente y todo se caiga a modo de efecto domin. Asimismo, los sistemas antiguos siguen siendo lentos y obsoletos, y tunear el traje supone lastrar y heredar esa lentitud. Otro problema aadido es encontrar sastres que entiendan el traje antiguo y el traje nuevo, para hacer una obra de arte de integracin entre ambos y que no se descosa. Un tiempo y un dinero muy valioso. Vestir un traje legado con un ROI aceptable, es muy difcil y pocos lo han conseguido razonablemente.

La siguiente promesa o quimera fueron los ERP: unos supertrajes que prometan no quedarse pequeos nunca y tener un ROI (retorno de la inversin) rpido y una obtencin de beneficio a corto plazo. Pero la realidad demostr que no era as, pues aquellos flamantes trajes eran de plomo y monolticos, a pesar de contemplar estructuras muy complejas de negocio. Al final, siempre haba que hacer remiendos a medida, y entre lo que costaba el ERP, la instalacin, las licencias y los remiendos, nos encontrbamos con trajes muy pesados, caros, poco optimizados en cuanto al tiempo que se tardaba en poner en marcha con cierta aceptacin.

La piedra filosofal fue acuada como un sistema Lego, o sistema de componentes interconectados de uno a otro. Si bien la idea de un traje que pudiera ser construido por trozos intercambiables, cada uno con una funcin especfica, era la panacea y el futuro, la realidad es que en la prctica no pudo ser as. El software reutilizable es real a pequea escala, pero en un gran sistema no es as, ya que la complejidad crece exponencialmente, terminando, en ocasiones, en ser imposible. La ingente diversidad de piezas, cada una especializada en una cosas especfica, hace que en conjunto no sea compatible.

Lo ltimo fue SOA, una promesa de integracin entre sistemas a travs de servicios orientados a aplicaciones, utilizando web services a modo de capa de cobertura, como el chocolate que culmina el pastel. Este concepto puede ser brillante, pero peca de ser demasiado optimista, pues est pensado en este momento y para este momento, y la integracin hacia atrs conllevar ms costes de desarrollo, y ms tiempo, intentando consolidar distintos sistemas. Es un paso adelante, pero an no es la solucin, sino una adaptacin. Es cuestin de tiempo (y mucho), para dar la razn a la arquitectura SOA o no, y si es lo sufientemente rpida y adaptable al dinamismo empresarial. Pero para entonces se habr hecho una gran inversin en la que habr que analizar si el ROI se alcanza, y con que eficiencia y rapidez.

La empresa, as, va acumulando trajes de distintos fabricantes, con unas dependencias y exclusividades que ahogan por s mismas. El siguiente paso era la integridad de todos esos trajes tan variados, que elevan la inversin an ms para que todos los trajes parezcan entenderse y hablarse, cosa que se consigue a base de mucho tesn, pruebas, error y perder dinero con cada intento.

As pues, la empresa se encuentra con trajes que enseguida dejaron de valer, con trajes tuneados sobre trajes viejos, y remiendos para el conjunto de todos los trajes. La inversin (o coste) y el ROI (o recuperacin del coste) por esos trajes son una diferencia abismal de lneas: muy alta la primera, y muy baja la segunda. Esto se traduce, aunque no se quiera reconocer, en un derroche injustificable.

Lo peor de todo es que estos trajes generan dependencias y nuevas inversiones deficitarias, ya sea en forma de mantenimiento, soporte o remiendos, o en forma de migraciones cuando ya se hace insostenible el agujero, con el riesgo y la desconfianza en la creacin de un nuevo traje.

La empresa es un ente que en esta era va cambiando rpidamente, casi cada da, adaptndose a las ltimas tendencias, a la competitividad, a las oportunidades, a abarcar ms nichos de mercado, a adoptar nuevas metodologas de hacer negocios y de entender los negocios, a establecer nuevas estrategias. Este ente cambia y se transforma tan deprisa que el software se vuelve obsoleto o inapropiado casi cada da. La velocidad de evolucin entre el negocio y el software es totalmente incoherente. Existe, pues, una asinconicidad y una desincronicidad entre negocio y software.

Qu es lo que est mal? Por qu se invierte mal en tecnologa?

Se olvida en todo momento que la tecnologa es una herramienta que debe ayudar. Cuando se piensa en un proyecto de software, se empieza a pensar que el software es el propio negocio, como un rey Midas convirtiendo en oro todo lo que toca. Cuando se compra una furgoneta para ayudar en nuetro negocio, uno no piensa que la furgoneta va a hacer todo el trabajo slo, si no que solamente nos va a transportar la mercanca y el resto lo debemos hacer nosotros, incluso conducir. Se olvida que el software es algo que se ha de construir para ayudar a realizar ciertas tareas pesadas y costosas del negocio. La mayor parte de las veces, los especialistas en software no entienden el negocio, y aunque se utilicen tcnicos software expertos en dicho negocio, no llegaran a exprimir al mximo ste dentro del software. No obstante, un mayor entendimiento del negocio se traducir en un riesgo mucho menor y en un xito ms seguro. El software debe adaptarse al negocio, no a la inversa.

Otro punto importante que no se tiene en cuenta es la previsin de cambio. Se tiende ms a la reaccin con lo que ocurre en cada momento, que a ser proactivos en pos del futuro, anticipando comportamientos y cambios. Se tiende a crear sistemas ms y ms complejos, como en los negocios, pero no se anticipa la ambigedad. La complejidad en el negocio tiende a exponenciar la complejidad del software, pues la lgica del software va al detalle y enlazada en horizontal y en vertical con el resto de componentes del sistema. Por muy estructurado y muy bien diseado est un sistema, a medida que ste crece, se hace harto difcil cambiar algo muy sencillo sin que afecte al resto de una forma impredecible. Recordemos que el software es muy maleable, y una modificacin, por muy nimia que sta sea, afecta al resto.

Por otro lado, la dependencia cerrada con el software, es algo que puede suponer costes aadidos e imprevisibles. Por ejemplo, la fusin o compra de fabricantes de software propietario, se traduce, tarde o temprano, en cambios del propio software comprado que obligar, casi con seguridad, a invertir en nuevas versiones incompatibles con la que habamos adquirido. Esto se traduce tambin en volver a desarrollar conectores e interfaces que se integran con el resto de sistemas. Tambin, las nuevas versiones de propios fabricantes, pueden contener incompatibilidades que aplican al resto de sistemas integrados. Como el soporte tiende a dejar de dar servicio a versiones antiguas, obliga a las empresas a actualizarse a las nuevas versiones, que pueden no ser compatibles con otros sistemas (software y/o hardware) que estn obligados a convivir recprocamente. Por ejemplo, un sistema operativo nuevo puede no ejecutar aplicaciones anteriores. Algo as pas con Windows 95 y Windows Vista.

Otro problema aadido es que la inversin en un software no suele hacerse de forma inteligente. No hay un conocimiento importante de software, ni un estudio profundo de las opciones en el mercado, as como tampoco se tiene en cuenta la estandarizacin de un tipo determinado tipo de software, sus dependencias y la compatibilidad y convivencia con otros sistemas. Muchas veces se compra una consultora y el desarrollo de una solucin a medida, sin informarse si hay algn fabricante con un producto ya realizado, que tenga alguna estandarizacin y que pueda personalizarse sin demasiados costes. Siempre es inteligente hacer un sondeo de casos de xito de un software concreto en otras empresas, obtener referencias, impresiones, opiniones, leer crticas, foros...

Otra cosa que tambin se olvida es que si un negocio tiene problemas y errores, el software tambin lo tiene. Y nunca se tiene en cuenta este factor a la hora de prever costes, problemas y factores tales como esfuerzos y tiempos asociados al negocio en caso de problemas en el software, y a la inversa.

Tampoco se tiene en cuenta el nivel de dependencia entre negocio y tecnologa, ni se prev el impacto de "parn" del negocio en el caso de que la tecnologa falle. Es algo que nadie piensa, pero es una posibilidad muy seria, aunque pueda ocurrir 1 vez entre 100 millones.

Quiz la propia naturaleza del negocio y del software sea as, y buscar un equilibrio entre ambas es una habilidad o talento de expertos preparados e informados para tomar las decisiones correctas, de analizar las necesidades reales, las expectativas reales, la previsin de inversin, ROI y beneficio en el tiempo realistas, conocer bien los productos y las alternativas, sus pros y sus contras, el impacto que tendr con el resto de sistemas, el ciclo de vida, el mantenimiento, etc.

El tiempo, al final, decide si algo ha sido bueno, como un buen coche, unos buenos zapatos o un buen traje. Si durante mucho tiempo, el mismo producto ha sido bueno de principio a fin, ha sido rentable, ha dado beneficios, ha tenido pocos errores y se ha comportado impecablemente, entonces ha merecido la pena y ha sido un buen negocio.

Cuando uno vive experiencias de software bien utilizado y amortizado, se congratula en una forma eficiente e inteligente de uso. An me sorprende ver sistemas funcionando bajo MS-DOS con aplicaciones Clipper que funcionan tan impecables como antao, o en Cobol... Pero nota que la evolucin del negocio ha crecido en cuanto a ganancias limitadas usando el mismo sistema, y con pocos cambios en las estrategias del mismo. Es un crecimiento humilde basado en experiencias que funcionan, sin arriesgar en nuevas metodologas o estrategias, siendo algo "cuadriculado". Funcionar funciona sin riesgos, pero con un crecimiento lento y firme.

Otro tipo de software bien utilizado y amortizado es aquel que es estndar y probadamente estable y eficiente, de uso masivo y aceptado popularmente, como aplicaciones office, bases de datos, etc.

Pero seamos realistas... el software, o mejor dicho, la mentalidad o el ingenio de la conceptualizacin y desarrollo del software, an tiene mucho que aprender para hacer realmente efectivo un negocio, y convertirse as en una ayuda, ms que en un lastre. Del mismo, modo, el negocio debe aprender mucho para saber lo que el software puede o no puede hacer, y de qu manera, y de la forma ms efectiva y rentable. Ambos, como un matrimonio, tienen un largo camino por delante para llegarse a conocer bien y extraer lo mejor del otro y de s mismo, en beneficio comn.

Read More...

[Source: Rafinguer Blog: El blog de tecnologa]

No hay comentarios: