Strategy ONE

Méthode de développement de produit

Pour obtenir une version PDF de cette page uniquement, cliquez ici.

Actuellement, l'équipe technologique de MicroStrategy suit une méthode agile en matière de développement de produit. Celle-ci comprend les groupes suivants : Équipes Scrum, propriétaires de produits, gestion de produit, ingénierie logicielle, qualité logicielle, design de l’expérience utilisateur, contenu, localisation et DevOps.

Les équipes Scrum se concentrent sur l’adéquation des prestations attendues. Elles travaillent selon des cycles d’itération/de sprint de deux semaines qui débouchent sur des événements clés tels que des démonstrations de l’incrément des logiciels livrés durant une itération. Le « plan d’exécution » désigne six itérations comprenant les prestations attendues en termes d’ingénierie et de qualité pour le trimestre. Le développement des produits MicroStrategy englobe l'architecture logicielle, les principes de conception ainsi qu'une validation et un déploiement continus du logiciel. Lors du développement de produit, les fonctionnalités du portfolio (« Fonctionnalités ») sont décomposées selon leurs descriptions (user stories). Les valeurs incrémentielles associées à ces Fonctionnalités sont attribuées et les ressources sont demandées en conséquence.

MicroStrategy dispose de systèmes centraux de commande de source, de contrôle des versions, de ramification et de gestion de code à travers des centres technologiques répartis dans le monde entier. Ces systèmes permettent une gouvernance, des contrôles et la mise en place d'une revue de code ainsi que des insights actionnables sur les processus de développement, la couverture de code et d'autres principes fondamentaux concernant les logiciels d'entreprise tels que l'analyse de code statique.

MicroStrategy gère un système centralisé pour l'enregistrement de tous les aspects du développement de produit et de la gestion de la qualité. La gestion de la qualité comprend des « programmes de contrôle qualité », qui sont des cas de test prédéfinis, automatisés et manuels, représentant un éventail de workflows d'utilisateurs. Le système centralisé enregistre tous les éléments de travail, des Initiatives aux Fonctionnalités, en passant par les user stories, les tâches et les défauts. Les Initiatives et les Fonctionnalités sont appréciées selon des points, tandis que les tâches sont quantifiées en heures.

Le système central est intégré au référentiel de code source, au processus d'élaboration et à l'analyse afin d'offrir de la transparence quant à ce sur quoi les équipes travaillent, au statut de ces éléments de travail et à la taille ainsi qu'à la nature des validations de code source. De plus, il assure la traçabilité des exigences par le biais de tests de conception logicielle, de code, d'automatisation et d'intégration. Tout cela permet l’intégration continue, la livraison continue et le déploiement continu. Ce système central est utilisé par les équipes de gestion des produits, les propriétaires de produits, les architectes, les ingénieurs, DevOps, les analystes de qualité, les postes exécutifs ainsi que par les groupes Expérience utilisateur, Contenu et Documentation.

Méthode de lancement des versions

Les versions des produits MicroStrategy correspondent à des versions mensuelles pour les applications mobiles et de bureau. Ces versions comprennent de nouvelles fonctionnalités et des améliorations de produits basées sur l’innovation et les commentaires des clients. De plus, chaque trimestre, MicroStrategy publie des mises à jour cumulatives en plus de la dernière version de la plateforme. Par exemple, la planification des versions en 2022 comprend Update 5 au T1 (11.3.5), Update 6 au T2, Update 7 au T3 et Update 8 au T4. Alors que les versions de la plateforme MicroStrategy, qui étaient auparavant publiées tous les ans, offrent généralement de nouvelles capacités et innovations importantes sur le marché, ainsi que des améliorations incrémentielles du produit, les mises à jour de MicroStrategy se concentrent sur un certain nombre d’éléments signalés par les clients, ainsi que sur des améliorations de la sécurité, des performances et de la scalabilité. Grâce aux améliorations apportées à la vitesse et aux pratiques de développement, MicroStrategy est en mesure de fournir le même type d’étendue dans une mise à jour sur une base trimestrielle, mais avec des deltas plus petits entre les versions. Ces mises à jour continueront d’inclure les mesures de qualité du logiciel capturées dans le système d’enregistrement des problèmes rencontrés par les clients selon la priorité, la sévérité, l’impact et les occurrences. Chez MicroStrategy, un cycle de mise à jour classique consiste en six itérations au cours desquelles des aspects de la plateforme sont validés pour les environnements, les cas d’utilisation personnels, la fonctionnalité, la performance, la stabilité, la sécurité, la scalabilité, l’internationalisation, la compatibilité, la mise à jour, l’accessibilité ou d’autres critères. Pour ces aspects de qualité du produit, des critères d’acceptation stricts font l’objet d’un examen et d’une validation.

MicroStrategy dispose également d'un processus de recours hiérarchique par le biais duquel les clients peuvent faire remonter des problèmes critiques grâce à leurs relations avec le responsable de compte et le support client. Outre les Mises à jour périodiques, MicroStrategy examine fréquemment ces problèmes et peut proposer, en réponse à ceux-ci, des correctifs logiciels. Ces correctifs sont généralement intégrés à la prochaine Mise à jour disponible de MicroStrategy ainsi qu'à la prochaine version de la plateforme.

Programmes de qualité

Les Fonctionnalités font l'objet de critères d'acceptation qui prennent généralement en compte la fonctionnalité, la performance, la fiabilité, la sécurité, la scalabilité, l'internationalisation, la compatibilité, la mise à jour et/ou l'accessibilité. Avant l'approbation des Fonctionnalités dans le plan d'exécution, la définition, la conception technique, l'intégration continue/les tests unitaires, l'architecture, les workflows de l'expérience utilisateur et/ou le programme de test de qualité sont examinés. Cette méthode favorise la rigueur avant l'écriture du code et permet d'éliminer toute ambiguïté ainsi que d'unifier la conception de l'expérience utilisateur, l'ingénierie, l'architecture et les programmes de test avec des objectifs clairs.

Ces programmes permettent de s'assurer que, par le biais des itérations, les éléments de travail sont régulièrement examinés et répondent aux critères d'acceptation définis. Généralement, le programme de test global envisage des méthodes de test automatisé pour les tests d'intégration continus, et une approbation/un refus automatique selon ces tests pour toute validation de code proposée vers un référentiel de code source central et versionné.

Les versions de la plateforme MicroStrategy font l'objet d'un vaste éventail de tests de système selon les critères de l'entreprise à l'aide de scans et d'analyses de la qualité de code pour garantir l'intégrité avant la publication de la version pour les équipes Scrum. Les versions de MicroStrategy sont actuellement proposées sur les systèmes d’exploitation Windows, Linux, Amazon Linux, Red Hat Enterprise Linux, MicroStrategy on AWS, MicroStrategy on Azure, iOS, OSX, et Android. Lorsqu'une version est transmise au contrôle qualité, les équipes Scrum exploitent des cas de test de bout en bout entraînés à partir de rôles MicroStrategy clés sur la Carte de l'Intelligent Enterprise dans le cadre du processus de validation.

Quant aux failles de sécurité, MicroStrategy réalise régulièrement un scan de sécurité du code source, un scan de sécurité du code binaire, un test de pénétration interne et un test de pénétration tiers indépendant. Les failles pour lesquelles les tests sont effectués sont celles identifiées, entre autres, par le OWASP Top 10 et le SANS Top 25.

MicroStrategy développe et gère des déploiements centraux pour sa plateforme logicielle. Pour chaque itération, ces systèmes sont mis à jour et les données sont validées. Par ailleurs, les critères de performance et directives de capacité associés sont mesurés et comparés au précédent point de validation. Ces systèmes sont instaurés via des relations stratégiques avec nos clients et partenaires. Il s'agit du « programme de validation du client ».

MicroStrategy utilise sa propre plateforme déployée sur des systèmes internes afin d'exécuter des analyses essentielles pour l'entreprise. Les parties prenantes clés de ces systèmes internes approuvent régulièrement la version dans le cadre des cycles de lancement.

Les programmes de qualité permettent d'assurer l'évaluation, l'attribution, la planification et la résolution en temps voulu des problèmes signalés par les clients à l'équipe technologique. La direction de l'équipe technologique se réunit régulièrement avec le support technique et le service des ventes afin de s'assurer que l'entreprise est en phase avec les informations les plus récentes. Lors de ces réunions, des mesures clés concernant les éléments de travail sont généralement examinées, comme la maturité, la priorité, la sévérité, l'impact, le temps jusqu'à la première réponse et le temps jusqu'à la clôture. Les éléments font alors l'objet d'une analyse des causes profondes. La cause sous-jacente du problème signalé est identifiée, le problème est résolu et les éventuels défauts dans les processus d'ingénierie et de qualité sont rectifiés. Les éléments de ces sessions sont ajoutés au système d'enregistrement des améliorations pour le développement de produit.

Les programmes de qualité sont associés aux programmes Enterprise Support afin de garantir que le personnel collabore régulièrement avec nos clients. Cela peut se traduire par des programmes de mise à niveau, d’engagement auprès du service de conseils de MicroStrategy pour acquérir de l’expérience avec les cas d’utilisation client, ou par des sessions de conception UX avec les clients pour pouvoir fournir des données de conception tôt dans le cycle de développement.

MicroStrategy dispose d’un solide mécanisme pour recueillir les commentaires de ses clients via son organisation sur le terrain dans le but de dresser la feuille de route et de prévisualiser rapidement l’orientation stratégique de la technologie. Cela s’étend à de nombreux examens stratégiques de la feuille de route des clients. La plupart des éléments figurant actuellement sur la feuille de route de la plateforme découlent directement des retours de ces sessions et des programmes Enterprise Support et UX Engagements, des renseignements clients obtenus par le support technique et des équipes de gestion des comptes qui agissent de concert afin de défendre les intérêts du client.

Points d'inspection du développement de produit

Le tableau suivant regroupe les points d'inspection clés de la méthode agile ainsi que les résultats du cycle de vie du développement de produit chez MicroStrategy.

Inspection Description

Planification

Événement de planification synchronisé, transparent et inclusif permettant aux parties prenantes ainsi qu'aux équipes de comprendre les objectifs, d'adapter les prestations attendues à la vision de l'entreprise et de s'engager à fournir un produit de haute qualité afin de garantir la réussite des clients.

Disponibilité

Inspection au sein de l'entreprise des critères d'acceptation, des indicateurs de performance clés relatifs au développement de produit du point de vue de l'architecture d'ingénierie, de l'expérience utilisateur, des éléments de travail des clients, de la fonctionnalité, de la performance, de la scalabilité, de la sécurité, de l'internationalisation, de la mise à jour, de la compatibilité et de l'accessibilité. Réunion avec le directeur de l'expérience utilisateur (CxO) pour garantir la transparence des prestations attendues.

Tri des défauts

Activité quotidienne de l'équipe consistant à examiner les défauts reçus et ouverts, à comprendre leur impact, à analyser des tendances, à élaborer une priorisation et une planification. Les défauts des clients sont examinés avant tout afin d'assurer une évaluation minutieuse ainsi qu'une communication rigoureuse avec le client via le support technique et lors du processus de contrôle qualité.

Gestion des modifications

Ces événements sont destinés à garantir la priorité, la qualité et la prévisibilité des résultats en contrôlant de près ce qui entre ou sort d'une version une fois que la planification est terminée. Pour chaque modification, une analyse complète des incidences est effectuée selon des KPI incluant la valeur, le coût et les ajustements quantifiés nécessaires au bon déroulement du plan d'exécution.

Planification de l'itération

Point de rassemblement où l'équipe Scrum s'engage sur le travail qu'elle peut fournir pendant l'itération. Le Product Owner détaille les éléments du carnet de produit et leurs critères d'acceptation respectifs, afin que l'équipe de réalisation comprenne les exigences et définisse le travail ainsi que les actions nécessaires pour répondre aux engagements.

Mêlée quotidienne

Événement quotidien limité dans le temps durant lequel l'équipe Scrum se réunit pour évaluer le statut et l'avancement de l'itération. Les membres de l'équipe discutent brièvement du travail réalisé la veille ainsi que du travail à effectuer le jour même. Ils soulignent d'éventuels risques afin que le Product Owner et le Scrum Master puissent prendre des mesures appropriées pour les atténuer.

Scrum des Scrums (SoS)

Événement quotidien limité au cours duquel les Lead Scrum Masters, les propriétaires de produits et les responsables produit examinent l’avancement de l’itération et de la version, de souligner des facteurs externes et d’y répondre, et de planifier des tâches pour des aspects nécessitant des actions interdisciplinaires.

Affinement du carnet de produit

Événement limité dans le temps au cours duquel l'ensemble de l'équipe Scrum ajuste, comprend et décompose les éléments de travail qui seront présentés lors de la prochaine itération. Le Product Owner présente un carnet hiérarchisé à l'équipe et décrit les éléments de travail, ce qui permet à celle-ci de comprendre les exigences, la proposition de valeur et les critères d'acceptation. Il reçoit de la part de l'équipe des données sur des facteurs externes, des risques, des hypothèses, les critères d'acceptation ainsi que des appréciations de haut niveau qui permettent d'affiner les éléments de travail avant la planification de l'itération.

Revue de l'itération

Événement se tenant le dernier jour de l'itération au cours duquel l'équipe Scrum présente la fonctionnalité du produit fini au reste de l'équipe ainsi qu'aux parties prenantes. Il permet à l'équipe d'obtenir des retours directs de la part des parties prenantes afin que des modifications puissent être apportées lors des prochaines itérations dans le but d'adapter le plan aux exigences et aux priorités de ces intervenants.

Rétrospective de l'itération

Dernier événement d'une itération où l'équipe Scrum se réunit afin d'examiner les performances durant l'itération. L'équipe discute des moments clés de l'itération terminée et convient d'un plan d'amélioration pour la prochaine.