Tabla de contenidos
Cualquiera que analice el uso de tus productos de software puede tomar decisiones basadas en datos y expandir estratégicamente su hoja de ruta de productos. Aquellos que emplean a los desarrolladores por sí mismos pueden implementar una herramienta de análisis de este tipo. Pero hay algunos aspectos a considerar.
Leer: Qué es Apache Software Foundation
Los datos de uso significativos son esenciales para los proveedores de software a fin de optimizar los productos y retener a los clientes a largo plazo. El análisis revela cómo los clientes utilizan las aplicaciones, qué funciones se utilizan con más frecuencia o en qué plataforma se ejecuta el software. Los problemas de UI / UX o los errores específicos de la plataforma se pueden identificar y corregir más rápidamente.
Los desarrolladores también obtienen una mejor comprensión de lo que los usuarios realmente necesitan para su trabajo diario. Esta es la única forma de garantizar una coordinación precisa entre la cartera de productos y los requisitos prácticos por parte del cliente. Sin embargo, cuando se trata de implementar análisis de uso de software y la implementación de un sistema correspondiente, hay algunos aspectos importantes a considerar.
Criterios a considerar en el análisis de uso de software
Planificación por adelantado
Como cualquier proyecto de software complejo, la creación de un sistema de análisis para el uso de software requiere un alto nivel de colaboración. Una selección metódica de las métricas y los metadatos garantiza que todos los equipos recibirán posteriormente informes significativos. Esto incluye información de la computadora, estadísticas de instalación y tiempo de ejecución, así como datos de uso generales y relacionados con las funciones.
Si definen las preguntas en conjunto con anticipación, no es necesario que busques las respuestas mucho tiempo después. ¿Quién necesita acceder a qué información? ¿Cómo admite el sistema los análisis ad hoc (exploración y descubrimiento)? Otra cuestión importante se refiere a la telemetría. El momento en el que se transmiten los datos determina qué datos se registran realmente. El establecimiento de formatos de protocolo, protocolos de comunicación, procesos, horarios de sincronización, así como el almacenamiento en caché y el manejo para uso fuera de línea también ayuda a configurar la telemetría en detalle.
Si los sistemas se van a alojar internamente, se debe planificar una infraestructura de hardware escalable, software, respaldo, firewalls, anti-malware y otras medidas de seguridad. Incluso si la solución se ejecuta en la nube, hay cuestiones que aclarar y evaluar la relación coste-beneficio. Esto incluye la cantidad de instancias necesarias, los costos esperados, así como la escalabilidad y la seguridad.
Instrumentación y telemetría del cliente
Otra tarea importante es la instrumentación ininterrumpida de los clientes y el establecimiento de una telemetría segura y confiable entre el cliente y el servidor. Para crear perfiles de usuario únicos, realizar un seguimiento de las tendencias de uso para cada instalación y vincular los perfiles de instalación para descargar fuentes o campañas de marketing, el sistema debe poder generar automáticamente las ID de instalación del usuario y la denominada huella digital de la máquina.
La lista de tareas de telemetría es larga:
- Establecimiento de un protocolo de comunicación cliente-servidor seguro y ágil con seguridad integrada y cifrado de datos confidenciales
- Extensión del protocolo cliente-servidor para manejar proxies, firewalls, pasarelas de filtro web y otras configuraciones de red
- Desarrollo de un método para generar ID de cliente únicos y realizar un seguimiento del uso por usuario / instalación, incluso en modo anónimo
- Desarrollo de lógica de aplicación para agregar, comprimir y optimizar la transmisión de datos
- Desarrollo de una lógica de aplicación para eliminar errores de comunicación (por ejemplo, «red no disponible»)
Recopilación y gestión de datos
Las soluciones de análisis de uso de software generalmente recopilan y procesan terabytes de datos. Con bases de datos relacionales y consultas SQL, los desarrolladores alcanzan rápidamente sus límites con esta cantidad de datos. Por lo tanto, es aconsejable verificar el uso de bases de datos alternativas y los correspondientes marcos de visualización que están especialmente diseñados para almacenar, consultar y vincular datos grandes y heterogéneos.
El desarrollo de funciones para recopilar datos específicos de la aplicación también es complejo. Los sistemas de análisis web como Google Analytics o Microsoft App Insights a menudo carecen de funciones importantes. En general, es importante examinar exactamente cuánta flexibilidad ofrecen las soluciones comerciales a la hora de adaptarse a los requisitos específicos de la empresa. Muchos sistemas tienen opciones muy limitadas de qué rastrear y registrar. Si luego se registran datos que no crean ningún valor agregado real, los costos pueden aumentar innecesariamente.
Los sistemas internos suelen ser relativamente estáticos. Si los requisitos cambian, es difícil ampliar la recopilación de datos posteriormente sin cambiar el código del cliente y distribuir una nueva compilación. Por lo tanto, tiene más sentido utilizar una solución de control remoto que permita a los usuarios iniciar o detener rápida y fácilmente el seguimiento de determinadas métricas a través de un panel de control.
Visualización y presentación de informes de datos
Una vez registrados, los datos deben evaluarse y convertirse en informes interactivos y visualizaciones significativas. Esta tarea no debe subestimarse. Si hay una falta de preparación visual, manejabilidad y contexto, incluso el grupo de datos más grande es de poca utilidad. La transferencia de datos a informes utilizables requiere tiempo y previsión para poder responder preguntas de BI actuales y futuras.
Preguntas centrales en la preocupación por la visualización:
- La implementación de un tablero moderno que se puede adaptar a las necesidades del usuario
- La implementación de un marco de visualización, incluida la API
- El diseño de consultas backend de alto rendimiento
- La implementación de informes, incluida la funcionalidad de desglose
- La construcción de una lógica de agregación de datos para reconocer tendencias y patrones.
- La provisión de funciones para la exportación de datos
Protección de datos y privacidad
La protección de datos juega un papel importante en el análisis del uso de software. No hacerlo puede causar importantes daños legales y de imagen a las empresas. Por lo tanto, la seguridad de los datos y los controles de acceso granular en todos los niveles son estándar. También existen amplias opciones de inclusión / exclusión voluntaria que permiten a los usuarios restringir el seguimiento del uso de su software o bloquear notificaciones (por ejemplo, mensajes en la aplicación).
A medida que más y más países endurecen sus regulaciones de protección de datos, los desarrolladores deben seguir de cerca e implementar las diferencias regionales al diseñar sistemas de análisis de uso. En algunos casos, los datos deben almacenarse localmente, por lo que debes asegurarte de que los datos personales no salgan de una región determinada (por ejemplo, GDPR).
Entorno robusto y potente
Hay muchos aspectos que afectan el tiempo de generación de valor, la confiabilidad, la capacidad de administración y el ROI general de una solución de análisis de uso. El análisis de uso promete un valor agregado real si la solución se puede integrar en aplicaciones de terceros, como sistemas de descarga y actualización automática, CRM, soluciones de BI y herramientas de licencia.
Sin embargo, la integración solo es posible si los datos pueden exportarse en un formato procesable o sincronizarse utilizando API claramente definidas. En el caso de desarrollos internos, es posible que las interfaces requeridas deban configurarse primero. Además, se deben realizar pruebas exhaustivas para garantizar la compatibilidad, la seguridad, la fiabilidad y el rendimiento.
Esto incluye el sistema de telemetría, los SDK del lado del cliente en varias plataformas de cliente, la infraestructura (utilizando marcos y herramientas de prueba de esfuerzo) y la aplicación (incluida la interfaz de usuario de telemetría, informes y visualizaciones). Y, por último, pero no menos importante, al igual que con todos los sistemas críticos para el negocio, son necesarios el respaldo y la recuperación, la conmutación por error automática, el servidor y la supervisión del servicio las 24 horas del día, los 7 días de la semana, así como las precauciones en caso de picos de uso y patrones desiguales en el tráfico de la red.
Conclusión
Que las empresas confíen en el desarrollo interno para el análisis de uso es una cuestión de tiempo, recursos, experiencia y estrategia corporativa. Sin embargo, lo que está claro es que los proveedores de software necesitan información completa, precisa y procesable sobre cómo los usuarios usan sus productos de software.
Los equipos de desarrollo están bajo presión para presentar nuevos productos en ciclos cada vez más rápidos sin perder de vista los problemas de seguridad, las restricciones presupuestarias, los costos, la deuda técnica y la protección de datos. Sin una comprensión precisa de los requisitos por parte de los usuarios, resulta difícil definir una hoja de ruta que lleve a las empresas de manera segura a sus objetivos en el futuro.