
¿Desarrollar o comprar software? Esta es la pregunta que surge cada vez que tenemos la necesidad de automatizar un área nueva o de reemplazar / mejorar un sistema existente. La respuesta general es: depende. En este post hago un análisis de lo que implica cada una de las dos opciones. También planteo algunas consideraciones a tener en cuenta antes de decidir entre desarrollar o comprar software.
Desde mi punto de vista, salvo que las características de la necesidad sean muy específicas, con el nivel actual de desarrollo del mercado de software, la respuesta será casi siempre: ¡Cómprar un software!
Desarrollar un software a la medida no es broma
El proceso de desarrollar un software a la medida con frecuencia se asume como si fuera algo trivial. En base a mi experiencia puedo afirmar que es todo lo contrario.
Es crítico seguir un proceso metodológico ordenado. De esa manera se puede asegurar que se llega al final con un producto útil y que haya sido obtenido a un costo razonable, para el beneficio obtenido.
Si ante una necesidad específica, un proveedor te dice: «Se puede hacer rápido, sólo se necesitan unos cuantos programitas”, desconfía. Mi recomendación es: piensa bien antes de tomar una decisión.
A continuación describo qué es lo que implica el desarrollo de un sistema a la medida y también de comprar un software:
Actividades que involucra desarrollar un software a la medida
Esta opción implica comenzar desde cero a desarrollar el software, como se dice coloquialmente, partiendo de un papel en blanco.
Como digo antes, este camino es bastante complejo. Para darte una idea de lo que implica, a continuación describo a grandes rasgos los tipos de actividades requeridas para desarrollar un sistema a la medida:
1. Definir cuál es el problema que se quiere resolver
Muchas veces no se tiene claro.
2. Entender cuáles son los requerimientos
Se necesita documentar y confirmar cuáles son los requerimientos de las personas que tienen la necesidad.
3. Diseñar los aspectos funcionales
Eso significa definir cómo será el sistema a la vista de los usuarios (pantallas, reportes, formatos). También definir cuáles son las funciones que deberá realizar (ingreso de información, cálculos).
Esos requerimientos deben ser documentados y luego validar que lo que se ha plasmado sea realmente lo que quieren los usuarios.
4. Diseñar los aspectos técnicos del sistema
Esto comprende cosas como el diseño de la base de datos y de los principales procesos. Estos deben ser validados con alguien con experiencia en el tema, para asegurarse de que el rendimiento va a ser el adecuado y que pueda soportar el crecimiento esperado para los siguientes años.
5. Definir las características de los equipos
Esto implica los equipos necesarios para que funcione el sistema y encargarse de que estén disponibles en el momento que se necesiten.
6. Desarrollar los programas
Para desarrollar los programas se requiere gente con experiencia adecuada, para que estos sean eficientes y fáciles de mantener.
7. Desarrollar la documentación técnica y de usuario
Que servirá para facilitar el mantenimiento posterior y como medio de ayuda para los usuarios.
8. Capacitar a todas las personas que utilizarán el sistema
Ya que si los usuarios no están entrenados, no podrán obtenerse los beneficios esperados.
9. Hacer las pruebas
Tanto a nivel técnico, para comprobar que está funcionando de acuerdo a lo que se espera, como a nivel de usuario, para obtener su aprobación de que está de acuerdo a lo que solicitaron.
10. Cargar el sistema con los datos necesarios
Se necesita que el sistema esté cargado con todos los datos necesarios para poder operar en forma normal.
11. Poner el nuevo sistema en operación
Una vez que todo está listo, deberá ponerse en funcionamiento el sistema, evaluar su desempeño y resolver los inconvenientes que se presenten.
Todas estas actividades deben ser realizadas en forma ordenada, asegurándose de que hay coordinación entre todas las personas involucradas.
Algo muy importante es asegurarse de que todo se hace dentro de los plazos establecidos y el presupuesto calculado inicialmente.
¿Qué implica comprar un software?
En este caso se parte de un software que ya está desarrollado. Por lo general, detrás del software hay una empresa que tiene experiencia, que se dedica a ello y que tiene recursos permanentes para darle mantenimiento y actualizarlo.
Por este camino, una tarea crítica es buscar las opciones de software que existen y escoger la que mejor se adapte a tus necesidades, lo cual tampoco es algo trivial. La selección de alternativas deberá hacerse con bastante seriedad, ya que la decisión que tomes significará casarte con un producto y con un proveedor, no por el resto de tu vida, pero si por mucho tiempo.
Debes tener en cuenta que si decides cambiarte de producto en el futuro, el costo de hacerlo será bastante similar a la inversión inicial.
Igual hay que realizar un trabajo de análisis
De forma previa al proceso de selección, es necesario realizar las actividades 1 y 2 listadas en el título anterior. Básicamente definir el problema y detallar los requerimientos.
En base a los requerimientos, hay que buscar qué alternativas de software existen que cumplen con los requerimientos.
Luego, es necesario realizar un análisis detallado de cuál de esas alternativas cumple mejor con los requerimientos de tu negocio. Además, se requiere analizar otros aspectos como precios, prestigio del proveedor, contactar a usuarios para obtener su opinión, entre otros.
Una vez tomada la decisión por una de las opciones, lo que sigue es el proceso de implementación. A diferencia del caso del desarrollo de software a la medida, ya no es necesario realizar las actividades 3, 4, 6 y 7. Esas actividades corresponden al desarrollo, pero sí las que tengan que ver con la implementación como las actividades 5, 8, 9, 10, 11.
Un aspecto crítico al comprar software es decidir qué cambios hacer
Uno de los aspectos críticos a atender cuando se compra un software ya hecho, es que este trae una forma particular de hacer las cosas. Por ejemplo, tiene esquemas predefinidos para la forma de registrar las facturas, de llevar los costos etc. y esa forma no necesariamente coincide con la realidad de la empresa.
Dado que la tendencia de las personas es a resistirse al cambio, tratarán de mantener la forma existente de hacer las cosas, lo que muy probablemente implicará modificar el sistema.
En este punto mi consejo es que analices muy bien los cambios que vas a aceptar, ya que el exceso de modificaciones es la razón principal por la que muchos proyectos fracasan o terminan costando mucho más de lo que se presupuestó.
Respecto a lo anterior, la guía general sería: Si el software proviene de un proveedor serio y con una historia de proyectos de implementación exitosos, muy probablemente lo que ofrece su producto estará de acuerdo a lo que se denomina “buenas prácticas”. De ser el caso, lo mejor será adaptarse a esas prácticas, a menos que hayan razones de peso para no hacerlo.
Si requieres más información sobre el proceso de comprar un software hecho, puedes leer Guía para comprar un software hecho (paquete), en este blog.
Desarrollar o comprar software – Conclusión
A modo de conclusión, ante este dilema sobre desarrollar o comprar software, la recomendación sería: partir de la premisa que comprar un software hecho es la mejor alternativa. La excepción sería que los requerimientos de tu negocio sean muy específicos y existan muy pocas o ninguna opción para comprar software en el mercado. De todas formas, hoy en día es muy difícil que ocurra eso.
Si optas por comprar un software hecho, el proyecto será más rápido y tendrás un producto con la garantía de que está siendo usado en varias empresas. Sin embargo, tienes que poner mucho cuidado en seleccionar a la empresa o persona que se encargará de realizar el proyecto y no te dejes llevar por la promesa de aquellos que dicen que desarrollar un software a la medida es una tarea fácil.
Última actualización:
¿Quieres más contenido como este? ¡Suscríbete!
Podrás descargar gratis un extracto de mi libro: Gestión de tecnología de información - Manual de supervivencia para gerentes y empresarios
¡Perfecto! Para asegurar que tus datos están correctos, sigue el link del email enviado a tu bandeja de entrada.
Algo salió mal.