MicroStrategy ONE
Metodología de desarrollo del producto
Este documento describe funciones y procesos que MicroStrategy está desarrollando. El objetivo de este documento es proporcionar información sobre la dirección de la tecnología de MicroStrategy. Es posible que las funcionalidades descritas en este documento se lancen o no como se muestran.
Este documento puede incluir declaraciones que constituyen "declaraciones prospectivas" a efectos de las disposiciones de puerto seguro en virtud de la Ley de Reforma de Litigios Privados sobre Valores de 1995 de Estados Unidos, incluidas las estimaciones de futuros lanzamientos de tecnología. Las declaraciones prospectivas conllevan riesgos e incertidumbres que podrían causar que los resultados reales de MicroStrategy Incorporated y sus filiales (en conjunto, la "Compañía") difieran sustancialmente de las declaraciones prospectivas.
Los factores que podrían contribuir a tales diferencias incluyen: la capacidad de la empresa para cumplir los objetivos de desarrollo de productos al tiempo que alinea los costes con los ingresos previstos; la capacidad de la empresa para desarrollar, comercializar y entregar de manera oportuna y rentable ofertas nuevas o mejoradas que respondan al cambio tecnológico oa los nuevos requisitos de los clientes; el alcance y el momento de la aceptación en el mercado de las nuevas ofertas de la Empresa; aceptación continua de los demás productos de la Empresa en el mercado; el momento de los pedidos importantes; factores competitivos; condiciones económicas generales; y otros riesgos detallados en el formulario 10-Q de la empresa para los tres meses finalizados el 20 de septiembre de 2021 y otros informes periódicos presentados ante la Securities and Exchange Commission. Al hacer estas declaraciones prospectivas, la Compañía no asume ninguna obligación de actualizar estas declaraciones para revisiones o cambios posteriores a la fecha de este documento.
Para ver una versión PDF solo de esta página, haga clic en aquí.
Actualmente, el equipo de Tecnología de MicroStrategy sigue una metodología ágil de desarrollo de productos. Consta de los siguientes grupos: equipos Scrum, propietarios del producto, gestión de productos, ingeniería de software, calidad del software, diseño de experiencia de usuario, contenido, localización y DevOps.
Los equipos de Scrum están estrechamente alineados por sus entregas. Trabajan en ciclos de iteración/sprint de dos semanas que culminan en actos clave como demostraciones del incremento del software entregado en una iteración particular. El "Plan de ejecución" se define como seis iteraciones que comprenden las entregas de ingeniería y calidad para el trimestre natural. El desarrollo de los productos de MicroStrategy abarca la arquitectura del software y los principios de diseño, así como la validación y la implementación continua del software. Durante el desarrollo del producto, las funciones de la cartera ("Funciones") se descomponen en sus historias constituyentes. Los valores incrementales asociados con estas Funciones se asignan y, a continuación, se distribuyen los recursos en las tareas correspondientes.
MicroStrategy tiene sistemas de gestión de código, control de versiones, diversificación y control de fuente central en los centros tecnológicos de todo el mundo. Estos sistemas proporcionan gobernanza, controles de registro y la aplicación de la revisión del código, así como información procesable sobre los procesos de desarrollo, cobertura de código y otros principios fundamentales de las prestaciones del software empresarial, como el análisis de código estático.
MicroStrategy mantiene un sistema centralizado para capturar todos los aspectos del desarrollo del producto y la gestión de la calidad. La gestión de la calidad incluye "Planes de control de calidad", que son casos de prueba manuales y automatizados predefinidos que representan una serie de flujos de trabajo de usuarios. El sistema centralizado captura elementos de trabajo de todas las iniciativas y las Funciones a través de historias de usuarios, tareas y defectos. Las iniciativas y las Funciones se miden por puntos, mientras que las tareas se miden por horas.
El sistema central está integrado con el repositorio de código fuente, el proceso de compilación y los análisis para proporcionar transparencia en lo que los equipos están trabajando, el estado de esos elementos de trabajo y el tamaño y la naturaleza del código fuente. Además, ayuda a garantizar la trazabilidad de los requisitos mediante el diseño del software, el código, la automatización y las pruebas de integración. Todo esto permite la integración, la entrega y la implementación continuas. Este sistema central es utilizado por gestión de productos, propietarios de productos, arquitectos, ingenieros, operaciones de desarrollo, analistas de calidad, experiencia de usuario, contenido, documentación y cargos ejecutivos.
Metodología de lanzamiento
Los lanzamientos de productos de MicroStrategy constan de lanzamientos mensuales para aplicaciones móviles y de escritorio. Estas versiones están compuestas de nuevas funcionalidades y mejoras de productos basadas en la innovación y los comentarios de los clientes. Además, cada trimestre, MicroStrategy publica actualizaciones acumulativas sobre la última versión de la plataforma. Como ejemplo, la planificación de lanzamientos en 2022 incluye la Actualización 5 (T1) (11.3.5), la Actualización 6 (T2), la Actualización 7 (T3) y la Actualización 8 (T4). Mientras que los lanzamientos de la plataforma de MicroStrategy, anteriormente con una cadencia anual, suelen ofrecer nuevas capacidades e innovaciones significativas al mercado, así como mejoras incrementales de productos, las actualizaciones de MicroStrategy se centran en un número selecto de elementos informados por los clientes, mejoras de seguridad, rendimiento y escalabilidad. Con mejoras en la velocidad y las prácticas de desarrollo, MicroStrategy puede proporcionar el mismo tipo de alcance en una actualización trimestralmente, aunque con deltas más pequeñas entre versiones. Estas actualizaciones continuarán incluyendo indicadores de calidad del software obtenidos en el sistema de registro de problemas de los clientes con prioridad, severidad, impacto y omnipresencia. Un ciclo de actualización típico para MicroStrategy está compuesto de seis iteraciones en las que se validan aspectos de la plataforma en entornos, casos de uso personales, funcionalidad, rendimiento, estabilidad, seguridad, escalabilidad, internacionalización, compatibilidad, actualización, accesibilidad y otros criterios de lanzamiento. Se revisan y validan estrictos criterios de aceptación para estos aspectos de calidad del producto
MicroStrategy también cuenta con un proceso de escalamiento mediante el cual los clientes pueden escalar problemas críticos a través de su responsable de cuentas y sus personas de contacto de Atención al cliente. Además de las actualizaciones programadas regularmente, MicroStrategy revisa estas escaladas con frecuencia y puede emitir versiones de parches de software en respuesta. Las versiones de parches de MicroStrategy generalmente se acumulan en la próxima Actualización de MicroStrategy disponible y en la próxima versión de la plataforma de MicroStrategy.
Programas de calidad
Las Funciones han establecido criterios de aceptación que generalmente tienen en cuenta la funcionalidad, el rendimiento, la fiabilidad, la seguridad, la escalabilidad, la internacionalización, la compatibilidad, la actualización y/o las consideraciones de accesibilidad. Antes de que se aprueben las Funciones en el plan de ejecución, se inspeccionan la definición, el diseño de ingeniería, las pruebas de integración continua/unidad, la arquitectura, los flujos de trabajo de UX y/o el plan de pruebas de calidad. Esta metodología impone rigor antes de escribir el código y ayuda a eliminar la ambigüedad y a unificar los planes de diseño de la experiencia del usuario, ingeniería, arquitectura y pruebas en objetivos claros.
Estos programas ayudan a garantizar que, a lo largo de las iteraciones, los elementos de trabajo se inspeccionen regularmente para determinar si cumplen con los criterios de aceptación establecidos. El plan de prueba general tradicionalmente considera metodologías de prueba automatizadas para realizar pruebas de integración continua y proceder a la aprobación o al rechazo de manera automática de cualquier compromiso de código propuesto en base a estas pruebas a un repositorio central de código fuente versionado.
Las compilaciones de la plataforma de MicroStrategy ejecutan una gran variedad de pruebas de sistemas en todos los criterios de lanzamiento de la empresa. Para ello, utilizan escaneos y análisis de la calidad del código para garantizar la integridad antes de que la compilación se envíe a los equipos de scrum. Las compilaciones de MicroStrategy se lanzan actualmente en sistemas operativos Windows, Linux, Amazon Linux, Red Hat Enterprise Linux, MicroStrategy en AWS, MicroStrategy en AWS, iOS, OSX y Android. Una vez que una compilación pasa a Control de Calidad, los equipos de scrum utilizan casos de prueba de extremo a extremo basados en perfiles clave de MicroStrategy en el mapa publicado de Intelligent Enterprise como parte del proceso de validación.
MicroStrategy realiza regularmente análisis de seguridad del código fuente, análisis de seguridad del código binario, pruebas de penetración internas e independientes de terceros para detectar vulnerabilidades de seguridad. El tipo de vulnerabilidades analizadas son aquellas identificadas por, entre otros, los documentos OWASP Top 10 y SANS Top 25.
MicroStrategy desarrolla y mantiene implementaciones centrales de su plataforma de software. Para cada iteración, estos sistemas se actualizan, se validan los datos y se miden y se comparan los parámetros de referencia y capacidad con el punto de validación anterior. Estos sistemas se establecen a través de relaciones estratégicas con nuestros clientes y socios. Esto se denomina "Programa de validación de clientes".
MicroStrategy utiliza su propia plataforma implementada en los sistemas internos para ejecutar análisis esenciales para la organización. Las partes interesadas clave en estos sistemas internos habitualmente aprueban la compilación como parte de los ciclos de lanzamiento.
Los programas de calidad existen para garantizar que los problemas de los clientes que se derivan al equipo de Tecnología se evalúen, asignen, programen y resuelvan de manera oportuna. La alta dirección de Tecnología se reúne regularmente en coordinación con Soporte Técnico y Ventas para garantizar que la organización esté alineada con la información más actualizada. En estas reuniones, suelen revisarse los indicadores clave sobre los elementos de trabajo, que pueden incluir la edad, la prioridad, la gravedad, el impacto, el tiempo hasta la primera respuesta y el tiempo de cierre. Los elementos de esta reunión se someten a análisis de causa principal (RCA, por sus siglas en inglés), donde se identifica la causa subyacente del problema escalado, se rectifica el problema, se resuelve cualquier defecto de ingeniería o proceso de calidad y los elementos de estas sesiones se agregan al sistema de registro para implementar mejoras en el desarrollo del producto.
Los programas de calidad se asocian con los programas de soporte técnico para empresas para garantizar que el personal trabaje regularmente con nuestros clientes. Estos pueden adoptar la forma de programas de actualización, participación con el departamento de consultoría de MicroStrategy para obtener experiencia en casos de uso de clientes o mediante sesiones de diseño de UX con los clientes para poder proporcionar información de diseño al principio del ciclo de desarrollo.
MicroStrategy tiene un mecanismo sólido para recopilar comentarios de sus clientes a través de su organización de campo con la intención de dirigir la hoja de ruta y obtener vistas previas tempranas de la dirección estratégica de Tecnología. Esto se extiende a muchas revisiones estratégicas de la hoja de ruta del cliente. Muchos de los elementos actuales de la hoja de ruta de la plataforma son el resultado directo de los comentarios de estas sesiones, así como del soporte técnico de las empresas y de interacciones de UX, la inteligencia del cliente de Soporte y los equipos de cuentas que trabajan en conjunto para abogar en nombre del cliente.
Puntos de inspección de desarrollo de productos
La siguiente tabla incluye precisos puntos de inspección claves y los resultados del ciclo de vida del desarrollo del producto en MicroStrategy.
Inspección | Descripción |
---|---|
Planificación de lanzamientos |
Un acto de planificación sincronizada transparente e inclusiva que permite a las partes interesadas y a los equipos comprender los objetivos, alinear las entregas con la visión corporativa y comprometerse a ofrecer un producto de alta calidad para garantizar el éxito del cliente. |
Preparación de la versión |
Inspección en toda la organización de los criterios de aceptación, los indicadores de rendimiento clave de desarrollo de producto a través del punto de vista de la arquitectura de ingeniería, la experiencia del usuario, los elementos de trabajo del cliente, la funcionalidad, el rendimiento, la escalabilidad, la seguridad, la internacionalización, la actualización, la compatibilidad y la accesibilidad. Reunión de los directores ejecutivos para garantizar la transparencia de las entregas. |
Clasificación de defectos |
Actividad diaria para que el equipo revise los defectos entrantes y abiertos, comprenda su impacto, analice los patrones, establezca prioridades y realice la programación. Los defectos del cliente se revisan primero para garantizar una evaluación y comunicación exhaustivas con el cliente a través del soporte técnico y el proceso de control de calidad. |
Administración de cambios |
Actos para mantener el enfoque en el lanzamiento, la calidad y la previsibilidad de la prestación controlando estrechamente el alcance que un lanzamiento provoca tanto de entrada como de salida, una vez que se ha completado la planificación. Para cada cambio, se realiza un análisis de impacto completo en los KPI clave, incluidos el valor, el coste y los ajustes cuantificados necesarios para el plan de ejecución de la prestación. |
Planificación de la iteración |
Punto de reunión donde el equipo de scrum se compromete con el trabajo que puede realizar dentro de la iteración. El propietario del producto aclara los detalles de los elementos del backlog del producto y sus respectivos criterios de aceptación, para que el equipo de entrega comprenda los requisitos y defina el trabajo y el esfuerzo necesarios para cumplir con el compromiso. |
Encuentro diario |
Acto diario de duración limitada donde el equipo de scrum se reúne para evaluar el estado y el progreso de su iteración. Los miembros del equipo discuten brevemente el trabajo realizado el día anterior, el trabajo planificado para ese día y destacan los riesgos para que el propietario del producto y el experto de scrum puedan tomar las medidas necesarias para mitigar los riesgos. |
Scrum de scrums |
Ceremonia diaria de duración limitada para expertos de scrum, propietarios y gestores de producto para revisar el progreso de la iteración y el lanzamiento, resaltar y resolver las dependencias y planificar su trabajo para cualquier función que requiera el esfuerzo de varios equipos. |
Refinamiento del backlog |
Acto de duración limitada donde todo el equipo de scrum alinea, entiende y descompone los elementos de trabajo que se presentarán en la próxima iteración. El propietario del producto presenta un backlog calificado para el equipo y describe los elementos de trabajo para ayudar al equipo a comprender los requisitos, la propuesta de valor y los criterios de aceptación. El propietario del producto recibe información del equipo sobre dependencias, riesgos, suposiciones, criterios de aceptación y estimaciones de alto nivel que ayudan a precisar los elementos de trabajo antes del acto de planificación de la iteración. |
Revisión de iteración |
Acto en el último día de la iteración donde el equipo de scrum muestra la funcionalidad del producto completado al resto del equipo y a las partes interesadas. Ayuda al equipo a recopilar comentarios directamente de los interesados para que se puedan aplicar ajustes a las próximas iteraciones para alinear el plan con los requisitos y las prioridades de los interesados. |
Retrospectiva de la iteración |
Último acto de scrum en una iteración donde el equipo de scrum se reúne para revisar el rendimiento durante la iteración. El equipo analiza los aspectos más destacados de la iteración y acuerda un plan para realizar mejoras en la siguiente iteración. |