Al igual que ocurre con las soluciones comerciales ya implementadas, en el caso de optar por una solución basada en herramientas Open Source, también es posible encontrar diversas alternativas. En este contexto, lo más esperado sería seleccionar una herramienta Open Source orientada a la gestión y planificación de entrenamientos, dado que, en principio, esta función parece ser la más destacada dentro de la propuesta.
Sin embargo, si se utilizan los puntos historia comparando la parte que está más orientada al la planificación deportiva y la parte que está más orientada a compartir en grupos esa planificación e interactuar con ella, se observa que la carga de trabajo es la misma en ambos. Esta segunda parte se podría asociar en un alto porcentaje a las funcionalidades que permite una red social, por lo que la solución podría diferenciarse en estos dos aspectos, por un lado el de planificación deportiva y por otro el de red social.
Si bien es cierto que hay código Open Source para la parte destinada a la programación y al diseño de entrenamientos, el volumen de código y las ventajas en cuanto a mantenimiento y participación de la comunidad se encuentra mucho más desarrollado en relación con la parte de red social. Por este motivo, se ha optado por seleccionar MixPost, un software de código abierto con licencia MIT, diseñado para entornos de redes sociales, como base para el desarrollo de la aplicación.
MixPost
MixPost es una aplicación diseñada para facilitar la gestión integral de redes sociales mediante un enfoque de software autoalojado. Permite a los usuarios gestionar y programar publicaciones en diversas plataformas desde una única interfaz. Se ha evaluado la funcionalidad de MixPost utilizando su versión gratuita, con un enfoque en la facilidad de uso desde la perspectiva de usuarios individuales y pequeñas empresas. En términos generales, MixPost ofrece una herramienta robusta y flexible que cubre muchas de las necesidades de gestión de redes sociales, aunque su enfoque principal está en la programación y el análisis de publicaciones.
De cara a la solución se aprovecharía toda la parte orientada a las redes sociales que proporciona MixPost, adaptándola a lo necesitado por el cliente a la vez que se integraría un módulo orientado a la planificación deportiva, que permita abarcar todo lo que necesita el cliente para alcanzar su objetivo.
Arquitectura
MixPost es una solución SaaS autoalojada en la nube, disponible bajo diferentes versiones según las necesidades de suscriptores, incluyendo una versión gratuita, así como opciones Pro y Enterprise. Está construida con tecnologías modernas como Laravel y Vue.js, ofreciendo a los usuarios un entorno ágil y escalable para la administración de cuentas en múltiples plataformas sociales.
Estimación
Para estimar el tiempo necesario para desarrollar una solución con MixPost se utilizarán las historias de usuario y los puntos historia. Sin embargo, puesto que MixPost aporta ya muchas funcionalidades, se estima, en base a las historias de usuario que ya cubre el código de MixPost, aunque haya que adaptarlo, que se puede reducir en unos 18 PH la duración del proyecto.
Las historias de usuario que se considera que aporta MixPost son:
Código | Nombre | PH |
---|---|---|
HU-10 | Asistente de planificación | 2 |
HU-11 | Tablón de grupo | 8 |
HU-13 | Calendario de entrenamientos | 2 |
HU-14 | Creación de grupos de entrenamiento | 1 |
HU-15 | Solicitud de acceso a grupos de entrenamiento | 2 |
HU-17 | Feedback de la sesión | 4 |
HU-18 | Anotar datos de rendimiento | 2 |
A pesar de que el total en puntos historia de cada uno acumularía 21, hay que tener en cuenta que la solución de MixPost también debe adaptarse e implementar, para lo cual se estima necesario un trabajo equivalente a 3 PH. Por ello, se estima que una solución con estas características disminuiría el trabajo en 18 PH.
Si el total de puntos historia derivados de historias de usuario orientadas al objetivo de mejorar la condición física son 74, restando los 18 que aporta MixPost el total podría reducirse a 56 PH, o lo que es lo mismo, 56 jornadas laborables.
Costes
- Desarrollo: Suponiendo que el salario de un miembro del equipo sea el equivalente al sueldo de un capitán con 4 años de antigüedad, el coste por hora sería de 15,66 € y por lo tanto, por punto historia o jornada laboral sería de 125,33 €.
Por tanto, el coste total del desarrollo sería de 7018,66 € por miembro del equipo. En este caso se considera oportuno que el desarrollo se ejecute siguiendo una metodología ágil, dentro de un marco Scrum, en el que participarán dos personas, por lo que el coste será de 14037,33 €.
- Alojamiento: El alojamiento de la solución, en caso de ser aprobado, sería gestionado por CESTIC según sus propios procedimientos. Actualmente, no se dispone del coste exacto para incluirlo en el análisis, sin embargo, es posible realizar una estimación en función de los precios ofrecidos por proveedores de alojamiento y servicios de direccionamiento web. Entre las opciones disponibles, IONOS ha sido seleccionada como la opción más adecuada y competitiva, basada en servidores virtuales. Esta alternativa proporciona un servidor virtual propio, permitiendo la instalación de cualquier software necesario, así como la posibilidad de escalar el producto según las necesidades y aprovechar al máximo los recursos disponibles. Además, IONOS ofrece la opción de contratar un dominio, lo que permite también estimar dicho coste.
Considerando el volumen de trabajo de la solución, la opción más adecuada dentro de las ofertas de IONOS sería un VPS Linux L, con 4 vCores, 8 GB de RAM y 240 GB de almacenamiento. El coste del primer año sería de 144 €, mientras que a partir del segundo año ascendería a 168 €. El coste del dominio .es es de 1 € anual, por lo que el coste total estimado sería el siguiente:
Alojamiento | Direccionamiento | Total | |
---|---|---|---|
Primer año | 144 € | 1 € | 145 € |
Segundo año | 168 € | 1 € | 169 € |
- Mantenimiento: De nuevo, el mantenimiento de la solución recaería sobre CESTIC, pero se puede aproximar estimando que las necesidades de mantenimiento en 3 horas mensuales y que el coste por hora es equivalente al del desarrollo. Con estas condiciones se proyecta que el precio anual del mantenimiento ascenderá a 564 €.
Concepto | Primer Año (€) | Años Posteriores (€) |
---|---|---|
Desarrollo | 14.037,33 | 0 |
Alojamiento | 145,00 | 169,00 |
Mantenimiento | 564,00 | 564,00 |
Total | 14.746,33 | 733,00 |
Funcionalidades
A la luz de las distintas historias de usuario previstas para la solución, y considerando los criterios de aceptación de estas, se cree que esta solución cubriría todas ellas, alcanzando así todos los impactos que se busca lograr.
Riesgos
R1: Descontinuación del soporte de la comunidad
El soporte de la comunidad puede ser una fuente valiosa de ayuda, recursos y actualizaciones para el software. La comunidad que se ha originado en torno a MixPost es bastante grande, teniendo incluso un canal propio de Discord. Sin embargo, si la comunidad que respalda MixPost se descontinúa o se vuelve inactiva, puede haber varios impactos negativos:
-
Falta de Actualizaciones y Parches: Sin una comunidad activa, el software puede no recibir actualizaciones regulares, correcciones de errores y parches de seguridad, lo que podría poner en riesgo la estabilidad y la seguridad de la aplicación.
-
Problemas de Integración: La ausencia de una comunidad activa puede dificultar la integración con nuevas tecnologías o plataformas, ya que podría no haber suficientes contribuciones o soporte para abordar problemas de compatibilidad.
Para mitigar este riesgo es necesario tener previsto las horas de mantenimiento suficientes como para poder realizar las actualizaciones e integraciones necesarias sin el soporte de la comunidad.
Dado un periodo de vida estimado de unos 15 años aproximadamente, se considera posible la péridad del soporte de la comunidad, aunque actualmente disponga de un mantenimiento elevado y relativamente constante. A pesar de ello, se estima que el impacto sería menor puesto que mediante un mantenimiento adecuado podría solventarse.
R2: Capacidad de escalado
La solución puede verse limitada por la infraestructura del servidor en el que se aloje. En un entorno con alta demanda o crecimiento de usuarios, los problemas que podrían surgir incluyen:
-
Rendimiento Reducido: Si el servidor no está adecuadamente dimensionado, el rendimiento de la aplicación puede degradarse, resultando en tiempos de respuesta lentos o caídas del sistema.
-
Cuellos de Botella: La infraestructura puede enfrentar cuellos de botella, como limitaciones de memoria o ancho de banda, que afectan la capacidad de manejar múltiples usuarios o transacciones simultáneamente.
Para mitigar este riesgo, es esencial planificar y realizar ajustes proactivos en la infraestructura, incluyendo la posibilidad de escalar recursos del servidor según las necesidades crecientes, por ejemplo en las horas de mayor actividad que posiblemente ocurran entre las 07.30-09.00 que es la hora en la que la mayor parte de la Fuerza realiza sus actividades físicas.
Conociendo los tiempos previstos en los que la solución puede tener una mayor afluencia de usuarios, si bien se considera posible que exista alguna necesidad de escalado, el impacto se considera menor puesto que la paralización del servicio sería muy limitada y resoluble.
R3: Ciberataques
Al ser una plataforma del Ministerio de Defensa y estar expuesta en internet es susceptible de ser objetivo de ciberataques. Si bien es cierto que la información que recoje la solución no es crítica para la institución de forma global, si podría serlo para los usuarios de forma particular. Los posibles impactos incluyen:
-
Pérdida de Datos y Compromiso de la Información: Los ataques pueden resultar en la pérdida o filtración de datos personales, comprometiendo la privacidad y la integridad de la información gestionada por la plataforma.
-
Interrupción de Servicios: Un ataque exitoso puede causar interrupciones en los servicios que la plataforma proporciona, afectando a las actividades previstas durante la interrupción.
Para mitigar este riesgo es fundamental proteger o anonimizar la información de los usuarios de la aplicación, de forma que la información que se pueda obtener de la misma no tenga una mayor repercusión.
Si bien es cierto que el hecho de que una herramienta del Ministerio de Defensa que se encuentra desplegada en internet es probable, el impacto que podría llegar a tener, dada la limitación de la información que la solución trata y los servicios que ofrece es menor. La diferencia principal con la alternativa anterior es que en este caso es el propio Ministerio de Defensa el que tiene que asumir la seguridad y la recuperación de la información en el caso de que se produjesen ataques fructuosos, así como la puesta en servicio de nuevo y la solución de las vulnerabilidades.
R4: Continuación del Proyecto
La continuación del proyecto después de la finalización del período de prácticas enfrenta incertidumbres relacionadas con la continuidad y el mantenimiento de la solución. Las cuestiones que podrían surgir incluyen:
-
Suspensión del Proyecto: Tras el final del proyecto de prácticas, no hay garantía de que el proyecto se mantenga activo o se implemente en producción. Esto puede llevar a una paralización indefinida del desarrollo y de la puesta en marcha del sistema.
-
Mantenimiento y Alojamiento: La necesidad de procedimientos administrativos establecidos para la continuidad del proyecto puede afectar la capacidad para garantizar el alojamiento en el futuro y el mantenimiento de la solución. Esto incluye posibles dificultades en la actualización, soporte técnico y gestión de la infraestructura a largo plazo.
Para mitigar este riesgo, puede dejarse el proyecto en las mejores condiciones posibles para su funcionamiento desde el entorno del MVP, de forma que pueda hacerse uso del mismo con muy poco mantenimiento y aclarando los procedimientos necesarios para poder darle continuidad a la solución. Sería también conveniente por parte de la ECEF y de unidades usuarias la elevación de informes en el caso de que la herramienta se considere válida.Finalmente, se considera posible que se llegue a esta situación y el impacto se considera mayor, puesto que dejaría el proyecto en un punto muerto.
Licenciamiento
MixPost está disponible bajo una licencia MIT en su versión gratuita, por lo que se garantiza el derecho de uso, copia, modificación y/o venta de copias del Software9.