En un articulo anterior mencione este fenómeno que pienso que tiene mas auge, este tipo de software es algo real, pero el concepto de “Software desechable” es algo que yo invente y en el que espero seguir investigando sobre este tema.
bueno lo primero es el por que existen este tipo de software, los primeros sedieron por cambios bruscos de tecnología que hubo en varios puntos de la historia, para ser mas claro y mas resumido, es como la competencia entre el VHS y el Betamax al ganar VHS la batalla Betamax paso a ser obsoleto rápidamente.
Quisiera entonces repasar algunos aspectos que hacen que un software sea desechable:
Dependencia:
Todo software siempre tiene dependencia de recursos, pero esta siempre debe reducirse al mínimo. cuando esto no se tiene en cuenta un software puede quedar dependiendo de aspectos como la versión del sistema operativo, de recursos que nunca serán versionados o incluso aveces de un hardware particular del computador, esto conlleva obviamente a que el software sea desechable desde el primer momento.
Estandarización:
Cada empresa de desarrollo de software tiene sus propios estándares de desarrollo pero siempre deben ir combinados con estándares globales, mas que todo formatos o tecnologías, por ejemplo el uso de formatos XML, Web Services o utilizar SQL nativo, con esto no solo aseguramos que el software no será desechable sino que también sera mas flexible y administrarble.
Arquitectura:
la arquitectura es un aspecto muy importante para que un software ya que los cambios son comunes y recurrentes en cualquier software y el uso de una buena arquitectura es la que garantiza que estos cambios sean fáciles y adaptables a lo que ya se tiene, todo lo contrario cuando no se tiene en cuenta nisiquiera nomenclaturas en el código, aveces es mas rentable hacer el aplicativo de nuevo dependiendo del nivel de los cambios.
Requisitos:
El ultimo problema que genera software desechable generalmente es un problema entre el cliente y el proveedor al plantear los requisitos del software, aveces se plantean menos requisitos de los que en realidad se necesitan, esto causa que el software no cumpla su verdadera función o el proveedor haga un esfuerzo por entregar una funcionalidad que falto pero saltándose todas las normas y demás. sin embargo también hay otro aspecto en los requisitos, aveces el cliente no piensa a futuro y plantea requisitos ligados a condiciones especificas de hardware o software externo generando dependencia como la explique anteriormente, solo que esta se da por falta de visión en el cliente no en el proveedor.
Lo que acabe de decir puede sonar para muchos casi que obvio pero muchas empresas no lo aplican, sobretodo las que hacen pequeños software a la medida, adicional muchas empresas han utilizado la creación de software desechable para general obsolencia en estos mismos, una herramienta de negocio en donde produzco mas y gano mas.
el concepto de software desechable desaparece siempre y cuando el cliente y el proveedor acuerden bien los requisitos del software y ambos tengan especialistas en temas de desarrollo de software.
o a El desarrollo de software involucra enfrentarnos al manejo de cierta complejidad que se encuentra inherente al problema que intentamos solucionar seg n lo menciona u Booch 3 la complejidad se deriva de cuatro elementos La complejidad del dominio del problema la di cultad de gestionar el proceso de desarrollo la exibilidad que se puede alcanzar a trav s del software y e los problemas que plantea la caracterizaci n del comportamiento de sistemas o discretos. Aunado a esto complejidad adicional es agregada debido a que los requisitos de un sistema de software cambian frecuentemente.
o a El desarrollo de software involucra enfrentarnos al manejo de cierta complejidad que se encuentra inherente al problema que intentamos solucionar seg n lo menciona u Booch 3 la complejidad se deriva de cuatro elementos La complejidad del dominio del problema la di cultad de gestionar el proceso de desarrollo la exibilidad que se puede alcanzar a trav s del software y e los problemas que plantea la caracterizaci n del comportamiento de sistemas o discretos. Aunado a esto complejidad adicional es agregada debido a que los requisitos de un sistema de software cambian frecuentemente. Por otra parte tambi n se menciona e que Cuanto m s complejo sea el sistema m s abierto est al derrumbamiento total a a a produciendo un ciclo de vida del software muy corto.