Skip to Content

Software Hecho en Casa?, Comercial ? o de Código Abierto?

Hoy en día, a la hora de tomar una desición relacionada con el diseño y elaboración de un sistema, las empresas siempre hacen la misma consulta a los ingenieros de sistemas, compramos un software comercial, hacemos un software o compramos alguna solución basada en código abierto.

Esta preguntas se hacen mas frecuentes a la hora de la implementación de los ERP (Enterprise Resource Planning) y los CRM (Customer Relationship Management),actualmente se tienen bastantes soluciones comerciales y de código abierto, y la desición pasa por personalizar el sistema o comprar el sistema y adecuar los procesos al mismo; cuando se personaliza el sistema en muchos casos los esfuerzos llegan a costar lo mismo que haber desarrollado un sistema desde cero.

En todo caso trataremos de expresar algunos puntos para todos los casos.

Software hecho en casa

El desarrollo "in house" o hecho en casa generalmente empieza desde "cero", entendiendo que se conocen las necesidades y que es posible hacerlo, el desarrollo podria resultar largo, tedioso y costoso. Debido a que no se llega a tener el compromiso real por parte de la empresa para con el equipo encargado del desarrollo y que quizas el software desarrollado en cas no sigue las mejores prácticas de desarrollo, por no contar con la experiencia necesaria en desarrollo de proyectos y porque a pesar de ser una tarea que requiere casi un 100% de dedicación , la misma debe ser compartida con las funciones propias de las personas del area infromatica en la empresa. Lo cual lleva a demorar el desarrollo del proyecto y esto incrementa el costo del mismo.

La tecnologia y el mundo de los negocios tienen cambios constantemente, asi que la organización tendrá que adecuarse a estos cambios y por ende el sistema que se esta desarrolland, lo que implica realizar ajustes en el sistema y cubrir los costos que esto implica. Estudios han demostrado que los costos de mantenimiento a largo plazo de un sistema propio implican tres o cuatro veces  más del costo original del software.

Lo cual nos lleva a pensar seriamente si se lleva a cabo este desarrollo " in house", esto sin el ánimo de desalentar a nadie, ya que también considero que es posible realizar cualquier desarrollo, tomando pautas y buenas prácticas en desarrollo de un sistema.

Software comercial

Comprar un software comercial de algun proveedor representa un conjunto de detalles, en la teoria esta alternativa deberia eliminar los riesgos de un software hecho en casa, en el sentido de que cuenta con lo último en tecnología y ademas de estandares industriales a la hora de la elaboración del producto. No se tienen los costos del mantenimiento del producto a largo plazo y los proveedores son los responsables de esta tarea.

Aunque en algunos casos el software es caro y dificil de personalizar, en otros casos son  soluciones cerradas que no pueden ser modificadas, representan alternativas de muy rápida implementación. 

El software comercial requiere licenciamiento y generalmente esta basado en procesos que representan la visión o estándares que se manejan en la industria, que no necesariamente reflejan la realidad del usuario final. Esta puede considerarse como una limitación a la hora de la implementación final. Finalmente si el proveedor deja el negocio, descontinua el producto o es comprado por otra compañia, es posible que no se cuente con algún tipo de soporte para el producto adquirido.

En este caso también es necesario analizar y plantearse estas situación a la hora de tomar una desición

Software de Código abierto

Implementar una solución de código abierto, es una alternativa vigente y que esta tomando mucha fuerza. Las soluciones de código abierto  o "open source" ofrecen al usuario la posibilidad de contar con el código base, como si se hubiera desarrollado en casa y en la mayoria de los casos, cumpliendo estandares de programación. EL usuario o la organización puede obtenerlo de forma gratuita y probarlo, y saber si cumple con los requerimientos planteados, y con la posibilidad de que pueda modificarlo para que se adecue a los requerimientos, sin mencionar que no tendrá que correr con gastos o costos de licenciamiento.

Si no se require modificación alguna, el softwrae puede ser implementado de forma muy rápida, tal como los softwares comerciales empaquetados.

Si se requiere la modificación, el usuario puede identificar donde hacerlo y al contar con el código base puede realizarlo a través de su propio personal, hacer uso de la experiencia de la comunidad de desarrolladores de la solución o contratando a gente con experiencia en el manejo y la implementación de la solución.

Otra ventaja del software de código abierto es que trae el aporte de muchas organizaciones, empresas o personas que han colaborado en su desarrollo, y que han permitido llegar a versiones muy estables de la solución.

El código abierto tiene la ventaja, de que las actualizaciones son proporcionadas por toda una comunidad de desarrolladores que aportan su experiencia y capacidad para ir mejorando la solución, lo cual es lago muy importante a nivel de costos a largo plazo.

También es posible pensar en una implementación rápida y una posterior terciarizaciń de las modificaciones al código fuente, para adaptar el producto a los requerimientos , reduciendo el tiempo y el costo de la implementación del mismo.

Por otro lado considero mencionar que el que sea software de código abierto no necesariamente implica que sea gratis, ya que el costo generalmente se carga en el recurso humano disponible y capacitado para trabajar con esta solución. pero este es un tema a tratar posteriormente. De todas formas los costos son significativamente menores a las otras dos opciones anteriores.

La desición es suya, pero espero haber contribuido un poco en relación a este tema.