Sistematización, ¿comprar o hacer software?

Por Ing. Alan Pérez Nila

 

Descargar artículo

 

Recibido 200318

Aprobado 250818

Ingeniero en Tecnologías de la Información y Comunicación, por la Universidad Tecnológica de León, Técnico Superior Universitario en Redes y Telecomunicaciones por la misma institución. Certificado en CCNA Exploration: Network Fundamentals y en IT Essentials: PC Hardware and Software. Coordinador de TI, en 4G Ingeniería S.A de C.V. donde administra las tecnologías, la implementación y el control de los servicios de TI. De igual manera, es administrador de servicios, firewall, telefonía, telefonía móvil, virtualización, servidores de datos y aplicaciones, bases de datos, desarrollo de aplicaciones, licenciamientos, coordinación y administración de proyectos de tecnologías, de infraestructura y desarrollo tecnológico, implementación, desarrollo de aplicación y capacitación de sistema ERP. 

Resumen

La sistematización consiste en la administración de los datos o información a través de herramientas tecnológicas o aplicativos, como sitios Web o redes de información por medio de aplicaciones o desarrollos computacionales, lo que significa desarrollo de software, y que nos ayuda a obtener un amplio análisis de datos para generar información. 

La sistematización, en su mayoría, aplica notablemente en los procesos y procedimientos de un negocio, lo cual, permite obtener información de manera más sencilla y entendible y/o agilizar la aplicación de estos, también nos puede ayudar a reducir costos y tiempos en el seguimiento y ejecución de dichos procedimientos, de manera que tiene la función de facilitar el trabajo diario. 

La decisión que se tome para sistematizar un método de trabajo, o bien, un proceso o procedimiento, va a radicar en comprar o desarrollar software; es decir, si la herramienta que se va a implementar va a ser adquirida mediante un tercero, o bien, se va a adquirir mediante la ejecución y/o creación con ayuda de personal interno del negocio, sobre todo evaluando los costos y tiempos que se reducirán tras la aplicación de la sistematización. 

Esto va a abrir un panorama para poder tomar la decisión de comprar o hacer software, siempre y cuando se alineé a las necesidades de la empresa o negocio, tomando en cuenta las ventajas y desventajas tras la implementación, la cual se explica y describe brevemente a continuación mediante un análisis y aplicación real de una sistematización de procedimientos en una mediana empresa.

Summary

Systematization consists of the administration of data or information through technological tools or applications such as Web sites or information networks through applications or computational developments, which means software development, and which helps us obtain a broad analysis of data to generate information.

The systematization, in its majority, applies notably in the processes and procedures of a business, which, allows to obtain more precise information to speed up the application; also it can help us to reduce time and cost in monitoring and performance of these procedures, so that it has the function of expediting daily work. To buy or develop software depends on cost and time invested. The decision would be the result of evaluating the pros and cons of "in-house" production of software. This article explores a real application of systematization of procedures in a medium-sized company.

Palabras clave

Software, sistematización, soluciones tecnológicas, software a la medida, software inhouse, software libre, software bajo licenciamiento.

Keywords 

Software, systematization, technological solutions, custom software, inhouse software, openhouse software, software under licensing.

Introducción

Uno de los pilares más importantes para cualquier organización de cualquier tipo, es el flujo y la realización de los procesos con los que llevan a cabo el trabajo diario, lo que hace que un producto nazca o que un servicio se cumpla/ejecute; todo lo que hacen las organizaciones parte de un proceso, siempre se tiene una entrada y una salida por lo que se entiende que ya existe un procedimiento.

En la actualidad, cada empresa maneja sus propios procesos y procedimientos para alcanzar sus objetivos y existen muchas maneras de mejorarlos, la mayoría de las personas y los empresarios necesitan que estos sean rápidos, eficientes, claros, objetivos, etc. Una de las formas de mejorar un proceso para hacerlo eficiente y rápido, es llevarlo a la sistematización, lo cual implica el uso de la tecnología.

Hay diferentes tipos de soluciones tecnológicas para cumplir con la sistematización de un proceso o procedimiento para que la empresa opere de manera más eficiente. Se puede aplicar la sistematización de procesos mediante aplicaciones tecnológicas que constan de desarrollo de aplicaciones, y es aquí donde interviene la toma de decisión para adquirirla, si el desarrollo que se va a obtener será un software libre, un software bajo licenciamiento, un software desarrollado a la medida (por terceros) o un software desarrollado internamente en la empresa (in house).

Cada una de estas opciones tienen ventajas y desventajas que radican principalmente en los requerimientos y las necesidades de la empresa, si los procesos que maneja la empresa son estándares y similares, puede orientarse a buscar software gratuito o bajo licencia para que cumpla con los requerimientos que se necesitan para cumplir el proceso, estos métodos suelen ser costosos, pero tienen ventaja en que los tiempos de implementación son más reducidos, lo cual lo hace en ocasiones una opción válida.

Si los procesos que maneja la empresa son muy particulares, se pude orientar a tomar la decisión de aplicar un desarrollo hecho a la medida (por terceros) o, bien, se pude optar por realizar un desarrollo a la medida internamente (in house).

A medida que avanzan, en la mayoría de las organizaciones, sus procesos y procedimientos suelen cambiar o modificarse para reducir los tiempos y costos de operación, sobre todo, adaptarse a los constantes cambios de la industria, y es ahí donde las empresas piensan la mejor solución en cuanto a la toma de decisión de una tecnología que se adapte a las necesidades de la organización.

Se presentan ventajas y desventajas específicas de los diferentes tipos de adquisición de desarrollo de software:

VENTAJAS SOFTWARE A LA MEDIDA​ DESVENTAJAS SOFTWARE A LA MEDIDA
- Normalmente la implementación de un software desarrollado a la medida se realiza mediante la utilización de tecnologías actualizadas.
- Los costos suelen ser reducidos a muy corto plazo
- Los tiempos de respuesta en muchas de las ocasiones no son tan eficientes para las organizaciones.
- Se invierte un mayor costo a mediano-largo plazo, a medida que la organización va creciendo, se pueden modificar sus procesos y se tiene que invertir un costo adicional para modificar el desarrollo.
VENTAJAS SOFTWARE IN HOUSE DESVENTAJAS SOFTWARE IN HOUSE
- Los costos suelen ser muy bajos a corto y mediano plazo, pues se utilizan recursos humanos internos.
- Suelen ser bastante flexibles, pues los recursos humanos están adaptados a los procesos.
- Los tiempos de operación del sistema no siempre se cumplen en los indicados.
- Se requiere de capacitación constante a los recursos humanos para adaptarse a las nuevas tecnologías, lo cual puede resultar más costoso.
VENTAJAS SOFTWARE LIBRE (OPENSOURCE) DESVENTAJAS SOFTWARE LIBRE (OPENSOURCE)
- En muchas de las ocasiones se adquiere gratuitamente.
- Se tiene la opción de tener el código fuente para poder modificarlo y adaptarlo a las necesidades de la organización.
- Mucha de la información no se encuentra disponible, lo cual hace que no haya garantía del uso del software.
- En ocasiones, se tiene que pagar a un tercero por realizar instalación, soporte y mantenimiento al sistema.
VENTAJAS SOFTWARE BAJO LICENCIAMIENTO DESVENTAJAS SOFTWARE BAJO LICENCIAMIENTO
- Los tiempos de instalación y adquisición son reducidos.
- Los tiempos de respuesta de soporte o mantenimiento suelen ser rápidos y eficientes puesto que son dueños del desarrollo.
- La adquisición, soporte y mantenimiento son muy costosos.
- Imposibilidad de modificación (a menos que se invierta un costo adicional para ello)

 

Metodología y resultados

En un caso específico, en la empresa X, se tenía un procedimiento de mesa de ayuda para el soporte a usuarios y mantenimiento a equipos de cómputo, el cual, consiste en solicitar soporte técnico o de sistemas a un usuario de sistemas, para ello, el procedimiento era realizar las solicitudes a través de un correo electrónico empresarial, lo cual hacia el procedimiento bastante confuso, sin seguimiento ni análisis; el encargado de soporte realizaba el seguimiento a través del mismo correo, lo que generaba que la información se perdiera fácilmente. 

Se decidió llevar a cabo la sistematización de este procedimiento, ya que la adquisición de una mesa de ayuda por un tercero tenía un costo de $65,000.00 MXN, adquirir un software OpenSource resultó ser satisfactorio, pero no flexible, de manera que no se adecuaba al proceso interno de la empresa. Por lo que se desarrollo un aplicativo “in house” (desarrollado por el creador de este documento), basado en metodologías ágiles para el desarrollo de software, (Extreme Programming ), la cual se fundamenta principalmente en comunicación, simplicidad y retroalimentación, que son los valores con lo que se apoya el aplicativo y tienen gran relevancia para compaginar con los usuarios que emplean el sistema, el enfoque de esta metodología se asienta en la solución básica de un proceso , por lo que lo hace mayormente efectivo en los tiempos de ejecución y puesta en marcha.

Bajo este esquema, se decidió desarrollar dicho aplicativo, el cual obtuvo ventajas significativas como la agilidad para generar y responder tickets de servicio, préstamos de activos de la empresa (para llevar un control) y el correcto seguimiento de los problemas. Esto permitió que el administrador obtuviera mucha información mediante reportes, tales como problemas más concurrentes, usuarios con mayor cantidad de tickets, meses que se generaron mayor número de tickets, etc. Esto ayudó a que los problemas se minorizaran o erradicaran, de manera que se generara la menor cantidad de tickets semanales. 

A continuación, se muestra ejemplos de la implementación y seguimiento tras la sistematización


Ilustración 1. Pruebas de primer nivel a usuario
Fuente: Elaboración propia


Ilustración 2. Creación de ticket de servicio
Fuente: Elaboración propia


Ilustración 3. Solución a ticket generado
Fuente: Elaboración propia


Ilustración 4. Solución de ticket
Fuente: Elaboración propia


Ilustración 5. Encabezado del historial de tickets
Fuente: Elaboración propia

 

Para respaldo y sustentabilidad de esta información, se realizó una encuesta a 15 de los usuarios que hacen uso (en la actualidad) de esta herramienta, mediante un aplicativo (ERP) llamado Odoo en su versión 11, cuyo resultado se puede obtener en el siguiente enlace:

http://54.153.15.27:8069

La encuesta fue la siguiente:

Y el resultado obtenido fue el siguiente:

La flexibilidad de este sistema y con base a la metodología de programación seleccionada, permitió integrar la sistematización del procedimiento de vehículos automotrices de la empresa, y puede seguirse modificando y añadiendo (desarrollando) sistematización y unión de los demás procedimientos del negocio.

 

Conclusiones

En conclusión, antes de evaluar la decisión de sistematizar un proceso se tiene que pensar en el costo-beneficio que se obtendrá, si realmente es redituable invertir en sistematizar procesos que se realizan manualmente o procesos que no tienen un control o seguimiento, y reducir los tiempos y costos de la operación.

Tomar en cuenta, sobre todo, que para poder sistematizar un proceso o un procedimiento, se tienen que evaluar todos los tipos de ventajas y desventajas de desarrollo o adquisición de la tecnología para que pueda ser la óptima para la empresa. Esto debe implicar que el sistema sea de bajo costo, que se reduzcan tiempos tanto de instalación y de operación para la organización, que sean fáciles de operar y flexibles para adaptarse a los cambios a mediano y largo plazo. 

En el transcurso del documento se mencionó un caso de éxito que se basó principalmente en las necesidades de la empresa, las cuales fueron tiempo y costo, aparte de la flexibilidad, para lo cual se adaptó considerablemente el desarrollo in house, lo que permitió el bajo costo, reducir tiempos de implementación al ser una metodología básica y también la reducción significativa tras la implementación al entrevistar a los usuarios y obtener los comentarios que avalan el desarrollo del sistema.

 

Referencias

Andrés Navarro Cadavid, Juan Daniel Fernández Martínez, Jonathan Morales Vélez, (diciembre de 2013), Revisión de metodologías ágiles para el desarrollo de software. A review of agile methodologies for software development, 11, 90-39.

Roger S. Pressman. (2010, 2005, 2002). Ingeniería de Software, un enfoque práctico. Séptima edición. McGRAW-HILL Interamericana Editores, S.A. DE C.V.

 

Referencia de imagen

Fotis Fotopoulos (2018)de https://unsplash.com/photos/LJ9KY8pIH3E (imagen publicada bajo licencia Creative Commons de Atribución-No comercial Genérica 2.0 de acuerdo a: https://creativecommons.org/licenses/by-nc/2.0/).

True Agency (2018)

Recuperada de https://unsplash.com/photos/o4UhdLv5jbQ (imagen publicada bajo licencia Creative Commons de Atribución-No comercial Genérica 2.0 de acuerdo a: https://creativecommons.org/licenses/by-nc/2.0/).