I. INTRODUCCIÓN
La ingeniería de software abre la posibilidad de desarrollar sistemas web móviles de gran alcance y fácil manejo para el usuario 1. Estos son capaces de permitir el control y manejo de información generada en las instituciones; a su vez garantizan agilidad y optimización de los procedimientos implicados en la gestión operaria y administrativa 2. El desarrollo de software se ha incrementado en los últimos años y se ha convertido en un proceso cuidadoso y ordenado con el propósito de obtener productos de gran calidad, que perduren en el tiempo y por sobre todo que sean confiables y seguros 3,4.
El uso de métodos ágiles ha sido señalado como de gran utilidad y se reportan variados beneficios por su implementación en el desarrollo de sistemas web móviles; dentro de estos destacan las facilidades de un diseño sencillo y rápido por la prioridad que ofrece a la aplicación de pruebas durante su desarrollo que favorece la mejora de las historias de usuario 5,6. Se considera que las prácticas ágiles simplifican el desarrollo de aplicaciones móviles, además de que son adaptables incluso después de realizado su lanzamiento o puesta en funcionamiento 4.
Dentro de las metodologías ágiles destaca la metodología Scrum, esta es considerada como un proceso donde se aplican un conjunto de buenas prácticas y se basa en el trabajo en equipo para aumentar la productividad. Una característica de esta metodología es la entrega parcial y regular del producto final; Scrum se aplica fundamentalmente en entornos complejos con requisitos cambiantes o poco definidos, donde se necesita obtener resultados de forma rápida basándose en la competitividad, innovación, productividad y flexibilidad 7,8.
La metodología Scrum también se aplica en aquellos procesos donde no se está entregando al cliente lo que necesita o las entregas se prolongan demasiado en el tiempo; con aumento en los costos y disminución de la calidad del servicio. Su aplicación se basa en la capacidad de realizar variadas actividades de análisis, diseño, desarrollo e implementación. Busca hacer frente a la competencia, aumentar la estima de los equipos de trabajo y aumentar la identificación y solución de ineficiencias que se presentan de forma sistemática 8.
Relacionado con los métodos ágiles se han desarrollado prácticas dirigidas a resolver problemas de los usuarios, tal es el caso de desarrollo dirigido por pruebas (Test Driven Development) (TDD); que admite el diseño y desarrollo de aplicaciones para cambios apremiantes que surgen, en la medida que tributa seguridad, códigos factibles de conservar y notificación de efectos secundarios no deseados antes de la liberación de un código 9,10.
En tal sentido resulta importante señalar que La Junta Administradora de Agua Potable Angahuana Alto, no contaba con un sistema automatizado de registro de lectura de los medidores del consumo de agua, así como tampoco disponía de sistema automatizado para registrar el control de las recaudaciones recibidas como retribución a los rubros generados por el consumo de agua. Al no disponer de sistemas de lectura y control automatizados todos los procesos se realizaban de forma manual. Esta situación imposibilitaba al personal operativo y administrativo obtener, generar y brindar información precisa e inmediata al momento que los usuarios se acercaban a formalizar los pagos correspondientes.
La demora e imprecisión en el servicio brindado generaba desconcierto e insatisfacción tanto a los prestadores del servicio como a los clientes, repercutiendo negativamente en el estado financiero de la empresa y en la satisfacción de los clientes.
Es por esto que teniendo en cuenta la necesidad de implementar un sistema automatizado que permita a los funcionarios realizar el proceso de lectura de medidores, determinación de consumo y cálculo del monto financiero a pagar de forma ágil y precisa, así como las ventajas que ofrece la utilización de la metodología Scrum y el TDD para la realización de software que cumplan con estas especificaciones; se decidió realizar una investigación con el objetivo de diseñar una aplicación web móvil para el registro de lectura de los medidores del consumo de agua y cobros por servicios prestados.
II. MATERIALES Y MÉTODOS
Se procedió al desarrollo de una aplicación móvil para facilitar, agilizar y optimizar las acciones relacionadas con la medición del consumo de agua y cobro por servicios prestados. Se utilizó el Burn Down Chart para realizar la comparación del tiempo de trabajo real y el tiempo de trabajo estimado al inicio de la investigación, elemento que permitió estimar el cumplimiento del cronograma establecido para la investigación.
Para el diseño de la investigación se utilizaron la metodología ágil Scrum (para realizar el diseño de la aplicación) y el método TDD para la realización de pruebas de comprobación de las características de la aplicación diseñada. En este sentido se tuvieron en cuenta las normas ISO 25000, específicamente las ISO 25010 que se relacionan específicamente con la seguridad 11.
Para la realización de las pruebas de control de tiempo de medición y de seguridad de la aplicación se seleccionaron 30 usuarios del sistema. Se procedió a medir el tiempo con un cronómetro, primeramente, en la forma manual y posteriormente mediante la aplicación creada. Los resultados de las mediciones fueron expresados en segundos.
Con los datos obtenidos en cada medición se confeccionó una base de datos en Microsoft Excel y posteriormente se procedió a realizar el procesamiento de la información de forma automatizada mediante el paquete estadístico SPSS en su versión 19,5 para Windows.
Se estableció el nivel de significación en una p<0,05, con un margen de error en el 5% y el porcentaje de confianza en el 95%. Se utilizó t de Student para determinar distribución de probabilidades. Se determinaron medidas de tendencia central y de dispersión para las variables cuantitativas y frecuencias y porcentajes para variables cualitativas. Los resultados fueron expresados mediante tablas y gráficos para facilitar la interpretación de los resultados obtenidos.
III. RESULTADOS
Después de realizada la investigación se obtuvo como producto final, que da respuesta y cumplimiento al objetivo principal de la investigación una aplicación móvil denominada SOLRIF.
Como parte del monitoreo sistemático de los avances del proyecto se analizó la velocidad del proyecto y la eficiencia aplicada a través de la herramienta Burn Down Chart. En la Figura 1 se muestra el resultado comparativo entre el tiempo real utilizado en las tareas para el desarrollo del software y el tiempo estimado al inicio de la investigación. Durante los 4 primeros sprint se cumplió con la planificación realizada; desde el sprint 4 hasta el 6, la línea de tiempo se extendió como consecuencia de cumplir horarios no incluidos en los tiempos estimados.
La Tabla 1 y Figura 2 muestran la comparación del tiempo utilizado por un funcionario en realizar la medición del consumo de agua mensual utilizando los dos sistemas; al utilizar la medición tradicional manual se demora, como promedio en los 30 usuarios, incorporados en el estudio, un total de 319,83 segundos (DE 45,43 segundos), lo que significa el 100,0 % del tiempo utilizado.
Al realizar la medición de forma automatizada por el sistema SOLRIF el promedio de duración en segundos fue de 162,30 (DE 13,09 segundos), significando solamente el 50,74 % del tiempo utilizado con el sistema manual; lo que significa una disminución promedio de 157,53 (DE 28,18) segundos que representa una disminución del 49,25 % del tiempo total utilizado originalmente (Tabla 1, Figura 2) Este dato fue estadísticamente significativo con una p=0,032.
Se calculó la t de Student la cual arrojó un valor de 30.61, superior al valor crítico t que es 2.75; por lo cual se acepta la hipótesis alternativa y se rechaza la hipótesis nula.
Al evaluar las características de seguridad de la aplicación SOLRIF se obtuvo de forma general un de 0.5333 que expresado en % corresponde al 53.33 %. La integridad fue la sub característica que mayor resultado obtuvo (0,6667, para un 66,67 %). Las demás sub características (confidencialidad, no repudio, responsabilidad y autenticidad) recibieron idénticos resultados de 0,5 que son equivalentes al 50,0 % (Tabla 2).
IV. DISCUSIÓN
Medir el consumo de agua constituye un importante factor tanto para la institución como para sus clientes. La existencia de medidores de agua garantiza el control de consumo de cada uno de los consumidores. El desarrollo de un sistema informático que ayude a registrar la cantidad de agua que consuma un usuario en determinado mes y su respectivo pago facilita y optimiza la función empresarial e incrementa el control debido a que el sistema automatizado ofrece información relevante, actualizada, inmediata y necesaria para una óptima gestión administrativa.
Sin embargo, el desarrollo de cualquier sistema informático requiere controlar y evaluar cuánto se agilizan los procesos en la institución que la implementa. La ingeniería de software garantiza mayor productividad de los operarios. Se trata de que el equipo de desarrollo tenga la posibilidad de incorporar mejoras y corregir bugs de los clientes de una forma más rápida, fiable y repetible con bajos costos 7.
Antes de realizar el análisis de los tiempos de medición se procedió a revisar la ejecución del proyecto según la planificación realizada. En este sentido se pudo observar que durante los primeros cuatro sprint se mantuvo un tiempo de desarrollo acorde a lo planificado; este periodo estuvo matizado por los elementos de creación y desarrollo de la aplicación móvil.
A partir del cuarto al sexto sprint se observó una ligera demora en relación a los tiempos estimados; una posible explicación a este fenómeno puede estar dada por la realización de pruebas de implementación, cumpliendo con el TDD, las cuales no estuvieron contempladas en la planificación inicial del proyecto 12.
La implementación de tecnología Scrum y del TDD permite dinamizar el proceso de diseño de software 13. El trabajo en equipo y la implementación permanente de pruebas a modos de examen de los resultados; permiten una rápida corrección de posibles deficiencias que se puedan haber obviado durante el proceso de diseño 14,15. El TTD se basa en trabajar en varias facetas al unísono, lo que permite disminuir tiempos, costos y magnificar la eficiencia del software desarrollado 16,17.
Al realizar la comparación de los tiempos necesarios por un operador para realizar la lectura del medidor de agua y conocer el consumo mensual se obtuvo una reducción importante y significativa de este indicador. La optimización de recursos y tiempo influyen positivamente en el rendimiento y operatividad de cualquier proceso productivo, lo que se traduce en mayor rentabilidad para la empresa y seguridad, confianza y satisfacción para los usuarios 18,19.
La reducción significativa del tiempo de medición repercute favorablemente en el rendimiento productivo del trabajador encargado de esa función; además agiliza los tiempos de facturación por parte del personal administrativo al disponer de los datos de medición con mayor agilidad. La disminución de cerca de la mitad del tiempo necesario, así como la presencia de significación estadística y de una t de Student favorable permiten afirmar que la aplicación desarrollada mejora el tiempo de necesario para realizar la medición del consumo de agua en los medidores.
De igual manera fue importante determinar el cumplimiento de los criterios estándar de calidad. La seguridad del sistema es esencial, pues es importante y necesario tener aplicaciones de alta calidad, pero también que tengan seguridad, pues las aplicaciones están sometidas en gran medida a los ataques informáticos. Con la Norma de evaluación ISO/IEC 25000 (2018a) se evalúa el cumplimiento de la seguridad, siguiendo los lineamientos de sus parámetros 20,21.
La seguridad debe estar presente desde la concepción del software, es un error dejarla para fases posteriores del desarrollo. Lo primero que se debe hacer para comenzar a implementar seguridad con la metodología Scrum en aplicaciones es identificar cuáles son los activos de información a proteger y cómo protegerlos, las vulnerabilidades de los elementos que interactúan con la información y cómo mitigarlas 22. Se debe conseguir reducirlas a un nivel de riesgo aceptable; acción que se lleva a efecto durante todo el proceso de desarrollo de la aplicación 23.
El sistema evaluado, según la aplicación de criterios y escala utilizados, muestran que la sub característica Integridad se encuentra en el rango objetivo, por lo que satisface considerablemente. La confidencialidad, no-repudio, responsabilidad y autenticidad están en el rango mínimamente aceptable.
Según la escala de aceptación definida, la evaluación de la característica seguridad es aceptable, si todas las sub características se encuentran entre los rangos mínimamente aceptables y excede los requerimientos, a pesar de que las sub características confidencialidad, no-repudio, responsabilidad y autenticidad muestran una aceptación mínimamente aceptable, se considera que el sistema implementado está dentro del rango de aceptación, en cuanto a la calidad del producto software 24,25.
No obstante, el sistema implementado pese a encontrarse en el rango de aceptación, presenta falencias con respecto a la seguridad, dado fundamentalmente a que inicialmente la aplicación fue pensaba específicamente para cumplir con los procesos descritos por el cliente; tales como registro de lecturas de medidor y de los respectivos pagos.
Asimismo, se debe referir que, en el desarrollo del sistema, se realizaron pruebas aplicando métodos de gran relevancia, impacto y alto riesgo en el funcionamiento del sistema, en su gran mayoría métodos de acceso a datos; lo que tal vez, por la poca experiencia del equipo en trabajo con TDD incidió en que el tiempo de implementación y ejecución de las pruebas excedió del estimado inicialmente.
Estos aspectos limitantes coinciden, en alguna medida con las conclusiones del experimento replicado, realizado por Dieste y otros (2015), donde plantean que TDD no produce beneficios en calidad o productividad, o al menos no de forma inmediata 23. Parece necesario que los sujetos experimentales reciban entrenamiento intensivo para que los efectos de TDD sean evidentes 26.
V. CONCLUSIONES
La utilización de la metodología ágil Scrum para el desarrollo del sistema web/móvil contribuyó a la coordinación y organización conveniente de las tareas planteadas por el equipo de trabajo pudiendo lograr una acertada implementación de los requerimientos. La capacitación y preparación exhaustiva del equipo para el desarrollo de aplicaciones con la utilización de TDD constituye una prioridad para eliminar vulnerabilidades y conseguir resultados favorables en la calidad del producto.
Con la aplicación móvil se reduce considerablemente el tiempo del proceso de lectura de medidor, lo que contribuye a aumentar la productividad de la institución. Sin embargo, con respecto a la calidad del producto en lo referente a la seguridad, se encuentra en un rango aceptable, según la escala de aceptación utilizada, que advierte la presencia de posibles inseguridades en el sistema.