|
|
Hacer o Comprar Software
José Camilo Daccach T.
Aunque pareciera que esta pregunta sobra a estas alturas del desarrollo de la tecnología, con frecuencia se hace caso omiso a algunas variables de obligatoria consideración
Cuadro triple derecha
Aunque pareciera que ya no es necesaria esta pregunta, cada vez que se toman decisiones sobre una nueva aplicación, o una necesidad de automatización o sistematización de procesos, se tienen las alternativas de hacer el software o instalar software que ya esté hecho. A pesar del avance en la oferta de aplicaciones ya desarrolladas, todavía se contempla la posibilidad de desarrollarlo.
Algunas variables que otrora no eran ampliamente exigidas en una solución informática, hacen parte fundamental de las características exigidas en las soluciones hoy. Entre las más importantes, la atención a requerimientos de flexibilidad y agilidad en el negocio. Lo que sea que vaya a ser sujeto de este proceso de "modernización" por llamarlo de alguna manera, deberá aportarle puntos a la empresa en aumentar la flexibilidad y la agilidad con la cual puede desempeñar su negocio.
El desarrollo de software ha pasado, al igual que muchas otras disciplinas, por muchas etapas tendiente a su formalización como proceso y como industria. Hace unos años, solo bastaba que el programa hiciera lo que se le pedía; hoy hay procedimientos, procesos y normas en pié para garantizar no solo la calidad del resultado, sino la estabilidad de la aplicación, la escalabilidad, la permanencia de quien lo construye, entre otras múltiples consideraciones ya incorporadas en estándares como el CMMI.
En la medida en que va creciendo la oferta de aplicaciones ya desarrolladas, también van creciendo los requerimientos para el desarrollo del mismo; requerimientos que hacen cada vez más complejo que una empresa, que no se dedica al negocio del software, pueda cubrirlos o amortizarlos, en su gran mayoría.
No tenemos nada en contra del desarrollo de software in-house, y es más, en los inicios de nuestra vida profesional, eso precisamente era lo que hacíamos. En aquella época, no se dependía tanto de las aplicaciones, estábamos simplemente automatizando procesos manuales para el ahorro de costos de mano de obra. Solo varios años después surge el concepto del uso estratégico de la información para generar ventajas competitivas, y empieza a generar más requerimientos sobre la velocidad con la cual debe estar desarrollada la aplicación, además de reformar el negocio.
Hoy es indispensable que las soluciones estén en horas o minutos, que las aplicaciones que estén en pié permitan hacer cambios, como comprar o vender compañías, sin tener que depender de los sistemas de información, de poder gestar estrategias comerciales con base en aplicaciones flexibles y ágiles que permitan que sean los comerciales, y no los ingenieros de sistemas que puedan hacer estos cambios.
Son tantas las tecnologías disponibles hoy, y tan rápido el ritmo de su cambio, que es difícil para una empresa que no se dedique al desarrollo de aplicaciones, seguirles la pista, estudiarlas, e implementarlas. Cada vez hay más aplicaciones disponibles, con y sin costo, para ir cubriendo los requerimientos de información en las empresas. A nadie hoy se le ocurriría diseñar al interior de una empresa, un procesador de palabra o una hoja de cálculo. Me atrevería a decir que ya tampoco estaríamos diseñando aplicaciones transaccionales para el manejo de los recursos (dinero, materiales, personas) habiendo ERP's por doquier.
Hasta en aplicaciones "traídas de los cabellos" cabría la posibilidad ahora de integrar diferentes funciones de diferentes aplicaciones para armar la solución que se requiere. Las tecnologías de desarrollo que se utilizan hoy permiten hasta comprar fracciones de código, y/o módulos ya elaborados para con ellos armar la solución.
Parecería como lo mismo, entre hacer la aplicación y armar una, sin embargo hay diferencias que parecen sutiles, pero que son tremendamente importantes. Para citar solo un ejemplo: otrora se construía el manejador de los datos, aparte de los archivos de datos. Hoy tenemos bases de datos y sus respectivos manejadores. No tiene sentido hoy empezar por construir la base de datos y su manejador, cuando el tema es de implementación. Lo mismo sucede con módulos de manejo de usuarios, exportar archivos en varios formatos, subir archivos, incorporar videos, y muchas aplicaciones más.
Hoy se inicia desde lo que se tiene ya construido, buscando armar primero y por último, si no hay más remedio, construir desde cero, sin embargo, con la velocidad con que avanzan las colaboraciones en la construcción funcional de módulos, es bien factible que antes que usted termine con el suyo, ya aparezca disponible en alguna parte. Ya en la construcción de software estamos aplicando el "zapatero a tus zapatos" y la implementación de software, de diferentes fuentes, en forma integrada está tomando un nuevo aire.
|