|
|
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*](../2.EVS/2.3-Historias-de-usuario.md) 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](https://mixpost.app/) 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.
|
|
|
|
|
|
### 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.
|
|
|
![lenguajes](../imagenes/mix-post-lenguajes.png)
|
|
|
|
|
|
### 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*](../2.EVS/2.3-Historias-de-usuario.md). 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 estimar 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 €**.
|
|
|
|
|
|
### Funcionalidades
|
|
|
A la luz de las distintas [historias de usuario](../2.EVS/2.3-Historias-de-usuario.md) 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](../2.EVS/2.2-Impact-map.md) que se busca lograr.
|
|
|
|
|
|
![MixPost preview](../imagenes/MixPost_Vista1.jpg)
|
|
|
|
|
|
### 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. 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.
|
|
|
|
|
|
![mix-post-comunidad](../imagenes/mix-post-soporte.png)
|
|
|
|
|
|
**R1: 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**.
|
|
|
|
|
|
![riesgos](../imagenes/mix-post-riesgos.png)
|
|
|
|
|
|
### 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 Software<sup>9</sup>. |