Sporala red del conocimiento
Página 1 de 82Desarrollo de un producto mínimo viable para la gestión de encuestas y…
p. 1

Desarrollo de un producto mínimo viable para la gestión de encuestas y medición de la calidad del servicio al cliente como complemento a la tecnología de Microsoft Teams

Autores Juan Carlos Bustos Forero Daniel Alfonso Peña Quintero Andrés Camilo Parra Godoy

Director John Jairo Porras

Facultad de Ingeniería

Bogotá D.C

2023

p. 2

Tabla de contenido Resumen .............................................................................................................................. 8 Introducción ........................................................................................................................ 9 Objetivos ........................................................................................................................... 10 Objetivo General ........................................................................................................... 10 Objetivos Específicos.................................................................................................... 10 Definición del Problema ................................................................................................... 11 Justificación ...................................................................................................................... 12 1.Análisis de Requerimientos ........................................................................................... 13 1.1 Requerimientos funcionales .................................................................................... 13 1.2 Requerimientos no funcionales ............................................................................... 14

2. Marco de Referencia ..................................................................................................... 15

Glosario ......................................................................................................................... 15 2.1 Componentes de Herramientas Tecnológicas ......................................................... 19 2.1.1 Microsoft Teams .............................................................................................. 19 2.1.2 Power BI .......................................................................................................... 21 2.1.3 SQL .................................................................................................................. 22 2.1.4 Desarrollo Web ................................................................................................ 23 2.1.5 Azure ................................................................................................................ 25 2.1.6 Microsoft Graph API ....................................................................................... 27

p. 3

2.1.7 Node.js ............................................................................................................. 29 2.2 Marco de Trabajo (Scrum) ...................................................................................... 30 2.2.1 Equipo Scrum................................................................................................... 30 2.2.2 Planeación del Sprint ....................................................................................... 31 2.2.3 Reunión Scrum................................................................................................. 32 2.2.4 Reunión para revisión del sprint ...................................................................... 32 2.3 Arquitectura de Software ........................................................................................ 33 2.3.1 Modelo C4 ....................................................................................................... 33 2.3.2 Arquitectura del servicio .................................................................................. 35 2.3.3 Control de versiones con Git............................................................................ 38 2.4 Componentes de operación ..................................................................................... 39 2.4.1 Servicio al cliente ............................................................................................. 39 2.4.2 Indicadores de medición del servicio al cliente ............................................... 40 2.5 Inteligencia de Negocios para el Análisis de Datos ................................................ 41 2.5.1 Características .................................................................................................. 41 2.6 Pruebas de software ................................................................................................ 42 2.7 Ciberseguridad ........................................................................................................ 44 2.7.1 Características de la ciberseguridad ................................................................. 44 2.7.2 OWASP............................................................................................................ 45 2.8 Marco regulatorio en torno a protección de datos .................................................. 46

p. 4

2.8.1 Principios ......................................................................................................... 47 2.8.2 Derechos .......................................................................................................... 48 3.Análisis de restricciones ................................................................................................ 48 3.1 Restricción de tipo normativo ................................................................................. 48 3.2 Restricción de tipo económico ................................................................................ 49 3.2.1 Office 365 - Licenciamiento ............................................................................ 49 3.2.2 Azure - Infraestructura ..................................................................................... 50 3.2.3 Despliegue página Web ................................................................................... 50 3.3 Restricción de tipo técnico ...................................................................................... 50 3.3.1 Conversión de audio – Text to Speech – Speech to text .................................. 50 3.3.2 Procesamiento de medios en tiempo real ......................................................... 51

4. Metodología para la selección ...................................................................................... 51

4.1 Integración Directa con Microsoft Teams ............................................................... 52 4.2 Enfoque en la Experiencia del Cliente en Tiempo Real ......................................... 52 4.3 Personalización y Flexibilidad ................................................................................ 52 4.4 Métricas de Satisfacción del Cliente Integradas ..................................................... 53 4.5 Seguridad y Cumplimiento ..................................................................................... 53 4.6 Amazon Connect ..................................................................................................... 53

5. Desarrollo de la solución .............................................................................................. 55

5.1 Diseño de software .................................................................................................. 55

p. 5

5.2 Planificación de actividades .................................................................................... 62 5.3 Desarrollo de Software ........................................................................................... 63 5.3.1 Frontend ........................................................................................................... 63 5.3.2 Backend............................................................................................................ 65 5.4 Reporte Power BI .................................................................................................... 73

6.

Análisis de costos .................................................................................................... 74 Costo recurso humano para desarrollo del MVP Sistema de audio encuestas de Microsoft Teams ....................................................................................................................... 74 Costos despliegue MVP en nube .................................................................................. 74 Costo despliegue Sistema de audioencuestas para Microsoft Teams en producción para 20 llamadas concurrentes. ......................................................................................................... 76

7.

Conclusiones ........................................................................................................... 78 Referencias ........................................................................................................................ 78

p. 6

Tabla de ilustraciones Ilustración 1. Flujo del proceso Metodología Scrum ........................................................ 33 Ilustración 2. Nivel 1 Modelo C4 Sistema de encuestas de audio para Microsoft Teams.

....................................................................................................................................................... 36

Ilustración 3 Nivel 2 Modelo C4 Contenedor sistema de encuestas de audio para llamadas en Microsoft Teams. ..................................................................................................................... 36 Ilustración 4. Nivel 3 Arquitectura C4 - Componente Backend. ...................................... 37 Ilustración 5. 10 principales riesgos de las aplicaciones Web .......................................... 46 Ilustración 6. Historia de usuario 1 ................................................................................. 56 Ilustración 7. Historia de usuario 2................................................................................. 57 Ilustración 8. Historia de usuario 3................................................................................. 57 Ilustración 9. Historia de usuario 4................................................................................. 58 Ilustración 10. Historia de usuario 5............................................................................... 58 Ilustración 11. Historia de usuario 6............................................................................... 59 Ilustración 12. Historia de usuario 7............................................................................... 60 Ilustración 13. Historia de usuario 8............................................................................... 61 Ilustración 14. Mock up Inicio de sesión ......................................................................... 61 Ilustración 15. Mock up Menú principal ......................................................................... 62 Ilustración 16. Tablero de actividades KANBAN ............................................................ 63 Ilustración 17. Interfaz de Inicio de sesión...................................................................... 64 Ilustración 18. Interfaz Menú principal ........................................................................... 64 Ilustración 19. Interfaz Menú principal ........................................................................... 64 Ilustración 20 Estructura de directorios........................................................................... 65

p. 7

Ilustración 21 Visualización dependencias instaladas mediante el archivo package.json

....................................................................................................................................................... 66

Ilustración 22 Configuración Backend – App.js .............................................................. 67 Ilustración 23 Inicialización de servidor Web en puerto 3000 del localhost. ................. 67 Ilustración 24 Ruta Login y dashboard de gestión de encuestas. ................................... 68 Ilustración 25 Código “Login” con extensión ejs. .......................................................... 68 Ilustración 26 Ruta de Login y Dashboard de gestión de encuestas. .............................. 69 Ilustración 27 Interfaz "Dashboard gestión de encuestas" con extensión ejs. ................ 69 Ilustración 28 Desarrollo módulo para conexión a la base de datos. ........................... 70 Ilustración 29 Base de datos - SQL Server Express en Nube pública. ........................... 70 Ilustración 30 Conexión con base de datos "SQL Server Express" desde Azure Data Studio. ........................................................................................................................................... 71 Ilustración 31 Resumen de instancia donde se alojará la aplicación de interfaz WEB (Login – Dashboard)..................................................................................................................... 71 Ilustración 32: Bot y conexión mediante Microsoft Graph. ............................................ 72 Ilustración 33. Visualización del reporte de Power BI .................................................... 73

p. 8

Resumen En respuesta a la creciente demanda de herramientas que mejoren la calidad del servicio al cliente en un entorno empresarial cada vez más digital, este proyecto se centra en el desarrollo de un Producto Mínimo Viable (MVP) innovador. El objetivo principal es proporcionar una solución que funcione como un complemento eficiente para Microsoft Teams, permitiendo a las empresas gestionar encuestas de audio y medir la calidad del servicio al cliente de manera efectiva. Esta iniciativa surge en un contexto donde la comunicación digital y las interacciones virtuales son esenciales para la operación de las organizaciones. El MVP que se busca desarrollar no solo facilitará la recopilación de opiniones y percepciones de los clientes, sino que también permitirá a las empresas tomar decisiones informadas para mejorar continuamente su calidad de servicio.

Para lograr este propósito, se emplearán una serie de tecnologías clave, incluyendo Azure Bot, Cloud Azure, API Microsoft Graph, Power BI, SQL DB, desarrollo Frontend con HTML (Hypertext Markup Language), CSS (Cascading Style Sheets) y JavaScript, y un Backend basado en Node.js. Esta fusión tecnológica permitirá crear una solución robusta y altamente integrada que se adapte a las necesidades de las organizaciones en un mundo empresarial cada vez más digitalizado.

p. 9

Introducción En la era de la comunicación digital, Microsoft Teams lidera la transformación de la colaboración empresarial y las interacciones en línea, contando con más de 270 millones de usuarios activos mensuales. Según el reciente informe de Gartner de 2023, el 91% de las organizaciones que emplean Microsoft Teams expresan satisfacción con esta herramienta. Además, Microsoft Teams domina el mercado de Unified Communications as a Service (UCaaS), reafirmando su influencia destacada en la industria. Su característica Direct Routing ha permitido a las organizaciones realizar llamadas de voz desde la plataforma, fusionando la movilidad con las capacidades de Office 365. Esta integración ha impulsado a empresas a adoptar Teams como una solución integral para comunicaciones y atención al cliente. Diversas entidades tanto públicas como privadas, han optado por esta herramienta. Esta tendencia crea un nicho para una solución que evalúe y mejore la satisfacción del cliente en Teams.

Luego de hacer una búsqueda en los repositorios de Microsoft y de terceros se identificó un producto llamado Dynamics 365 Customer Voice que permite a las empresas recopilar, analizar y actuar sobre la retroalimentación de los clientes a través de encuestas y cuestionarios personalizados. Este proyecto se asemeja en concepto a este producto de Microsoft al permitir que las empresas recopilen valiosa retroalimentación de los clientes. Sin embargo, el enfoque se diferencia significativamente al ofrecer encuestas de audio y no de texto, lo que da una experiencia más natural y directa para los usuarios. A través de este proyecto, se aborda la limitación de las encuestas de texto tradicionales al proporcionar una solución innovadora que captura respuestas en formato de audio, lo que agrega autenticidad y profundidad a las opiniones de los clientes.

p. 10

En el contexto de las funcionalidades que Microsoft Teams ofrece para generar interacciones, se ha identificado una brecha en la capacidad de evaluar la calidad del servicio al cliente. A pesar de las ventajas de la plataforma, actualmente no existe una función integrada en Teams que permita medir la satisfacción del cliente mediante encuestas de audio después de cada interacción con los agentes. Este documento se centra en el desarrollo de un Producto Mínimo Viable (PMV) diseñado para abordar esta carencia, al posibilitar la implementación de encuestas automatizadas a partir de llamadas de audio.

Este proyecto se apoya en herramientas tecnológicas como Azure Bot, Cloud Azure, API Microsoft Graph y Power BI para cerrar la brecha identificada. Con la combinación de diferentes componentes, que incluyen el diseño visual y su forma de operar en segundo plano, usando lenguajes como HTML, CSS, JavaScript y Node.js, se busca solucionar una necesidad existente y presentar una opción valiosa en el mercado.

Objetivos Objetivo General Desarrollar un Producto Mínimo Viable (PMV) que facilite la realización de encuestas de audio automatizadas generando oportunidades de mejoras en la calidad del servicio al cliente, en el contexto de las funcionalidades para llamadas de audio en Microsoft Teams. Objetivos Específicos Desarrollar una interfaz de encuestas de audio integrada en Microsoft Teams facilitando la retroalimentación detallada de los usuarios después de las interacciones con los agentes. Integrar el sistema de encuestas de audio con las tecnologías subyacentes, como Azure Bot, Power BI y API Microsoft Graph, para que se automatice la recopilación, análisis y

p. 11

visualización de los datos de satisfacción del cliente, generando informes para la toma de decisiones empresariales.

Asegurar la calidad del software con pruebas al Producto Mínimo Viable en entornos de uso, identificando posibles defectos, haciendo ajustes y correcciones, para optimizar la funcionalidad del aplicativo del usuario y la eficacia de las encuestas de audio automatizadas. Definir un modelo de métricas sólido y efectivo para el Producto Mínimo Viable (PMV), que evalúe la calidad del servicio al cliente en las encuestas de audio implementadas en Microsoft Teams.

Definición del Problema Los Contact Center que utilizan Microsoft Teams Direct Routing como solución de centro de contacto requieren poder medir la satisfacción del cliente mediante encuestas de audio al finalizar cada llamada atendida por un agente de la organización. Esta función actualmente no se encuentra de forma nativa dentro de la herramienta Microsoft Teams. La medición de la satisfacción del cliente es una práctica esencial para las empresas que desean brindar un servicio de calidad. Las encuestas de audio son una forma eficaz de recopilar información sobre la experiencia del cliente, ya que permiten obtener comentarios detallados sobre el servicio recibido.

La carencia de una función de encuestas de audio en Microsoft Teams Direct Routing representa una oportunidad para desarrollar una solución que satisfaga esta necesidad. A partir de esta necesidad se plantea la pregunta problema “¿Es posible con un desarrollo a medida extender

p. 12

la funcionalidad de Microsoft Teams para la medición del servicio al cliente brindado a los usuarios que usan este canal como medio de interacción?”

Justificación El uso de Office 365 y Microsoft Teams ha venido en aumento debido a la adopción del trabajo hibrido y 100% remoto, otorgando una alternativa que permite a los funcionarios trabajar desde cualquier parte sin dejar a un lado las responsabilidades adquiridas con la organización, permitiendo trabajo en equipo, atención oportuna, colaboración y mejora continua. El problema presente en diferentes instituciones públicas y privadas que en la actualidad usan Microsoft Teams como mecanismo de colaboración y comunicación; radica en la limitación y desafío de poder medir con precisión los niveles de atención al cliente brindado por los agentes designados para atender solicitudes y requerimientos a usuarios finales mediante llamadas internas y externas, dado que Microsoft Teams no tiene una función que cumpla con estos requisitos, esto con lleva a que no se tenga retroalimentación del servicio o atención brindada en cada una de las llamadas que atienden los agentes y por ende no exista una posibilidad de mejora definida por las organizaciones.

p. 13

1.Análisis de Requerimientos

1.1 Requerimientos funcionales

Id Nombre del requisito Descripción RF-1 Aplicación Web El sistema debe contar con una aplicación web para la gestión de las preguntas de la encuesta. RF-2 Iniciar sesión en aplicación Web del sistema de encuestas.

El administrador podrá iniciar sesión en la aplicación web para ingresar preguntas a la encuesta. RF-3 Cerrar sesión El administrador de la aplicación web debe poder cerrar la sesión luego de haber ejecutado las actividades de "CRUD".

RF-4 Almacenar las preguntas y los resultados El sistema de encuestas de audio debe contar con una base de datos en SQL server donde se almacenarán las preguntas y los resultados de las encuestas para su posterior lectura.

RF-5 Agregar preguntas El administrador mediante un botón de agregar; podrá ingresar nuevas preguntas a la encuesta. RF-6 Leer preguntas El sistema debe contar con un botón para obtener las preguntas registradas en el sistema de encuestas, las preguntas serán mostradas en una tabla dentro de la aplicación web.

RF-7 Actualizar preguntas Cada pregunta existente debe tener un botón de actualizar que le permitirá al administrador actualizar la pregunta.

RF-8 Eliminar preguntas Cada pregunta existente debe tener un botón que le permita al administrador eliminar la pregunta. RF-9 Guardar la nueva de pregunta Cada nueva pregunta debe contar con un botón para guardarla en la base de datos.

RF-10 Guardar la actualización Cada pregunta debe contar con un botón para guardar la modificación y hacer el cambio en la base de datos.

p. 14

RF-11 Transferir llamadas a la encuesta de audio El sistema debe permitir que el agente del Call Center transfiera la llamada al Bot de la encuesta de audio para que el usuario externo que llama pueda dar sus respuestas. RF-12 Convertir texto a voz El sistema debe convertir el texto de las preguntas existente a voz para poder anunciar al usuario externo. RF-13 Anunciar llamada al usuario externo El Bot del sistema de encuesta de audio debe anunciar las preguntas existentes por medio de voz. RF-14 Capturar las respuestas del usuario externo El Bot debe poder capturar las respuestas ingresadas por el usuario externo durante las llamadas, deben almacenarse en la base de datos. RF-15 Mostrar reportes de resultados de las encuestas realizadas El sistema mediante la herramienta de PowerBi debe tener la capacidad de mostrar los reportes de los resultados.

RF-16 Mostrar los resultados de los indicadores FCR (Resolución en la primera llamada)

– NPS (Net Promoter Scrore) – CES

(Customer Effort Score) Los resultados de los diferentes indicadores deben mostrarse dentro del reporte de PowerBi

1.2 Requerimientos no funcionales

Requerimiento No Funcional Descripción Rendimiento El sistema debe manejar al menos 10 interacciones simultaneas sin degradación del rendimiento.

Disponibilidad El sistema debe estar disponible y funcionando de manera confiable en todo momento (7 x 24) Latencia Baja Se debe minimizar la latencia en la recopilación y procesamiento de respuestas de encuestas de audio.

Seguridad Se deben seguir las mejores prácticas de seguridad de datos para proteger la información sensible de los clientes y desarrollar el software teniendo en cuenta las recomendaciones del OWASP.

p. 15

Escalabilidad El sistema debe ser fácilmente escalable para acomodar un aumento en la demanda.

Interoperabilidad El sistema debe ser compatible con las tecnologías y servicios de Microsoft, como Azure Bot, Cloud Azure, API Microsoft Graph, SQL Server, NodeJS y Power BI.

Usabilidad La interfaz para el administrador debe ser fácil de usar.

Rendimiento de Audio La calidad del audio en las encuestas debe ser clara y sin problemas técnicos para garantizar una experiencia de usuario satisfactoria.

2. Marco de Referencia

En el desarrollo de este proyecto, se fundamenta un marco teórico que abarca cinco áreas interrelacionadas y esenciales para el logro de los objetivos planteados. Estas áreas comprenden componentes técnicos, orientados a la integración y desarrollo de la plataforma; componentes de servicio al cliente, enfocados en la mejora de la atención y satisfacción del cliente; inteligencia de negocios, que proporcionará la base para la toma de decisiones informadas; el marco regulatorio de protección de datos, garantizando la privacidad y conformidad con las normativas; y finalmente, ciberseguridad, que asegurará la integridad y confidencialidad de los datos involucrados en el proceso. Cada uno de estos pilares es crucial para la construcción de una solución efectiva y eficiente que ofrezca una experiencia mejorada de servicio al cliente a través de encuestas automatizadas en Microsoft Teams. Glosario API (Application Programming Interface): Conjunto de reglas y protocolos que permite que diferentes aplicaciones se comuniquen entre sí. Las API permiten que los programas accedan y utilicen las funciones de otros servicios o aplicaciones.

p. 16

Aplicaciones Web de una Sola Página (SPA): Aplicaciones web que se cargan como una sola página en el navegador y no requieren una recarga de página completa durante la interacción del usuario. Esto se logra mediante la carga dinámica de contenido y cambios de URL sin necesidad de navegar a nuevas páginas.

Aplicaciones Web Progresivas (PWA): Aplicaciones web que ofrecen una experiencia de usuario similar a las aplicaciones móviles nativas. Pueden funcionar en línea y fuera de línea y proporcionan acceso a dispositivos como la cámara y el GPS. Azure App Service: Servicio en la nube de Microsoft que permite a los desarrolladores crear y hospedar aplicaciones web y móviles.

Azure Blob Storage: Servicio de almacenamiento en la nube de Azure que permite el almacenamiento escalable de datos no estructurados como imágenes, videos y documentos. Azure Cosmos DB: Base de datos NoSQL globalmente distribuida y escalable en la nube de Microsoft Azure.

Azure Database for MySQL: Servicio de base de datos MySQL completamente administrado en la nube de Azure.

Azure Database for PostgreSQL: Servicio de base de datos PostgreSQL completamente administrado en la nube de Azure.

Azure Databricks: Plataforma de análisis de datos en la nube que combina Apache Spark y Azure para el procesamiento y análisis de datos a gran escala. Azure DevOps Services: Conjunto de herramientas y servicios para planificar, desarrollar, probar y entregar aplicaciones en Azure.

p. 17

Azure DevTest Labs: Servicio de Azure que permite la creación de entornos de desarrollo y pruebas bajo demanda.

Azure ExpressRoute: Servicio que proporciona conexiones de red privada dedicada desde la infraestructura local a los servicios de Azure.

Azure Functions: Servicio de Azure que permite la ejecución de código en respuesta a eventos sin la necesidad de administrar servidores.

Azure Key Vault: Servicio de Azure que permite el almacenamiento y gestión segura de claves, secretos y certificados.

Azure Logic Apps: Servicio que permite la creación y ejecución de flujos de trabajo automatizados en Azure.

Azure Machine Learning: Plataforma de aprendizaje automático y análisis de datos en la nube de Azure.

Azure Security Center: Servicio de Azure que proporciona seguridad y monitoreo de amenazas para recursos en la nube.

Azure SQL Database: Servicio de base de datos relacional administrado en la nube de Azure.

Azure Synapse Analytics: Servicio de análisis de datos y almacenamiento en la nube de Azure.

Azure Table Storage: Servicio de almacenamiento en la nube de Azure que permite el almacenamiento de datos estructurados en forma de tablas.

p. 18

Azure VPN (Virtual Private Network): Servicio que permite la creación de conexiones de red privada virtual en Azure.

Backend: La parte de una aplicación o sistema que se ejecuta en el servidor y procesa las solicitudes del cliente.

Bots: Programas automatizados que realizan tareas repetitivas en Internet, como responder preguntas o interactuar con usuarios en línea.

DCL (Data Control Language): Un subconjunto de SQL que controla los permisos y la seguridad de los datos en una base de datos.

DDL (Data Definition Language): Un subconjunto de SQL que se utiliza para definir la estructura de una base de datos, como crear tablas y definir esquemas. DML (Data Manipulation Language): Un subconjunto de SQL que se utiliza para la manipulación de datos en una base de datos, como insertar, actualizar y eliminar registros. DQL (Data Query Language): Un subconjunto de SQL que se utiliza para realizar consultas y recuperar datos de una base de datos.

Frontend: La parte de una aplicación o sistema que interactúa con el usuario y se ejecuta en el navegador.

GDPR (General Data Protection Regulation): Regulación europea que establece normas para la protección de datos personales.

HIPAA: Ley de Portabilidad y Responsabilidad del Seguro Médico, una ley de Estados Unidos que establece normas de privacidad y seguridad de la información médica. Insights: Información valiosa y perspicaz obtenida a partir del análisis de datos.

p. 19

Malware: Software malicioso diseñado para dañar, robar o infectar sistemas informáticos.

Phishing: Un tipo de ataque cibernético en el que los atacantes intentan engañar a las personas para que revelen información confidencial, como contraseñas o datos financieros. SDK (Software Development Kit): Conjunto de herramientas de desarrollo de software que facilita la creación de aplicaciones para una plataforma específica. Tags o Etiquetas: Marcas utilizadas en HTML para identificar y describir elementos en una página web.

VMs Azure (Máquinas Virtuales Azure): Máquinas virtuales escalables en la nube de Azure que permiten la ejecución de aplicaciones y servicios en servidores virtuales. FQDN: Fully Qualified Domain Name es un nombre de dominio, por ejemplo: sistemadeencuestas.com que resuelve una IP que puede ser pública o privada. SBC (Session Border Controller): Dispositivo de red que controla el flujo de tráfico de voz entre diferentes redes. Proporciona interoperabilidad, seguridad y confiabilidad.

2.1 Componentes de Herramientas Tecnológicas

2.1.1 Microsoft Teams

Microsoft Teams es una plataforma de comunicación y colaboración desarrollada por Microsoft que ha ganado una prominente presencia en el ámbito empresarial y educativo. Concebida como parte integral de Microsoft 365, Teams ofrece un espacio virtual donde equipos de trabajo pueden colaborar de manera efectiva y coordinada, superando las barreras geográficas

p. 20

y temporales (Microsoft, 2023). La plataforma combina mensajería instantánea, videoconferencias, llamadas de voz y herramientas de colaboración en un único entorno digital, potenciando la productividad y la cohesión en organizaciones de diversos tamaños.

2.1.1.1 Funcionalidades y Características Clave de Microsoft Teams:

• Mensajería Instantánea: Teams proporciona un chat en tiempo real que permite

a los miembros del equipo comunicarse de manera ágil y eficiente, fomentando la colaboración rápida y fluida.

• Llamadas y Videoconferencias: La integración con Microsoft Teams Direct

Routing posibilita realizar llamadas entrantes y salientes directamente desde la plataforma, brindando una experiencia telefónica similar a las centrales telefónicas tradicionales. Las videoconferencias permiten reuniones virtuales con capacidades de pantalla compartida y colaboración en documentos.

• Colaboración en Documentos: La integración con herramientas como Microsoft

Word, Excel, PowerPoint y OneNote permite a los miembros del equipo trabajar en documentos compartidos en tiempo real, lo que promueve la colaboración y evita la duplicación de esfuerzos.

• Integración de Aplicaciones: Teams se integra con diversas aplicaciones y

servicios de terceros, permitiendo que los usuarios accedan y trabajen con sus herramientas favoritas directamente desde la plataforma.

• Búsqueda Avanzada: La función de búsqueda en Teams facilita la localización

de mensajes, archivos y conversaciones anteriores, lo que agiliza la recuperación de información relevante.

p. 21

• Automatización con Bots y Flujos de Trabajo: Microsoft Teams admite la

creación de bots y flujos de trabajo automatizados a través de aplicaciones como Azure Bot, que mejoran la eficiencia al llevar a cabo tareas repetitivas.

2.1.2 Power BI

Power BI ha sido consistentemente reconocido como líder en el ámbito de la inteligencia de negocios y analítica, según el informe más reciente de Gartner (Arbentia, 2022). Esta distinción no es solo un logro aislado, sino una consecuencia de su compromiso constante con la innovación y la entrega de soluciones de alta calidad. A lo largo de trece años consecutivos, Microsoft Power BI ha demostrado su valía al mantener su posición en la categoría de líderes, lo que es un testimonio de su capacidad para brindar innovación, precisión, rapidez y productividad.

Esta herramienta de análisis empresarial basada en la web se ha consolidado como una fuente esencial para la obtención de información valiosa en el mundo empresarial actual. Al procesar datos provenientes de diversas fuentes, Power BI proporciona una plataforma eficiente para descubrir patrones, tendencias y conocimientos críticos que influyen en la toma de decisiones informadas. Su interfaz única, que presenta resultados diversos de manera coherente, se convierte en un activo invaluable para las empresas que buscan aprovechar al máximo sus datos.

Un enfoque significativo para optimizar el potencial de Power BI implica no restringirse exclusivamente al trabajo con subconjuntos de datos. En su lugar, la consideración de bases de datos más abarcadoras y representativas que aborden una diversidad de preguntas y desafíos empresariales puede resultar beneficioso. La ampliación del alcance del análisis y la exploración en un espectro más amplio de datos permitirá a los analistas descubrir conexiones más profundas

p. 22

y obtener una comprensión más completa de los factores que influyen en el desempeño empresarial.

2.1.2.1 Lenguaje DAX

El lenguaje DAX (Data Analysis Expressions) es una parte esencial de Power BI, una potente herramienta de análisis de datos y visualización desarrollada por Microsoft. DAX es un lenguaje de fórmulas y expresiones que se utiliza para crear medidas, columnas y tablas calculadas dentro del entorno de Power BI y otras herramientas de análisis de datos, como Microsoft Excel.

Según Microsoft (2023) DAX se diseñó específicamente para realizar cálculos y análisis en modelos de datos tabulares, que pueden incluir datos en columnas y filas, como tablas en una base de datos relacional. A diferencia de las fórmulas tradicionales en Excel, que suelen operar en una celda única, las expresiones DAX operan en conjuntos de datos enteros y permiten realizar cálculos más complejos y contextuales. (Marzá et. al) En Power BI, DAX se aplica en la creación de medidas personalizadas que enriquecen los datos y permiten realizar análisis más avanzados. Estas medidas pueden utilizarse en tablas y gráficos para obtener métricas significativas y visuales atractivos.

2.1.3 SQL

Structured Query Language (SQL) es un lenguaje de programación esencial en la administración de bases de datos relacionales. SQL ha sido un pilar para interactuar con sistemas de gestión de bases de datos (DBMS), permitiendo la gestión, manipulación y consulta de datos de manera efectiva. Sus funciones centrales abarcan la definición de datos (DDL), la

p. 23

manipulación de datos (DML), la consulta y recuperación de datos (DQL), así como el control de datos y la seguridad (DCL) (Coronel et al., 2011).

En su núcleo, SQL permite crear y modificar la estructura de bases de datos a través de instrucciones DDL, que incluyen la creación de tablas y la gestión de índices. La manipulación de datos (DML) abarca la inserción, actualización y eliminación de registros en tablas. Mediante consultas SELECT, la función DQL permite la recuperación selectiva de datos, filtrando y ordenando resultados según necesidades específicas. Además, SQL asegura la integridad y seguridad de los datos a través del control de datos y la gestión de permisos (DCL). Características clave de SQL incluyen su independencia de plataforma, lo que permite portabilidad entre diferentes sistemas, su enfoque declarativo que simplifica la construcción de consultas, y su capacidad para optimizar automáticamente las consultas para un rendimiento eficiente. En conjunto, SQL se convierte en una habilidad esencial en el mundo actual impulsado por datos, utilizado en aplicaciones empresariales, análisis de datos, desarrollo web y más, permitiendo a los profesionales acceder, gestionar y utilizar datos de manera efectiva y precisa.

2.1.4 Desarrollo Web

El desarrollo web revoluciona constantemente cómo interactuamos con la información en línea. Constituye un componente esencial de la era digital, permitiendo la creación y el mantenimiento de sitios web y aplicaciones que ofrecen una amplia gama de servicios y contenidos a usuarios de todo el mundo (Ríos, 2017). En este marco teórico, exploraremos tres de los pilares fundamentales del desarrollo web: HTML, CSS y JavaScript.

p. 24

2.1.4.1 HTML (Hypertext Markup Language)

HTML, o Lenguaje de Marcado de Hipertexto, es el lenguaje base utilizado en el desarrollo web. Su función principal es estructurar el contenido de una página web, definiendo elementos como encabezados, párrafos, listas, imágenes, enlaces y otros componentes que componen una página web. HTML utiliza etiquetas o "tags" para identificar y describir cada elemento, permitiendo al navegador web interpretar y mostrar la información de manera coherente para los usuarios (Castro Gallego, 2020).

El HTML es un lenguaje de marcado semántico, lo que significa que las etiquetas se usan para definir el significado y la función de los elementos en vez de dictar su apariencia visual. Esto facilita la separación de la estructura y el contenido del diseño, lo que a su vez permite la adaptación de un mismo contenido a diferentes dispositivos y tamaños de pantalla.

2.1.4.2 CSS (Cascading Style Sheets)

CSS, o Hojas de Estilo en Cascada, es el lenguaje que se utiliza para controlar la presentación y el diseño de una página web. CSS se encarga de especificar cómo se verán esos elementos en términos de diseño, colores, fuentes, márgenes, espaciado y otros atributos visuales. A su vez, permite la separación de la presentación de la estructura, lo que facilita la creación de sitios web atractivos y altamente personalizables.

Una de las ventajas clave de CSS es su capacidad de aplicar estilos de manera consistente en múltiples páginas de un sitio web o aplicaciones web, gracias al concepto de "cascada" (Castro Gallego, 2020). Además, la utilización de clases y selectores permite una gran flexibilidad para apuntar y modificar elementos específicos de una página web.

p. 25

2.1.4.3 JavaScript

JavaScript es un lenguaje de programación ampliamente utilizado en el desarrollo web para agregar interactividad y funcionalidad a las páginas. A diferencia de HTML y CSS, que se centran en la estructura y el diseño, JavaScript permite la creación de aplicaciones web dinámicas que responden a las acciones de los usuarios y pueden comunicarse con servidores para cargar datos en tiempo real.

JavaScript es esencial para la creación de elementos interactivos como formularios, ventanas emergentes, animaciones, juegos y muchas otras características que hacen que las páginas web sean más atractivas y funcionales. Además, se utiliza en el desarrollo de aplicaciones web de una sola página (SPA) y en la creación de aplicaciones web progresivas (PWA) que ofrecen experiencias similares a las de las aplicaciones móviles. (Vergara, 2023)

2.1.5 Azure

Microsoft Azure es una plataforma de servicios en la nube proporcionada por Microsoft que ofrece una amplia gama de servicios de computación en la nube, almacenamiento, bases de datos, redes, análisis, inteligencia artificial y más. Es una de las principales plataformas de nube pública del mundo y se utiliza en diversas industrias y organizaciones para alojar aplicaciones, datos y servicios en la nube.

• Infraestructura de Nube: Azure proporciona una infraestructura de nube

escalable y confiable que incluye servidores virtuales (VMs), redes virtuales, almacenamiento y recursos de cómputo bajo demanda

p. 26

• Servicios de Almacenamiento: Azure ofrece una variedad de servicios de

almacenamiento, como Azure Blob Storage (almacenamiento de objetos), Azure SQL Database (base de datos relacional), Azure Cosmos DB (base de datos NoSQL), Azure Table Storage (almacenamiento de tablas).

• Redes: Azure permite la creación de redes virtuales personalizadas para conectar

recursos en la nube. Esto incluye la configuración de subredes, equilibradores de carga, redes privadas virtuales (VPN (Virtual Private Network)), y Azure ExpressRoute para conexiones de alta velocidad con la red local.

• Servicios de Aplicación: Azure facilita la implementación de aplicaciones web,

API y aplicaciones móviles a través de servicios como Azure App Service, Azure Functions (computación sin servidor), Azure Logic Apps (automatización de flujos de trabajo) y Azure API Management.

• Base de Datos: Azure ofrece una amplia gama de servicios de bases de datos,

desde bases de datos SQL gestionadas hasta bases de datos NoSQL. Dentro de los servicios está la opción de desplegar Azure SQL Database, Azure Cosmos DB, Azure Database for MySQL, Azure Database for PostgreSQL, entre otros.

• Análisis e Inteligencia Artificial: Azure proporciona herramientas y servicios

para el análisis de datos y la inteligencia artificial. Estos incluyen Azure Machine Learning, Azure Databricks (para análisis de datos), Azure Synapse Analytics (almacenamiento y análisis de datos a gran escala), y Power BI (para visualización de datos).

• Identidad y Seguridad: Azure Active Directory (Azure AD) es el servicio de

identidad en la nube de Microsoft que permite la autenticación y autorización de

p. 27

usuarios. Azure también ofrece herramientas y servicios de seguridad, como Azure Security Center y Azure Key Vault.

• Desarrollo y DevOps: Azure es compatible con múltiples lenguajes de

programación y proporciona herramientas para el desarrollo y la gestión de aplicaciones, como Azure DevOps Services, Azure DevTest Labs y Azure Dev Spaces.

• Administración y Monitorización: Azure Portal es la interfaz de administración

centralizada para gestionar recursos en Azure. Azure monitor permite visualizar estadísticas de uso y rendimiento sobre los recursos existentes en Azure.

• Cumplimiento y Conformidad: Azure cumple con varios estándares de

cumplimiento y ofrece herramientas para ayudar a cumplir con los requisitos de seguridad y privacidad, como GDPR (General Data Protection Regulation) y

HIPAA.

• Escala y Precio: Azure permite escalar recursos según sea necesario y ofrece

opciones de facturación flexible, como el pago por uso que permite solo pagar por el tiempo en que los recursos estuvieron operativos.

• Soporte y Comunidad: Azure cuenta con un sólido ecosistema de soporte

técnico, documentación extensa y una comunidad activa de usuarios y desarrolladores que comparten conocimientos y experiencias.

2.1.6 Microsoft Graph API

Microsoft Graph API (Microsoft, 2023) es una plataforma integral de desarrollo que ofrece a los desarrolladores acceso a los datos y servicios de Microsoft. Actúa como una capa que conecta diversas aplicaciones y servicios de Microsoft, como Office 365, Azure, Windows y

p. 28

más, proporcionando métodos y Kit de desarrollo SDK para crear aplicaciones empresariales que se ajusten a las necesidades de los clientes.

Los usos de Microsoft Graph son variados y abarcan una amplia gama de aplicaciones y escenarios. Permite a los desarrolladores crear aplicaciones empresariales y de productividad que pueden aprovechar la información y la funcionalidad de Microsoft en múltiples áreas. Por ejemplo, las aplicaciones pueden acceder a datos de correo electrónico, calendarios y contactos de Outlook, lo que facilita la creación de soluciones de gestión de la comunicación y la colaboración o acceder a los datos de registros de llamadas para crear sistemas de tarificación y/o uso y adopción de herramientas como Microsoft Teams.

Además, Microsoft Graph permite el acceso a documentos y archivos almacenados en OneDrive y SharePoint, lo que es esencial para aplicaciones de gestión de documentos y colaboración en equipo. También brinda acceso a datos de usuarios, lo que facilita la personalización de experiencias y la administración de perfiles de usuario en aplicaciones. Cada aplicación nueva debe ser registrada en Azure Active Directory para obtener el token de acceso y dar los permisos para que la aplicación acceda a los datos requeridos, entre ellos hay una gran cantidad de permisos, entre los que destaca, permisos de lectura y escritura de datos, por ejemplo: "CallRecords.Read.All" (Microsoft, 2023) que se usa para leer los datos de llamadas realizadas en Microsoft Teams.

Existe una gran cantidad de métodos para acceder a datos de servicios de Microsoft; tal como lo describe la documentación (Microsoft, 2022)

p. 29

2.1.7 Node.js

Node.js es un Framework de desarrollo basado en el lenguaje de programación JavaScript, de código abierto diseñado para ejecutar código Javascript del lado del servidor (Backend).

Utiliza el motor V8 de Google como intérprete de JavaScript, su característica principal es la ejecución asíncrona, lo que le permite responder a solicitudes simultáneas; manteniendo su eficiencia. Siendo una alternativa para desarrollar aplicaciones que van a tener un alto tráfico y respuestas en tiempo real.

Sus aplicaciones son variadas, por ejemplo, se usan en el desarrollo de sitios web, APIs (Application Programming Interface), streaming entre otros, es muy versátil debido a la cantidad de módulos que hay disponibles para diferentes funciones, continuación algunos módulos disponibles:

• Nodemailer: Permite el envío de correos electrónicos desde un proyecto de

Nodejs.

• Express.js: Permite configurar un servidor Web y renderizar las vistas

(Frontend) al usuario final.

• Mssql: Este módulo permite configurar conexiones con el motor de base de datos

SQL Server.

• Axios: Permite realizar peticiones a las API´s usando los métodos GET, Post.

• Passport.js: Es un Middleware para crear autenticación en proyectos de NodeJs,

actualmente soporta autenticación usando Facebook, X, Microsoft, Apple.

p. 30

2.2 Marco de Trabajo (Scrum)

Scrum es un enfoque de gestión de proyectos y desarrollo de software que se basa en los principios del Manifiesto Ágil. Este marco de trabajo se utiliza para guiar las actividades de desarrollo en un proceso estructurado que abarca desde la definición de requerimientos hasta la entrega de un producto o proyecto. Scrum se caracteriza por su flexibilidad y adaptabilidad, y se organiza en torno a una serie de actividades conocidas como sprints. Según Pressman R &, Maxim, (2021) En el contexto de Scrum, las actividades estructurales, que incluyen requerimientos, análisis, diseño, evolución y entrega, se dividen en sprints. Cada sprint es un período de tiempo asignado, y su duración puede variar según el tamaño y complejidad del producto o proyecto. Durante cada sprint, el equipo de Scrum trabaja en tareas específicas relacionadas con la actividad en curso, y su objetivo es adaptar y definir el trabajo de manera continua.

La esencia de Scrum radica en su capacidad para responder a los cambios y a las necesidades del cliente en tiempo real, lo que lo convierte en un marco de trabajo altamente efectivo para entornos donde la incertidumbre y la evolución constante son la norma. A través de la colaboración, la comunicación constante y la autoorganización de equipos, Scrum promueve la entrega de productos de alta calidad en un marco de tiempo definido. En resumen, Scrum es una metodología ágil que permite a los equipos de desarrollo abordar proyectos de manera iterativa y adaptativa, asegurando que el trabajo se ajuste a las necesidades cambiantes y los requisitos del cliente.

2.2.1 Equipo Scrum

Los equipos Scrum son grupos interdisciplinarios y autoorganizados que constan de tres roles principales:

p. 31

• Propietario del Producto (Product Owner): Este miembro del equipo se encarga de

definir las prioridades y metas del proyecto, representando los intereses del cliente o usuarios finales. También gestiona la lista de objetivos del producto y toma decisiones sobre qué características se implementan.

• Maestro Scrum (Scrum Master): El Maestro Scrum actúa como facilitador y

entrenador del equipo, asegurando que se sigan los principios de Scrum. Elimina obstáculos y promueve un entorno de trabajo eficiente, además de liderar la reunión diaria de Scrum.

• Equipo de Desarrollo: Este es un grupo pequeño, típicamente de tres a seis

personas, que trabaja en la implementación de las características del producto. El equipo es autoorganizado y se encarga de planificar y ejecutar el trabajo necesario para alcanzar los objetivos del sprint.

El trabajo en equipo y la colaboración son esenciales en Scrum, ya que se busca lograr un desarrollo eficiente y la entrega continua de valor al cliente. Cada miembro del equipo Scrum tiene roles y responsabilidades específicos, pero todos trabajan juntos para lograr los objetivos del proyecto.

2.2.2 Planeación del Sprint

Según Pressman R &, Maxim, (2021) antes de iniciar un sprint, el equipo de desarrollo colabora con el propietario del producto y otras partes interesadas para definir los aspectos de la lista de objetivos del producto. Luego, clasifican estos aspectos según su importancia y complejidad. El propietario del producto establece la meta del sprint, mientras que el Maestro Scrum y el equipo de desarrollo eligen las tareas del sprint y determinan cómo se llevarán a cabo.

p. 32

El equipo también decide qué roles son necesarios y cómo se desempeñarán en el proceso. En resumen, esta reunión de planificación de sprint es crucial para definir y organizar el trabajo que se realizará durante el próximo sprint.

2.2.3 Reunión Scrum

Según Pressman R &, Maxim, (2021) la reunión diaria de Scrum es un evento de 15 minutos al comienzo de cada día laborable, donde el equipo de desarrollo se sincroniza y planifica para las próximas 24 horas. El Maestro Scrum dirige la reunión, y todos responden tres preguntas clave: qué se hizo desde la última reunión, cuáles obstáculos se encontraron y qué se planea lograr para la próxima reunión. Esta reunión ayuda a identificar problemas tempranamente, y el Maestro Scrum trabaja en eliminar obstáculos antes de la siguiente reunión. No se resuelven problemas en la reunión, sino fuera de ella. Además, estas reuniones promueven la "socialización del conocimiento" y la autoorganización del equipo. Algunos equipos usan estas reuniones para declarar tareas del sprint como completas y planificar demostraciones y revisiones del incremento con el propietario del producto cuando todo está listo.

2.2.4 Reunión para revisión del sprint

Según Pressman R &, Maxim, (2021) la reunión de revisión de sprint ocurre al final del sprint cuando el equipo considera que el incremento está completo, generalmente con una duración de 4 horas para un sprint de 4 semanas. Asisten el Maestro Scrum, el equipo de desarrollo, el propietario del producto y partes interesadas seleccionadas. La actividad principal es una demostración del software desarrollado durante el sprint, enfocándose en lo entregado en el tiempo asignado. El propietario del producto decide si acepta o no el incremento; en caso de rechazo, se recopila retroalimentación para planificar el siguiente sprint. En esta etapa, se pueden

p. 33

agregar o eliminar características de la lista de objetivos del producto, lo que afecta el enfoque del próximo sprint.

En la ilustración #1 se puede observar como se lleva a cabo el flujo del trabajo dentro de la metodología Scrum incluyendo todas sus etapas como las reuniones diarias, revisiones de sprint y las funcionalidades añadidas.

Ilustración 1. Flujo del proceso Metodología Scrum

Tomado de: Pressman, R. S., Maxim, B. R.(2021). Ingeniería de software. McGraw-Hill Interamericana.

2.3 Arquitectura de Software

2.3.1 Modelo C4

La teoría del modelo de arquitectura de software C4 (Context-Container-Component- Code) es un enfoque de modelado arquitectónico desarrollado por Simon Brown. Se utiliza para visualizar y comunicar la arquitectura de software de manera efectiva, especialmente en equipos de desarrollo de software y stakeholders no técnicos (Vivanco, 2021). El modelo C4 proporciona

p. 34

una jerarquía de vistas de alto nivel para representar la arquitectura en diferentes niveles de abstracción.

A continuación, se detallan los cuatro niveles del modelo C4:

Contexto (Context) En este nivel, se representa el sistema de software en su entorno más amplio. Se utiliza un diagrama de contexto para mostrar el sistema como una caja única rodeada de otros sistemas, personas o componentes externos.

Este nivel ayuda a los stakeholders a comprender cómo encaja el sistema en el panorama general y cuáles son sus interacciones clave con el entorno externo. Contenedor (Container) En este nivel, se desglosa la caja del sistema en contenedores de alto nivel que representan subdivisiones lógicas o tecnológicas del sistema. Los contenedores son instancias del sistema que agrupan componentes internos relacionados y se pueden representar mediante diagramas de contenedor.

Este nivel permite identificar las partes principales del sistema y cómo se comunican entre sí.

Componente (Component) En este nivel, se profundiza en los contenedores para identificar los componentes internos que conforman cada contenedor. Los componentes representan piezas de software individuales, como clases, módulos o servicios.

p. 35

Los diagramas de componentes se utilizan para mostrar la estructura interna y las relaciones entre componentes dentro de un contenedor.

Código (Code) En el nivel más bajo, se puede acceder al código fuente real de los componentes individuales. Si es necesario, se pueden incluir diagramas de clases, paquetes o cualquier otro artefacto de diseño de software para comprender la implementación detallada. Este nivel permite a los desarrolladores y arquitectos examinar la implementación concreta de los componentes.

El modelo C4 es escalable y permite representar sistemas de diferentes tamaños y complejidades. Facilita la comunicación entre miembros del equipo técnico y no técnico, ya que ofrece una vista de alto nivel del sistema y luego profundiza en los detalles técnicos según sea necesario (Vivanco, 2021).

2.3.2 Arquitectura del servicio

La siguiente ilustración muestra el contexto general de la arquitectura del sistema de encuestas de audio basados en el modelo C4.

p. 36

Ilustración 2. Nivel 1 Modelo C4 Sistema de encuestas de audio para Microsoft Teams.

Fuente: Elaboración propia.

En la siguiente ilustración se evidencia el nivel 2 de la arquitectura del sistema de encuestas de audio, donde se detalla los componentes del contenedor “Sistemas de encuestas de audio para Microsoft Teams” Ilustración 3 Nivel 2 Modelo C4 Contenedor sistema de encuestas de audio para llamadas en Microsoft Teams.

p. 37

Fuente: Elaboración propia.

La solución se desplegará en la nube Microsoft Azure, usando servicios como Azure Sql Database, Azure Bot Service y Microservicios para el Backend y el Frontend. El acceso a la aplicación Web para incluir las preguntas será realizada por internet mediante un FQDN que resuelve una IP pública. Ilustración 4. Nivel 3 Arquitectura C4 - Componente Backend.

Fuente: Elaboración propia.

p. 38

2.3.3 Control de versiones con Git

El control de versiones es una parte fundamental en el desarrollo de software, ya que permite rastrear y gestionar los cambios realizados en el código fuente de un proyecto a lo largo del tiempo. Uno de los sistemas más usados para controlar versiones es Git. Git es un sistema de control de versiones distribuido de código abierto desarrollado por Linus Torvalds en 2005. Proporciona una forma efectiva de gestionar el código fuente y facilita la colaboración entre equipos de desarrollo, ya sea en proyectos pequeños o grandes. (Microsoft

2023)

2.3.3.1 Características

Distribución: En Git, cada desarrollador tiene una copia completa del repositorio, lo que permite el trabajo en modo desconectado. Los cambios pueden ser fusionados y sincronizados más tarde con otros repositorios, lo que lo hace ideal para equipos distribuidos. Rastreo de Historial: Git almacena un historial completo de cada cambio realizado en el código. Esto facilita la identificación de quién realizó un cambio, cuándo se hizo y cuál fue la naturaleza del cambio.

Ramificación y Fusión: Git permite la creación de ramas independientes en las que se pueden realizar cambios sin afectar al código principal. Las ramas se pueden fusionar de nuevo en el código principal cuando estén listas.

Etiquetas y Versiones: Se pueden asignar etiquetas a puntos específicos en la historia del repositorio, lo que facilita la identificación de versiones estables y lanzamientos. Colaboración: Git es ampliamente utilizado en plataformas de desarrollo colaborativo como GitHub y GitLab, que permiten a los desarrolladores colaborar en proyectos compartidos.

p. 39

Seguridad: Git utiliza cifrado y firmas digitales para garantizar la integridad y autenticidad de los datos almacenados en el repositorio.

2.4 Componentes de operación

2.4.1 Servicio al cliente

El concepto de servicio al cliente es vital porque el objetivo del software es realizar una encuesta para medirlo. La calidad se considera como la respuesta a los requerimientos del cliente (Uribe, 2017). De acuerdo con esta definición se busca medir si los requerimientos del cliente que lo llevaron a realizar la llamada fueron resueltos además de su conformidad con el servicio brindado por parte del agente que atendió la llamada y con la empresa prestadora del servicio en general

2.4.1.1 Herramientas de Medición. Para la medición del servicio al cliente existen

diversas herramientas que se definen en el libro Gerencia del Servicio del autor Uribe (2017). Dentro de estas se encuentran las reuniones con grupos focales, las entrevistas y finalmente las encuestas. Estas últimas siendo el método más eficaz en cuanto a costos y tiempo. Las encuestas se diseñan en base a preguntas de respuestas cerradas para que estas puedan ser registradas fácilmente en bases de datos y su posterior análisis. Las preguntas se realizan en base a los siguientes focos según Uribe (2017, p. 141): Valor del servicio. Entendido como la generación de valor agregado que el cliente siente que recibe al utilizar los servicios que la empresa le ofrece. Calidad del servicio. En términos de la respuesta que el servicio le ofrece a los requerimientos establecidos por el cliente.

p. 40

Habilidad de la compañía para responder a las necesidades del cliente. Básicamente cuando el cliente modifica sus requerimientos.

2.4.2 Indicadores de medición del servicio al cliente

Estos también llamados indicadores claves de desempeño (KPI) se definen como “Un conjunto de métricas conducentes de buenas prácticas que impactan significativamente al desarrollo de un comportamiento estratégico entre las áreas internas de una empresa” (Colin, 2020, p.4). Estas métricas se utilizan en los call center para medir el desempeño de los agentes durante las llamadas.

Estos conjuntos se dividen en KPI tradicionales como pueden ser el tiempo en llamada (AHT) que contribuyen a la eficiencia operacional y por otro lado los KPI de experiencia del cliente como el CSAT (Satisfacción del cliente), el FCR (Resolución en primera llamada) y el NPS (Net promoter score), estos permiten medir la satisfacción del cliente y la facilidad con la que pueden obtener ayuda.

Al finalizar la llamada se genera la recolección de datos necesarios para los KPI operativos, pero para obtenerlos del servicio al cliente se realiza una encuesta con preguntas que permitan medir cada aspecto mencionado. Colin (2020) genera preguntas que se pueden realizar en dichas encuestas:

• FCR: Resolución en la primera llamada. Este indicador mide el porcentaje de

llamadas que se resuelven en una sola interacción. Se considera un indicador de eficiencia y satisfacción del cliente.

p. 41

• NPS: Net Promoter Score. Este indicador mide la lealtad de los clientes. Se basa

en una pregunta simple: "¿Recomendaría usted nuestro servicio a un amigo o familiar?".

• CES: Customer Effort Score. Este indicador mide la facilidad con la que los

clientes pueden obtener ayuda. Se basa en una pregunta simple: "¿Cuánto esfuerzo le ha costado obtener ayuda con su consulta?".

Finalmente, se recomienda que el agente prestador del servicio realice la mención de esta encuesta al finalizar la interacción para que el cliente la conteste. La encuesta debe ser corta para que los clientes estén dispuestos a responderla y proporcionar más datos para el análisis.

2.5 Inteligencia de Negocios para el Análisis de Datos

La Inteligencia de Negocios (Business Intelligence o BI, por sus siglas en inglés) ha emergido como un componente esencial en la toma de decisiones estratégicas dentro de las organizaciones (Power & Sharda, 2015). Esta disciplina se enfoca en la recolección, análisis y presentación de datos con el propósito de proporcionar insights valiosos que guíen la planificación y dirección de una empresa.

2.5.1 Características

1. Recopilación de Datos: La Inteligencia de Negocios involucra la captura de

datos de diversas fuentes, como transacciones, interacciones de los clientes y registros operativos.

2. Análisis Avanzado: La BI emplea técnicas de análisis avanzado, como minería

de datos y análisis predictivo, para identificar patrones, tendencias y correlaciones en los datos. Esto permite a las organizaciones entender el comportamiento de los clientes y anticipar sus necesidades.

p. 42

3. Visualización de Datos: La presentación de datos en formatos visuales, como

gráficos, tablas y paneles interactivos, simplifica la comprensión y el análisis de información compleja. Las soluciones de BI ofrecen herramientas para crear visualizaciones impactantes y significativas.

4. Toma de Decisiones Informada: La Inteligencia de Negocios respalda la toma

de decisiones informada y basada en datos. Los insights obtenidos a partir del análisis de datos permiten a las organizaciones evaluar el rendimiento, identificar áreas de mejora y desarrollar estrategias efectivas.

5. Detección de Oportunidades y Desafíos: El análisis de datos en BI puede

revelar oportunidades de crecimiento y desafíos que podrían pasar desapercibidos. Esto brinda a las empresas la capacidad de adaptarse y responder proactivamente a los cambios del mercado.

2.6 Pruebas de software

El proceso de desarrollo de software exige precisión, calidad y confiabilidad en cada etapa del ciclo de vida de la aplicación (¿Qué Es La Prueba De Software Y Cómo Funciona? | IBM, n.d.). Una parte integral de este proceso es la realización de pruebas de software, que se encargan de evaluar el comportamiento y el rendimiento del software para garantizar que cumpla con los estándares de calidad y satisfaga las necesidades de los usuarios finales. Existen varios tipos de pruebas de software, cada uno con su enfoque y objetivo específicos. Estas pruebas abarcan desde la verificación de la funcionalidad básica de una aplicación hasta la evaluación de su capacidad para soportar cargas de trabajo significativas y mantener la seguridad de los datos. Según IBM, cada tipo de prueba desempeña un papel crucial

p. 43

en la búsqueda de defectos, la mejora de la usabilidad y la garantía de que el software esté listo para su implementación.

• Pruebas de Funcionalidad: Las pruebas de funcionalidad son un tipo de prueba

de software que se enfoca en verificar que las funciones y características de una aplicación funcionen según lo diseñado. Esto implica asegurarse de que las acciones y operaciones dentro de la aplicación se ejecuten correctamente y produzcan los resultados esperados.

• Pruebas de Integración: Las pruebas de integración son un conjunto de pruebas

diseñadas para evaluar cómo los diferentes componentes de un sistema interactúan entre sí. El objetivo principal es identificar problemas de interoperabilidad y asegurarse de que los módulos o componentes se integren de manera adecuada para lograr un sistema coherente y funcional.

• Pruebas de Rendimiento y Escalabilidad: Estas pruebas se centran en evaluar el

rendimiento de una aplicación bajo diferentes condiciones de carga y tráfico. El objetivo es medir la capacidad de la aplicación para manejar un número creciente de usuarios y transacciones sin degradación significativa del rendimiento. La escalabilidad se refiere a la capacidad de la aplicación para adaptarse a un aumento en la carga de trabajo.

• Pruebas de Seguridad: Las pruebas de seguridad se realizan para identificar y

mitigar posibles vulnerabilidades y riesgos de seguridad en una aplicación. Esto incluye la protección de datos, la autenticación segura y la prevención de ataques como el phishing y el malware.

p. 44

• Pruebas de Usabilidad: Estas pruebas se enfocan en evaluar la usabilidad y la

experiencia del usuario de una aplicación. Los evaluadores realizan tareas específicas dentro de la aplicación para identificar posibles problemas de diseño y usabilidad. El objetivo es garantizar que los usuarios puedan interactuar de manera efectiva y agradable con la aplicación.

• Pruebas de Aceptación del Cliente: Las pruebas de aceptación del cliente

implican que los clientes o usuarios finales prueben la aplicación para verificar si cumple con sus requisitos y expectativas. Esto proporciona retroalimentación directa sobre la experiencia del usuario y cualquier problema que pueda requerir corrección antes del lanzamiento.

2.7 Ciberseguridad

La ciberseguridad es un componente crítico en el entorno tecnológico actual, especialmente cuando se trata de proyectos que involucran el manejo de datos sensibles y la interacción con plataformas digitales. La ciberseguridad engloba una serie de prácticas, protocolos y tecnologías destinadas a proteger los sistemas de información y los datos contra ataques cibernéticos y amenazas maliciosas. Esto implica la implementación de medidas de seguridad en diferentes niveles, desde la red y la infraestructura tecnológica hasta las aplicaciones y la educación del personal.

2.7.1 Características de la ciberseguridad

1. Seguridad en la Comunicación: Dado que se trata de encuestas de audio en una

plataforma de comunicación, es esencial asegurar que las conversaciones y los datos transmitidos estén cifrados y protegidos contra escuchas no autorizadas.

p. 45

2. Protección de Datos de Usuario: Los datos recopilados a través de las encuestas

deben ser almacenados de manera segura y protegidos contra el acceso no autorizado. Esto implica la implementación de controles de acceso y la encriptación de datos en reposo.

3. Prevención de Ataques: Se deben implementar soluciones de seguridad que

detecten y prevengan posibles ataques cibernéticos, como el acceso no autorizado, el phishing y el malware, que podrían comprometer la integridad de la plataforma y los datos.

4. Actualizaciones y Parches: Mantener tanto la plataforma como las tecnologías

subyacentes actualizadas con los últimos parches de seguridad es fundamental para mitigar vulnerabilidades conocidas.

5. Conciencia y Capacitación del Personal: La ciberseguridad no solo se trata de

tecnología, sino también de la educación y concienciación de los usuarios. Capacitar al personal sobre las mejores prácticas de seguridad puede reducir significativamente el riesgo de incidentes.

2.7.2 OWASP

La fundación OWASP (Open Worlwide Application Security Project) es una entidad sin ánimo de lucro que se enfoca en mejorar continuamente la seguridad del software y ofrecer a los desarrolladores herramientas o metodologías que permitan la construcción y desarrollo de software seguro.

De acuerdo (OWASP, 2023b) con La fundación OWASP fue constituida el 1 de diciembre de 2001. Esta organización ha aportado mediante sus proyectos de código abierto a diferentes compañías para que asegurar el software durante su desarrollo.

p. 46

El OWASP Top Ten publicado en (OWASP, 2023a) menciona los 10 principales riesgos de seguridad de las aplicaciones Web, tal como se evidencia en la siguiente ilustración: Ilustración 5. 10 principales riesgos de las aplicaciones Web

Fuente: (OWASP, 2023a)

2.8 Marco regulatorio en torno a protección de datos

El marco regulatorio de la protección de datos en Colombia lo forman leyes, decretos y resoluciones que establecen los principios, derechos y obligaciones sobre tratamiento de datos personales. El marco regulatorio se fundamenta en el artículo 15 de la Constitución Política de Colombia, que establece que "todas las personas tienen derecho a su intimidad personal y familiar y a su buen nombre, y el Estado debe respetarlos y hacerlos respetar". La ley marco en materia de protección de datos personales es la Ley 1581 de 2012, que establece los principios y reglas generales para el tratamiento de datos personales. La ley también crea la Superintendencia de Industria y Comercio (SIC) como la autoridad competente para velar por el cumplimiento de esta.

La SIC ha emitido una serie de resoluciones para reglamentar la Ley 1581 de 2012. Entre las resoluciones más importantes se encuentran:

p. 47

• Resolución 008 de 2019, que establece las condiciones para el registro de los

responsables del tratamiento de datos personales ante la SIC.

• Resolución 0806 de 2019, que establece los lineamientos para la elaboración de

las políticas de tratamiento de datos personales.

• Resolución 1377 de 2022, que establece los lineamientos para la implementación

de las medidas de seguridad de la información.

La ley y las resoluciones emitidas por la SIC establecen un conjunto de garantías para la protección de los derechos de los titulares de datos personales. A continuación, se presenta un resumen de los principales principios y derechos establecidos en el marco regulatorio colombiano en materia de protección de datos personales:

2.8.1 Principios

1. Principio de legalidad: el tratamiento de datos personales debe estar fundado en

la ley o en una autorización expresa del titular.

2. Principio de finalidad: el tratamiento de datos personales debe tener una

finalidad legítima, específica, explícita y determinada.

3. Principio de libertad: el tratamiento de datos personales debe ser realizado con

el consentimiento previo, expreso e informado del titular.

4. Principio de veracidad o calidad: los datos personales deben ser veraces,

completos, exactos, actualizados, comprobables y comprensibles.

5. Principio de transparencia: el responsable del tratamiento de datos personales

debe informar al titular sobre la finalidad del tratamiento, los datos personales que recolecta, los medios de tratamiento y los derechos que le asisten.

p. 48

6. Principio de acceso y circulación restringida: el tratamiento de datos personales

debe restringirse a las personas que tengan acceso a ellos en virtud de una relación jurídica, contractual o de autoridad.

7. Principio de seguridad: el responsable del tratamiento de datos personales debe

adoptar las medidas técnicas, humanas y administrativas necesarias para garantizar la seguridad de los datos personales.

8. Principio de confidencialidad: el responsable del tratamiento de datos

personales debe guardar secreto sobre los datos personales que le sean confiados.

2.8.2 Derechos

1. Derecho a conocer, actualizar y rectificar sus datos personales.

2. Derecho a solicitar la supresión de sus datos personales cuando estos se

recogieran o trataran de manera indebida.

3. Derecho a revocar su autorización para el tratamiento de sus datos personales.

4. Derecho a presentar quejas ante la SIC por el incumplimiento de la ley y las

resoluciones emitidas por la misma.

5. Derecho a acceder gratuitamente a sus datos personales que se hayan tratado.

3.Análisis de restricciones

3.1 Restricción de tipo normativo

En el marco de este proyecto, la implementación de restricciones normativas de protección de datos se enfoca en garantizar que todos los procesos relacionados con la recopilación y el manejo de datos personales se ajusten a las regulaciones vigentes. Un aspecto fundamental de esta implementación es la obtención de autorización de datos de las personas involucradas.

p. 49

Para realizar esta autorización efectiva, se incorpora un flujo de trabajo específico en la interfaz de usuario del producto desarrollado. Cuando un usuario se enfrenta a la posibilidad de compartir datos personales, se le presenta un audio que detalla de manera clara y comprensible cómo se utilizarán esos datos. La autorización de datos se presenta de manera que el usuario debe otorgar un consentimiento activo y voluntario antes de proceder.

3.2 Restricción de tipo económico

Una de las restricciones en el desarrollo de este proyecto se relaciona con las implicaciones económicas de alojar los servidores en la plataforma de Azure. Si bien Azure ofrece una infraestructura escalable y confiable, su uso conlleva costos asociados que deben ser gestionados. Esto incluye consideraciones sobre la elección de las instancias de máquinas virtuales (VMs), el almacenamiento y otros servicios en la nube.

3.2.1 Office 365 - Licenciamiento

• Los clientes finales del MVP deben contar con Office 365 y licencias como se

describen en la siguiente tabla:

Tabla 1. Licencias que incluyen Microsoft Teams. Licencia de Microsoft 365 Microsoft 365 Business Basic Microsoft 365 Business Standard Microsoft 365 Business Premium Microsoft 365 Enterprise E1 Microsoft 365 Enterprise E3 Microsoft 365 Enterprise E5 Microsoft 365 Government E1 Microsoft 365 Government E3 Microsoft 365 Government E5

p. 50

• Para activar la telefonía y Call Center ce Microsoft Teams el cliente debe contar

con la licencia Teléfono de Microsoft Teams Estándar (Para agentes) y Teléfono de Microsoft Teams Estándar Usuario Virtual (IVR y Colas de llamada). En caso de que el cliente tenga licencia E5, está ya incluye la característica de Teléfono de Microsoft Teams Estándar.

• Licencias Sessión Border Controller.

3.2.2 Azure - Infraestructura

• Se deben contemplar los costos asociados a los recursos de Azure necesarios para

desplegar la solución del sistema de encuestas de audio (VM, Azure Bot Service, Speech to Text, Ip pública, Azure SQL Database, Servidor Web)

3.2.3 Despliegue página Web

• Certificado de seguridad SSL/TLS.

• Dominio.

3.3 Restricción de tipo técnico

3.3.1 Conversión de audio – Text to Speech – Speech to text

En este aspecto la restricción se relaciona con la posibilidad de problemas en las transcripciones del audio. Si bien las tecnologías de reconocimiento de voz han avanzado significativamente en términos de precisión, aún pueden surgir desafíos en la conversión precisa de audio a texto. Estos desafíos pueden incluir dificultades para comprender acentos regionales, jergas específicas de la industria o incluso la calidad del audio en sí.

p. 51

3.3.2 Procesamiento de medios en tiempo real

El bot debe utilizar una versión de la biblioteca .NET que admita las funciones y correcciones más recientes. Para garantizar la compatibilidad, el bot debe utilizar la última versión disponible del paquete NuGet o una versión que tenga menos de tres meses. Las versiones anteriores de la biblioteca no son compatibles y pueden provocar problemas de rendimiento.

El bot multimedia en tiempo real debe ejecutarse en una máquina virtual con al menos dos núcleos de CPU. Para obtener el mejor rendimiento, se recomienda una máquina virtual de la serie Dv2 de Azure. Para otros tipos de máquinas virtuales de Azure, se requiere un sistema con cuatro vCPU.

De acuerdo con (Microsoft, 2023c) Actualmente, la plataforma multimedia en tiempo real no aprovecha ninguna unidad de procesamiento de gráficos (GPU) disponible en la máquina virtual para descargar la codificación/decodificación de vídeo H.264. En cambio, la codificación y decodificación de video se realiza en el software de la CPU. Si hay una GPU disponible, el bot puede aprovecharla para su propia representación gráfica, por ejemplo, si el bot utiliza un motor de gráficos 3D.

4. Metodología para la selección

Este proyecto busca desarrollar una solución que aborde la necesidad de gestionar encuestas y medir la calidad del servicio al cliente en un entorno empresarial que utiliza Microsoft Teams como plataforma de comunicación y colaboración. En este sentido, es importante destacar la comparación con Microsoft Customer Voice, una herramienta de la suite

p. 52

de Microsoft Dynamics 365 que también se utiliza para recopilar comentarios y opiniones de los clientes (Microsoft, 2023).

Si bien Microsoft Customer Voice ofrece capacidades valiosas para la creación y distribución de encuestas, así como para el análisis de datos de retroalimentación, este proyecto se diferencia en varios aspectos clave:

4.1 Integración Directa con Microsoft Teams

Mientras que Microsoft Customer Voice es una herramienta independiente, este proyecto está diseñado específicamente para integrarse de manera fluida en Microsoft Teams. Los usuarios no necesitarán salir de la plataforma de comunicación que ya utilizan, lo que simplifica y agiliza el proceso de gestión de encuestas.

4.2 Enfoque en la Experiencia del Cliente en Tiempo Real

Este proyecto se centra en la recopilación de opiniones y percepciones de los clientes en tiempo real, justo después de cada interacción con los agentes de servicio al cliente en Microsoft Teams. Esto permite una retroalimentación más inmediata y relevante, lo que puede conducir a mejoras más rápidas en la calidad del servicio.

4.3 Personalización y Flexibilidad

Aunque Microsoft Customer Voice ofrece plantillas y opciones de personalización, este proyecto permitirá una mayor flexibilidad en la creación y diseño de encuestas de audio. Las organizaciones podrán adaptar las preguntas y respuestas para ajustarse a sus necesidades específicas.

p. 53

4.4 Métricas de Satisfacción del Cliente Integradas

Además de la recopilación de datos, este proyecto implementará un modelo de métricas que evaluará la satisfacción del cliente basándose en las respuestas de las encuestas. Estas métricas brindarán información valiosa para la toma de decisiones orientadas a la mejora continua del servicio.

4.5 Seguridad y Cumplimiento

Se prestará especial atención a la seguridad y al cumplimiento de normativas en la gestión de datos de los clientes. Esto asegurará que los datos se manejen de manera segura y se cumplan las regulaciones de protección de datos.

4.6 Amazon Connect

Otra alternativa de solución al presente proyecto ese el servicio de Amazon Connect que permite a las empresas generar Contact Centers a través de la nube AWS (Amazon Web Services), esta plataforma se ha utilizado por varios Contact Centers para la prestación de servicio al cliente. Este funciona asignándole un número de teléfono a cada uno de los dispositivos y redirigiendo a los clientes hacia estas, además de contar con la opción de realizar una encuesta al finalizar la llamada a través de Amazon Connect Customer Profile que permite almacenar los datos de estas.

La principal problemática de esta alternativa es que las empresas deberían cambiar sus servicios en la nube con Microsoft para migrar a AWS y hacer uso de este servicio, además de que no se podría utilizar Microsoft Teams para la realización de las llamadas. Esta migración es un proceso tardío para las empresas debido a la capacitación en tecnologías y la migración de la información, además de significar un costo al utilizar estos servicios de AWS.

p. 54

Este proyecto se destaca por su enfoque en la integración con Microsoft Teams, la recopilación en tiempo real, la personalización, las métricas de satisfacción del cliente y el cumplimiento normativo. Estos aspectos hacen que esta solución sea altamente relevante y beneficiosa para las organizaciones que buscan mejorar su calidad de servicio al cliente en el contexto de Microsoft Teams.

Se exploran tres alternativas expuestas anteriormente expuestas en donde se pueden encontrar diferencias en estas. Microsoft Voice Customer no cuenta con encuestas de audio mientras que Amazon Connect no es compatible con Microsoft Teams. Por eso, se plantea un desarrollo según cuente con las funcionalidades de la tabla a continuación. Tabla 2. Alternativas de solución.

Característica Proyecto de Encuestas de Audio Microsoft Customer Voice Amazon Connect Integración con Microsoft Teams Sí Sí No Encuestas de Audio Sí No Sí Medición de la Calidad del Servicio Sí Sí Sí Personalización de Encuestas Sí Sí Sí Seguridad de Datos Sí Sí Sí Facilidad de Uso Sí Sí Sí Análisis de Datos Sí Sí Sí Escalabilidad Sí Sí Sí Costos Asequibles Dependiendo del plan Basado en uso Integración de Aplicaciones Sí Sí Sí Soporte Técnico Disponible Sí Sí

p. 55

5. Desarrollo de la solución

Para el desarrollo del software propuesto, denominado "Producto Mínimo Viable para la Gestión de Encuestas y Medición de la Calidad del Servicio al Cliente" como complemento a la tecnología de Microsoft Teams, se ejecutaron diversas actividades de acuerdo a la metodología Scrum previamente seleccionada. Estas actividades incluyeron tareas relacionadas con la planificación de actividades, diseño y desarrollo del software.

5.1 Diseño de software

El diseño de software se desarrolló mediante mockups e historias de usuario, esta es una metodología que pone al usuario en el centro de todo el proceso de desarrollo. Las historias de usuario sirven como una herramienta para capturar las necesidades y expectativas de los usuarios de manera clara y concisa. Cada historia se enfoca en un objetivo específico del usuario, lo que ayuda a definir con precisión lo que se debe lograr. Los mockups, por otro lado, ofrecen una representación visual de cómo se verá y se comportará la interfaz de usuario, lo que permite a los diseñadores y desarrolladores traducir las historias de usuario en una experiencia concreta. Esta combinación de elementos garantiza que el software esté diseñado de manera coherente con las necesidades y deseos del usuario, lo que a su vez mejora la usabilidad y la satisfacción del cliente.

El proceso iterativo de revisión y retroalimentación constante de las historias de usuario y los mockups es fundamental para refinar el diseño a lo largo del desarrollo. Esto significa que los errores o desviaciones en el diseño se abordan temprano en el proceso, lo que resulta en un software más efectivo y eficiente. En última instancia, el diseño de software basado en mockups e historias de usuario es una práctica esencial para asegurar que el software cumpla con los

p. 56

objetivos del usuario y las necesidades del negocio, al tiempo que se minimizan los riesgos de desarrollar una aplicación que no sea adecuada para su propósito. A continuación, se muestran las diferentes historias de usuario recopiladas para el proyecto:

Ilustración 6. Historia de usuario 1

En la ilustración 6, se requiere una página de inicio de sesión para la administración del sistema de encuestas. Debe seguir la paleta de colores de Microsoft Teams, incluir campos de nombre de usuario y contraseña, y un botón de inicio de sesión. La validación garantiza disponibilidad, diseño adecuado, entrada de datos válidos, funcionalidad del botón y autenticación de usuarios.

p. 57

Ilustración 7. Historia de usuario 2

En la ilustración 7, se trata de la gestión de preguntas de encuestas. El usuario administrador puede ver, agregar, modificar y eliminar preguntas sin errores en el sistema. Ilustración 8. Historia de usuario 3

p. 58

En la ilustración 8, se aborda la seguridad de los datos de usuario y contraseñas almacenados en SQL Server. La validación asegura que los usuarios administradores no puedan ver contraseñas en texto plano, en su lugar, se muestran como cadenas de caracteres cifrados. Ilustración 9. Historia de usuario 4

En la ilustración 9, se trata el acceso a las respuestas recopiladas y la capacidad de exportar los datos para su análisis posterior. La validación garantiza que el usuario administrador pueda utilizar Power BI para visualizar y analizar los datos de respuestas de manera efectiva. Ilustración 10. Historia de usuario 5

p. 59

En la ilustración 10, se aborda la posibilidad de transferir llamadas a un bot para reproducir preguntas en audio y recopilar respuestas. La validación asegura que un agente del centro de llamadas pueda transferir una llamada desde Microsoft Teams al bot de encuestas de audio, permitiendo la recopilación de comentarios y opiniones de los usuarios externos que llaman.

Ilustración 11. Historia de usuario 6

En la ilustración 11, se aborda la capacidad de los usuarios externos de escuchar preguntas en audio y proporcionar sus respuestas seleccionando un número del 1 al 5. La validación se asegura de que el proceso funcione de la siguiente manera: un usuario externo, al comunicarse con la empresa, interactúa primero con un agente del centro de llamadas. Al finalizar la llamada, el agente transfiere al usuario al Bot de encuestas de audio, donde el usuario escucha las preguntas y selecciona una respuesta entre 1 y 5.

p. 60

Ilustración 12. Historia de usuario 7

En la ilustración 12, se aborda el diseño de la interfaz de gestión de preguntas con opciones para agregar, modificar y eliminar preguntas, así como la implementación de operaciones CRUD (Crear, Leer, Actualizar, Eliminar) para preguntas. La validación garantiza que la interfaz y las operaciones CRUD funcionen sin errores y que los cambios realizados se guarden adecuadamente en la base de datos.

p. 61

Ilustración 13. Historia de usuario 8

Por último, en la ilustración 13 se trata de la conversión de preguntas almacenadas en la base de datos a voz para que el usuario final pueda escucharlas. La validación asegura que el sistema convierta las preguntas de texto a voz y almacene archivos de tipo WAV en una ruta específica, lo que permite que el Bot reproduzca esos archivos con éxito. Ilustración 14. Mock up Inicio de sesión

p. 62

Ilustración 15. Mock up Menú principal

En la ilustración 14 y 15 se muestra el diseño mediante mockups para el inicio de sesión del usuario y el dashboard cuya finalidad es editar, añadir o eliminar las preguntas que va a realizar el bot durante la llamada en Microsoft Teams.

5.2 Planificación de actividades

El uso del software Jira con tableros KANBAN o KAN es una práctica común en la gestión de proyectos en entornos ágiles. Estos tableros visuales ofrecen una forma efectiva de organizar y seguir el progreso de las tareas. En esencia, las tarjetas que representan las tareas se mueven de una columna a otra a medida que se realizan. Esto facilita la visualización de lo que está pendiente, en progreso y completado.

p. 63

Jira permite una planificación más eficaz y una asignación más clara de tareas. También mejora la colaboración entre miembros del equipo, ya que todos pueden ver en tiempo real cómo avanza el trabajo. Esto es especialmente útil para mantenerse al tanto de las prioridades y asegurarse de que el proyecto avance de manera eficiente. En general, esta combinación de herramientas es esencial para llevar a cabo proyectos de manera ágil y eficaz. Ilustración 16. Tablero de actividades KANBAN

En la ilustración anterior se muestra el tablero KANBAN del presente proyecto en donde se pueden observar algunas de las actividades a realizar junto con sus respectivas columnas: “TO DO”, “IN PROGRESS” y “DONE” mediante el software Jira.

5.3 Desarrollo de Software

5.3.1 Frontend

Para el desarrollo Frontend en donde se encuentran las interfaces de usuario, se realizó mediante páginas web utilizando JavaScript, HTML y CSS. En el caso del presente proyecto se

p. 64

desarrollaron la página en la que inicia sesión el usuario y el dashboard que permite editar, añadir o eliminar las preguntas que va a realizar el bot durante la llamada en Microsoft Teams. A continuación, se muestran ilustraciones del desarrollo realizado: Ilustración 17. Interfaz de Inicio de sesión

Ilustración 18. Interfaz Menú principal

Ilustración 19. Interfaz Menú principal

p. 65

5.3.2 Backend

El desarrollo Backend para el inicio de sesión y la aplicación web para gestión de encuestas está basado en el framework Nodejs, donde usando las interfaces previamente desarrolladas por el equipo; se incorporaron en el Backend usando la estructura modelo – vista – controlador. Para facilitar la implementación de este modelo se definió la estructura de directorios de la siguiente manera:

Ilustración 20 Estructura de directorios

p. 66

Se usan diferentes dependencias o módulos que son instalados dentro de Nodejs, estás dependencias están definidas en el archivo “Package.json”, en la siguiente ilustración se muestran las diferentes dependencias utilizadas:

Ilustración 21 Visualización dependencias instaladas mediante el archivo package.json

Descripción de dependencias:

Body-parser: Permite obtener los datos enviados en el formulario de la interfaz “Login” y “Dashboard de gestión de encuestas”

Crypto: Dependencia para cifrar las credenciales y almacenarlas en la base de datos usando una cadena de caracteres.

p. 67

Ejs: Es un lenguaje de maquetado muy similar a HTML, su diferencia es que permite incluir código Javascript que será ejecutado en el momento de renderizar la vista al usuario que está interactuando con la página web.

Express: Es la dependencia para inicializar un servidor Web para publicar la página. Mssql: Esta dependencia es fundamental para el desarrollo de nuestro proyecto, ya que mediante Mssql establecemos las conexiones con la base de datos SQL Server. Passport / Passport Local: Permite utilizar la autenticación local con los usuarios y credenciales almacenadas en SQL Server.

Backend inicio de sesión A continuación, se muestra el avance del código para el procesamiento del inicio de sesión:

Ilustración 22 Configuración Backend – App.js

Ilustración 23 Inicialización de servidor Web en puerto 3000 del localhost.

p. 68

Ilustración 24 Ruta Login y dashboard de gestión de encuestas.

Ilustración 25 Código “Login” con extensión ejs.

p. 69

Backend gestión de encuestas Ilustración 26 Ruta de Login y Dashboard de gestión de encuestas.

Ilustración 27 Interfaz "Dashboard gestión de encuestas" con extensión ejs.

p. 70

Módulo conexión base de datos Ilustración 28 Desarrollo módulo para conexión a la base de datos.

Ilustración 29 Base de datos - SQL Server Express en Nube pública.

p. 71

Ilustración 30 Conexión con base de datos "SQL Server Express" desde Azure Data Studio.

Ilustración 31 Resumen de instancia donde se alojará la aplicación de interfaz WEB (Login – Dashboard)..

p. 72

Bot de Audio El Bot de audio se desarrolla usando el lenguaje .Net y es desplegado sobre Azure App Service.

Ilustración 32: Bot y conexión mediante Microsoft Graph.

p. 73

5.4 Reporte Power BI

En la siguiente ilustración se aprecia los avances del informe realizado en Power BI de Microsoft con diagramas de barras, gráficos circulares y tablas que permiten visualizar los datos recogidos en las respuestas de los clientes y de esta manera generar cifras y estadísticas que puedan ser analizadas para mejorar el servicio.

Ilustración 33. Visualización del reporte de Power BI

p. 74

6. Análisis de costos

Costo recurso humano para desarrollo del MVP Sistema de audio encuestas de Microsoft Teams Costo x recurso humano para desarrollo del MVP Sistema de audio encuestas de Microsoft Teams Rol Horas x mes Duración proyecto en meses Total horas Valor según https://www.freelancermap.com x hora Costo x hora en

USD

Costo total en

USD

Gerente de Proyecto / Scrum Master

30

2

60

$109.0

$54.5

$3,270

Product Owner

20

2

40

$130.0

$65.0

$2,600

Analista de calidad de software

40

2

80

$86.0

$43.0

$3,440

Desarrollador C# - .Net

40

2

80

$100.0

$50.0

$4,000

Desarrollador Backend NodeJs

40

2

80

$100.0

$50.0

$4,000

Desarrollador Frontend

40

2

80

$103.0

$51.5

$4,120

Total

210

12

420

$628

$314 $21,430

Costos despliegue MVP en nube Análisis de costos para el MPV – Sistema de encuestas de audio para Microsoft Teams Costos nube

Alojamiento para aplicación WEB Este servicio permite alojar la aplicación web para la gestión del sistema de encuestas. El valor es un costo fijo mensual.

$12

USD

Ip pública La Ip pública es necesario para que la aplicación Web sea consultada desde internet. El valor es un costo fijo mensual.

$4

USD

Transferencia de datos desde internet Este ítem hace referencia al tráfico generado desde internet, esto incrementa de acuerdo con las peticiones a nuestra aplicación WEB. Este valor es un costo fijo mensual.

$0

USD

p. 75

Certificado de seguridad SSL/TLS Estándar Este certificado permite cifrar todo el tráfico que fluya desde internet a nuestra aplicación, eso lo hace más seguro. Este valor es un costo fijo anual.

$120

USD

Conversión texto a voz Este componente permite convertir al texto a voz, es un servicio de Azure y tiene un costo fijo mensual dependiendo de la cantidad de conversiones que se realicen y la cantidad de tiempo del audio.

$1

USD

Base de datos en nube Este componente es necesario para almacenar las credenciales de usuario, las preguntas y respuestas de la encuesta de audio. Tiene un costo fijo mensual.

$32

USD

Azure App Service Servicio para alojar el Bot de la encuesta de Audio.

$10

USD

Dominio Dominio para que mediante un FQDN pueda ser resuelta la Ip pública. Este costo fijo es anual por el primer año, desde el segundo año el valor se incrementa.

$9

USD

Total costos mensuales

$49

USD

Total costos anuales por certificado SSL y dominio.

$129

USD

p. 76

Costo despliegue Sistema de audioencuestas para Microsoft Teams en producción para 20 llamadas concurrentes.

Análisis de costos para el MPV – Sistema de encuestas de audio para Microsoft Teams Costos nube

Alojamiento para aplicación WEB Este servicio permite alojar la aplicación web para la gestión del sistema de encuestas. El valor es un costo fijo mensual.

$24

USD

Ip pública La Ip pública es necesario para que la aplicación Web sea consultada desde internet. El valor es un costo fijo mensual.

$4

USD

Transferencia de datos desde internet Este ítem hace referencia al tráfico generado desde internet, esto incrementa de acuerdo con las peticiones a nuestra aplicación WEB. Este valor es un costo fijo mensual.

$0

USD

Certificado de seguridad SSL/TLS Estándar Este certificado permite cifrar todo el tráfico que fluya desde internet a nuestra aplicación, eso lo hace más seguro. Este valor es un costo fijo anual.

$120

USD

Conversión texto a voz Este componente permite convertir al texto a voz, es un servicio de Azure y tiene un costo fijo mensual dependiendo de la cantidad de conversiones que se realicen y la cantidad de tiempo del audio.

$10

USD

Base de datos en nube Este componente es necesario para almacenar las credenciales de usuario, las preguntas y respuestas de la encuesta de audio. Tiene un costo fijo mensual.

$32

USD

p. 77

Azure App Service Servicio para alojar el Bot de la encuesta de Audio.

$54,75

USD

Dominio Dominio para que mediante un FQDN pueda ser resuelta la Ip pública. Este costo fijo es anual por el primer año, desde el segundo año el valor se incrementa.

$9

USD

Total costos mensuales

$133.75

USD

Total costos anuales por certificado SSL y dominio.

$129

USD

p. 78

7. Conclusiones

• La implementación de un Producto Mínimo Viable (MVP) para la gestión de

encuestas de audio y medición de la calidad del servicio al cliente como complemento a Microsoft Teams representa una solución necesaria en el entorno empresarial actual, donde la calidad en la atención al cliente es un factor crítico para el éxito de las organizaciones.

• A través de la utilización de tecnologías clave como Azure Bot, Azure API, Power

BI y Microsoft Graph, el proyecto demuestra la capacidad de aprovechar las herramientas y servicios disponibles en el ecosistema de Microsoft para desarrollar una solución efectiva y eficiente que se integra de manera transparente con Microsoft Teams.

• La atención a las restricciones normativas en cuanto a la protección de datos, así

como las restricciones económicas y técnicas, se han abordado de manera integral en el diseño del proyecto, garantizando la seguridad y cumplimiento normativo, además de considerar aspectos clave para el éxito del despliegue técnico y la fiabilidad de las transcripciones de audio.

Referencias Gartner, Inc. (2023). Microsoft Teams Reviews, Ratings & Features 2023 | Gartner Peer Insights. Gartner. https://www.gartner.com/reviews/market/unified-communications-as-a-serviceworldwide/vendor/microsoft/product/microsoft-teams

Arbentia. (2022). Comparativa de herramientas de Business Intelligence (BI). (Sitio web

Arbentia). https://www.arbentia.com/blog/comparativa-de-herramientas-de-businessintelligence-microsoft-power-bi/

p. 79

Corporation, M. Customer Voice | Microsoft Dynamics 365. https://dynamics.microsoft.com/enus/customer-voice/overview/ Díaz Vásquez, R. A., Acosta Espinoza, J. L., & Checa Cabrera, M. A. (2022). Power bi como herramienta de apoyo a la toma de decisiones. Universidad Y Sociedad, 14(S3), 195-207. https://rus.ucf.edu.cu/index.php/rus/article/view/2949 Minewiskan. (6 de abril de 2023). Información general sobre DAX - DAX. Microsoft Learn. https://learn.microsoft.com/es-es/dax/dax-overview Becker, L. T. (Contributor) & Gould, E. M. (Column Editor). (2019). Microsoft Power BI: Extending Excel to Manipulate, Analyze, and Visualize Diverse Data. Serials Review, 45(3), 184-188. https://www.tandfonline.com/doi/full/10.1080/00987913.2019.1644891 Microsoft. (17 de julio de 2023). Descripción del servicio Microsoft Teams - Service Descriptions. Microsoft Learn. https://learn.microsoft.com/es-es/office365/servicedescriptions/teams-servicedescription Microsoft. (s.f.). Automatización de aplicaciones personalizadas y procesos de flujo de trabajo. Microsoft Teams. https://www.microsoft.com/es/microsoft-teams/apps-and-workflows Melton, J. (2006). Database Language SQL. In Springer eBooks (pp. 105–132). https://doi.org/10.1007/3-540-26661-5_5 Coronel, C., Rob, P., Morris, S. (2011). Bases de datos: diseño, implementación y Administración. Cengage Learning. https://www-ebooks7-24com.bdbiblioteca.universidadean.edu.co/?il=1280 Business intelligence. (2012). In Springer eBooks. https://doi.org/10.1007/978-3-642-27358-2

p. 80

Power, D., & Sharda, R. (2015). Business Intelligence and Analytics. Wiley Encyclopedia of Management, 1–4. https://doi.org/10.1002/9781118785317.weom070011 Uribe Macías, M. E. (2017). Gerencia del servicio: alternativa para la competitividad. Ediciones de la U. https://www-ebooks7-24-com.bdbiblioteca.universidadean.edu.co/?il=5731 Superintendencia de Industria y Comercio. (2023). Guía oficial de protección de datos personales: Delegatura para la protección de datos personales. https://www.sic.gov.co/sites/default/files/files/2023/Guia%20de%20datos%202023%20( 2).pdf Marzá M., Jesús I. (25 de junio 2020). Dashboard mediante tecnología Power BI, lenguaje DAX y librería pbiviz. https://repositori.uji.es/xmlui/handle/10234/191814 Ríos, J. R. M., Ordóñez, M. P. Z., Segarra, M. J. C., & Zerda, F. G. G. (2017). Estado del arte: Metodologías de desarrollo en aplicaciones web. 3c Tecnología: glosas de innovación aplicadas a la pyme, 6(3), 54-71. https://dialnet.unirioja.es/servlet/articulo?codigo=6143045 Castro Gallego, J. D. (2020). ¿Qué es HTML, CSS y JavaScript? Platzi. https://platzi.com/blog/que-eshtml-css-javascript/ ¿Qué es JavaScript? - Explicación de JavaScript (JS) - AWS. (n.d.). Amazon Web Services, Inc. https://aws.amazon.com/es/what-is/javascript/ Vergara, S. (2023). PWA vs SPA: ¿Cuál elegir? Blog ITDO - Agencia De Desarrollo Web, APPs Y Marketing En Barcelona. https://www.itdo.com/blog/pwa-vs-spa-cualelegir/#:~:text=Las%20aplicaciones%20web%20progresivas%20(PWA,de%20rendimien to%2C%20seguridad%20y%20mantenimiento

p. 81

Microsoft. (30 de Junio 2022). Microsoft Graph REST API v1.0 endpoint reference. Microsoft Graph REST API v1.0 Endpoint Reference.

Microsoft. (14 de Marzo 2023). Información general de Microsoft Graph. Información General de Microsoft Graph. https://learn.microsoft.com/es-es/graph/overview Microsoft. (2 de Agosto 2023). Get Call Record. Get CallRecord. https://learn.microsoft.com/enus/graph/api/callrecords-callrecord-get?view=graph-rest-1.0&tabs=http Vivanco, J. (10 de diciembre 2021). El modelo C4 de documentación para la Arquitectura de Software. Medium. https://medium.com/@javiervivanco/el-modelo-c4-de-documentaci%C3%B3n-para-laarquitectura-de-software-424704528390 Atlassian. (n.d.). Los distintos tipos de pruebas en software | Atlassian. https://www.atlassian.com/es/continuous-delivery/software-testing/types-of-softwaretesting ¿Qué es la prueba de software y cómo funciona? | IBM. (n.d.). https://www.ibm.com/mxes/topics/software-testing Lee, G. (2023). Pruebas de rendimiento: Pruebas de referencia y de referencia. LoadView. https://www.loadview-testing.com/es/blog/pruebas-de-rendimiento-pruebas-dereferencia-y-de-referencia/ Colin, M. (2020). Nivel de servicio de un centro de atención telefónica: modelo de experiencia del cliente desde el benchmarking y el análisis multivariante. ESIC Market, 51(167), 497–526. https://doi.org/10.7200/esicm.167.0513.1

p. 82

Microsoft. (2022, June 30). Microsoft Graph REST API v1.0 endpoint reference. Microsoft Graph REST API v1.0 Endpoint Reference.

https://learn.microsoft.com/en-us/graph/api/overview?view=graph-rest-1.0 Microsoft. (2023a, March 14). Información general de Microsoft Graph. Información General de Microsoft Graph. https://learn.microsoft.com/es-es/graph/overview Microsoft. (2023b, August 2). Get Call Record. Get CallRecord. https://learn.microsoft.com/en-us/graph/api/callrecords-callrecordget?view=graph-rest-1.0&tabs=http Microsoft. (2023c, November 23). Requisitos y consideraciones para los bots multimedia hospedados en aplicaciones. Requisitos y Consideraciones Para Los Bots Multimedia Hospedados En Aplicaciones. https://learn.microsoft.com/enus/microsoftteams/platform/bots/calls-and-meetings/requirements-considerationsapplication-hosted-media-bots OWASP. (2023a). OWASP Top Ten. OWASP Top Ten. https://owasp.org/www-projecttop-ten/ OWASP. (2023b, September 9). About the OWASP Foundation. About the OWASP Foundation. https://owasp.org/ Pressman, R. S., Maxim, B. R.(2021). Ingeniería de software. McGraw-Hill Interamericana. https://www-ebooks7-24-com.bdbiblioteca.universidadean.edu.co/?il=16414

Cita: Peña Quintero, Daniel Alfonso, Parra Godoy, Andres Camilo, Bustos Forero, Juan Carlos (2024), Desarrollo de un producto mínimo viable para la gestión de encuestas y medición de la calidad del servicio al cliente como complemento a la tecnología de Microsoft Teams, Universidad EAN, p. N. http://hdl.handle.net/10882/13596