Skip to main content

MVP, roles de la APP, tecnologías y jerarquía

Imagen 1Imagen 2

Ingeniería del Software y Práctica Profesional - Universidad de Sevilla
#

BERMEJO SORIA, CARLOS

CASAL FERRERO, RUBÉN

DOMÍNGUEZ RUIZ. ANDRÉS

DOMÍNGUEZ-ADAME RUIZ. ALBERTO

FERNÁNDEZ CASTILLO, JAVIER

GALLARDO MARTOS, DANIEL

HERRERA RAMIREZ, ISMAEL

IZQUIERDO LAVADO, MARIO

MATEOS GÓMEZ, FERNANDO JOSÉ

MERINO PALMA, ALEJANDRO JOSÉ

MONTERO MARTÍNEZ, FRANCISCO JESÚS

LÓPEZ MOYANO, ROCÍO

OTERO BARBASÁN, MANUEL

VILAPLANA DE TRÍAS, FRANCISCO DAVID

ZARZUELA REINA, CARLOS

Sevilla, Mayo 2024

Entregable: WPL#

Grupo 01 (Mañana) - IT Talent#

Control de Versiones#

VersiónFechaAutorCambios
v1.002/02/2024Andrés Domínguez RuizDocumento inicial
v1.102/02/2024Francisco Jesús Montero MartínezPrimera versión del documento finalizada
V2.204/02/2024Francisco Jesús Montero MartínezAñadidas posibles extensiones del MVP
v306/02/2024Rubén Casal FerreroAñadir busqueda grupos MVP

Resumen del documento#

El objetivo de este documento es describir el alcance mínimo y viable del producto, la forma en la que se desarrollará el mismo y la jerarquía de trabajo propuesta. Para ello, se explicarán los siguientes aspectos:
  • Producto mínimo viable
  • Los roles de clientes/usuarios que se seguirán en la aplicación
  • Las tecnologías a utilizar para desarrollar y mantener la aplicación
  • La jerarquía de trabajo que se seguirá

Índice

1. MVP 4**

2. Roles de la APP 5

3. Tecnologías y herramientas 5

3.1. Tecnologías 5

3.2. Herramientas 6

4. Jerarquía del equipo de trabajo 6

1. MVP

El MVP de IT Talent es un sistema que permite a los representantes de las empresas recopilar información sobre candidatos a través del nombre de usuario que tienen en GitHub. Este sistema recopila y presenta información relevante y procesada extraída de la API pública de GitHub. IT Talent ofrecerá la función de recopilar datos de personas individuales o de varios candidatos simultáneamente para ofrecer un apoyo a la búsqueda completa de equipos.

Características principales:

  • Los representantes podrán generar cuadros de mando con información pública relevante de los candidatos, procesada con el objetivo de que el representante pueda hacerse a la idea rápidamente del perfil profesional de cada uno y que, de esa forma, se acelere el proceso de contratación.
  • La información será recolectada mediante la API pública de GitHub, a través del nombre de usuario del candidato del que se quiera extraer información en cada petición.
  • Se utilizarán algoritmos de filtrado que descarten la información de poco interés y destaquen la información relevante, con el objetivo de que el representante, de manera fácil y rápida, pueda conocer los detalles más importantes del candidato en el contexto de un proceso de contratación.
  • También existirá la posibilidad de generar cuadros comparativos de más de un candidato, abriendo la posibilidad para que esta herramienta ayude a crear y formar grupos completos, pudiendo así recomendar a los usuarios de la herramienta grupos para nuevos proyectos o pendientes de la contratación del personal para su comienzo.

Proceso para generar un cuadro de mando:

  • El representante rellena un formulario en el que especifica el nombre o nombres de usuario del candidato en GitHub.
  • El sistema, mediante la API pública de GitHub, recolecta información del candidato.
  • Se procesan los datos y se aplican algoritmos de filtrado para descartar la información irrelevante y quedarse con la que aporte valor en el contexto de un proceso de contratación.
  • Se ordena la información y se presenta de manera fácilmente entendible en un cuadro de mando, a través de gráficas y resaltando la información más relevante.

Posibles extensiones del MVP:

  • Adición de APIs públicas que el representante puede incluir en sus análisis, como puede ser la de LinkedIn, Facebook, Twitter (X) o Instagram.
  • Publicación de ofertas laborales por parte de los representantes, con el objetivo de que los candidatos se postulen a ellas y puedan ser analizados conjuntamente en una sola petición.
  • Análisis avanzados en los que la aplicación, recibiendo el nombre y los apellidos de un candidato, pueda buscar sus perfiles en redes sociales.

2. Roles de la APP

En cuanto a roles, se han considerado los siguientes:

Administrador: Usuario con permisos de administración. Su autoridad es mayor que la del resto de usuarios, pudiendo gestionar diferentes apartados de la aplicación.

Representante: Usuario que representa a una entidad empresarial, el cuál podrá buscar posibles candidatos que cumplan con las expectativas que desea la empresa.

Candidato: Usuario que proporciona información que puede ser procesada y analizada por las empresas en sus procesos de contratación.

3. Tecnologías y herramientas

3.1. Tecnologías#

Back-end: Express.js

Front-end: React

Base de datos: MongoDB

#

3.2. Herramientas#

APIs Externas: GRAPHQL y RESTFUL API.

Despliegue e Integración continua: Docker, AppEngine y Github Actions.

Herramientas de trabajo: Discord, WhatsApp, Google Drive, Clockify y GitHub.

4. Jerarquía del equipo de trabajo

El equipo se dividirá en 3 subgrupos de trabajo independientes. El trabajo de cada subgrupo será verificado y controlado por el coordinador del subgrupo.

Con el objetivo de controlar y gestionar el trabajo global del proyecto, existirá el coordinador de proyecto, el/la cuál se asegurará de que todo trabajo se esté realizando correctamente para cumplir con las expectativas y los objetivos del proyecto. Para ello, se comunicará con los distintos coordinadores de subgrupos.

Los objetivos de cada subgrupo dependen de la fase del proyecto en la que nos encontremos:

  • En la fase de preparación, los subgrupos serán:
    • Control y Presentación: Se encargará del diseño de las presentaciones, asegurar la coherencia de la información en el proyecto y apuntar feedbacks.
    • Análisis: Se encargará de analizar y diseñar los requisitos del proyecto, los casos de uso, el modelo de datos, etc.
    • Marketing: Se encargará de estudiar el modelo de negocio del proyecto.
  • En la fase de desarrollo, los subgrupos serán:
    • Control y Presentación: Se encargará del diseño de las presentaciones, asegurar la coherencia de la información en el proyecto y apuntar feedbacks.
    • 2 subgrupos de Desarrollo: Se encargarán del desarrollo y la construcción de las funcionalidades del producto, así como el testing formal e informal, asegurar la calidad y comenzar la integración continua.
  • En la fase de despliegue y cierre, los subgrupos serán:
    • Control y Presentación: Se encargará del diseño de las presentaciones, asegurar la coherencia de la información en el proyecto y apuntar feedbacks.
    • QA y Testing: Se encargará de la creación de tests formales de las funcionalidades construidas, asegurar la calidad del producto y el cumplimiento de las expectativas antes de dar por cerrada cada tarea y/o requisito del proyecto.
    • Despliegue e Integración: Se encargará de desplegar el producto y de realizar la integración continua del mismo para automatizar ciertas tareas.