MicroStrategy ONE
Produktentwicklungsmethoden
Dieses Dokument beschreibt Funktionen und Prozesse, die derzeit entwickelt werden von MicroStrategy. Das Ziel dieses Dokuments ist es, Einblick zu geben in MicroStrategy's Technologierichtung. Die hier beschriebenen Funktionen werden nicht zwangsläufig in der gezeigten Form veröffentlicht.
Dieses Dokument enthält „zukunftsgerichtete Aussagen“ im Sinne der Safe-Harbor-Bestimmungen aus dem Private Securities Litigation Reform Act aus dem Jahr 1995, inklusive Schätzungen für zukünftig verfügbare Technologien. Zukunftsgerichtete Aussagen beinhalten Risiken und Unsicherheiten, die dazu führen können, dass die tatsächlichen Ergebnisse MicroStrategy Incorporated und seinen Tochtergesellschaften (zusammen das „Unternehmen“) können wesentlich von den zukunftsorientierten Aussagen abweichen.
Mögliche Faktoren für diese Abweichungen sind: die Fähigkeit des Unternehmens, die Produktentwicklungsziele zu erfüllen und die Kosten an den erwarteten Erträgen auszurichten, die Fähigkeit des Unternehmens, neue oder erweiterte Angebote zeitnah und kosteneffektiv zu entwickeln, zu vermarkten und auszuliefern, um auf technologische Veränderungen oder Kundenanforderungen zu reagieren, Ausmaß und Zeitrahmen der Marktakzeptanz der neuen Angebote des Unternehmens, die andauernde Akzeptanz der restlichen Produkte des Unternehmens auf dem Markt, der Zeitrahmen wichtiger Bestellungen, Wettbewerbsfaktoren, allgemeine wirtschaftliche Umstände sowie sonstige Risiken, die das Unternehmen in seinem 10-Q-Formular für die drei Monate deklariert hat, die am 20. September 2021 abgelaufen sind, sowie in weiteren, regelmäßig bei der US-Börsenaufsichtsbehörde eingereichten Berichten. Mit diesen zukunftsgerichteten Aussagen geht das Unternehmen keinerlei Verpflichtung ein, diese Aussagen für Revisionen oder Änderungen nach der Veröffentlichung dieses Dokuments zu ändern.
Klicken Sie hier, um eine PDF-Version dieser Seite anzuzeigen.
Derzeit ist das Technologieteam von MicroStrategy folgt einer agilen Produktentwicklungsmethodik. Daran sind die folgenden Gruppen beteiligt: Scrum-Teams, Produkteigentümer, Produktmanagement, Software-Engineering, Softwarequalität, User-Experience-Design, Inhalt, Lokalisierung und DevOps.
Die Scrum-Teams sind eng an ihre Lieferungen gebunden und arbeiten in zweiwöchigen Iterations-/Sprintzyklen, an deren Ende ein wichtiges Event wie etwa eine Demonstration der Softwareversion steht, die bei der jeweiligen Iteration entwickelt wurde. Der Ausführungsplan besteht aus sechs Iterationen und umfasst die Lieferungen der Engineering- und Qualitätsteams für das Kalenderquartal. Die Entwicklung von MicroStrategyDie Produkte von umfassen Softwarearchitektur, Designprinzipien sowie eine kontinuierliche Validierung und Bereitstellung der Software. Bei der Produktentwicklung werden Portfoliofunktionen („Funktionen“) in die Stories zerlegt, aus denen sie sich zusammensetzen. Diesen Funktionen werden inkrementelle Werte zugewiesen, und Ressourcen werden entsprechend eingesetzt.
MicroStrategy verfügt über zentrale Quellcodeverwaltungs-, Versionierungs-, Branching- und Codeverwaltungssysteme in Technologiezentren weltweit. Diese Systeme garantieren Governance, Check-In-Kontrollen, obligatorische Code Reviews und umsetzbare Erkenntnisse zu Entwicklungsprozessen, Codeabdeckung und anderen wichtigen Grundpfeilern der Softwareentwicklung für Unternehmen wie etwa die statische Codeanalyse.
MicroStrategy unterhält ein zentrales System zur Erfassung aller Aspekte der Produktentwicklung und des Qualitätsmanagements. Die Qualitätsverwaltung umfasst sogenannte Qualitätspläne, bei denen es sich um vordefinierte automatisierte und manuelle Testfälle handelt, die eine Vielzahl von Benutzer-Workflows abdecken. Das zentralisierte System erfasst Arbeitselemente aus allen Initiativen und Funktionen in Form von Benutzerstories, Aufgaben und Defekten. Initiativen und Funktionen werden in Punkten gemessen, und Aufgaben werden in Stunden gemessen.
Das zentrale System ist integriert mit Quellcode-Repository, Build-Prozess und Analysesystemen und liefert transparente Einblicke in die aktuelle Arbeit der Teams, den Status der Arbeitselemente und die Größe und Art der Quellcode-Commits. Außerdem garantiert das System die Nachverfolgbarkeit von Anforderungen durch Softwaredesign sowie Code-, Automatisierungs- und Integrationstests. All dies ermöglicht eine kontinuierliche Integration, kontinuierliche Auslieferung und kontinuierliche Bereitstellung. Dieses zentrale System wird eingesetzt von Produktmanagement, Produkteigentümern, Architekten, Technikern, DevOps, Qualitätsanalysten, User Experience, Inhalt, Dokumentation und Führungskräften.
Veröffentlichungsmethoden
MicroStrategy Produktveröffentlichungen bestehen aus monatlichen Veröffentlichungen für mobile Anwendungen und Desktopanwendungen. Diese Releases umfassen neue Funktionen und Produktverbesserungen, die auf Innovationen und Kundenfeedback basieren. Darüber hinaus werden jedes Quartal MicroStrategy veröffentlicht kumulative Updates zusätzlich zur neuesten Plattformversion. Beispielsweise umfasst der Release-Plan für 2022 Update 5 in Q1 (11.3.5), Update 6 in Q2, Update 7 in Q3 und Update 8 in Q4. Während MicroStrategy Plattform-Releases, die zuvor jährlich veröffentlicht wurden, bringen üblicherweise bedeutende neue Funktionen und Innovationen auf den Markt sowie inkrementelle Produktverbesserungen. MicroStrategy Die Updates konzentrieren sich auf eine ausgewählte Anzahl von von Kunden gemeldeten Elementen sowie auf Verbesserungen bei Sicherheit, Leistung und Skalierbarkeit. Durch Verbesserungen bei Geschwindigkeit und Entwicklungspraktiken MicroStrategy ist in der Lage, den gleichen Umfang in einem vierteljährlichen Update bereitzustellen, allerdings mit kleineren Abweichungen zwischen den Releases. Diese Updates enthalten auch weiterhin Softwarequalitätsmetriken, die im Erfassungssystem für Kundenprobleme bezüglich Priorität, Schweregrad, Auswirkung und Verbreitung erfasst werden. Ein typischer Update-Zyklus für MicroStrategy besteht aus sechs Iterationen, in denen Aspekte der Plattform hinsichtlich Umgebungen, personengesteuerten Anwendungsfällen, Funktionalität, Leistung, Stabilität, Sicherheit, Skalierbarkeit, Internationalisierung, Kompatibilität, Upgrade, Zugänglichkeit und anderen Release-Kriterien validiert werden. Diese Aspekte der Produktqualität werden anhand von strengen Akzeptanzkriterien geprüft und validiert.
MicroStrategy verfügt außerdem über einen Eskalationsprozess, über den Kunden kritische Probleme an ihren Account Executive und die Kontaktpersonen im Kundensupport eskalieren können. Zusätzlich zu den regelmäßig geplanten Updates, MicroStrategy überprüft diese Eskalationen regelmäßig und gibt als Reaktion darauf möglicherweise Software-Patches heraus. MicroStrategy Patch-Releases werden in der Regel kumulativ in den nächsten verfügbaren MicroStrategy Update und ins nächste MicroStrategy Plattformversion.
Qualitätsprogramme
Für die Funktionen gelten festgelegte Akzeptanzkriterien, die sich normalerweise auf die Bereiche Funktionalität, Leistung, Zuverlässigkeit, Sicherheit, Skalierbarkeit, Internationalisierung, Kompatibilität, Upgrade und/oder auf die Barrierefreiheit beziehen. Bevor Funktionen im Ausführungsplan genehmigt werden, müssen Definition, technisches Design, fortlaufende Integrations- und Komponententests, Architektur, UX-Workflows und/oder Qualitätstestpläne geprüft werden. Diese Methodik garantiert eine sorgfältige Vorgehensweise, bevor Code geschrieben wird, eliminiert Mehrdeutigkeiten und vereinheitlicht User-Experience-Design, technische Umsetzung, Architektur und Testpläne mit eindeutigen Zielen.
Diese Programme sorgen dafür, dass die Arbeitselemente im Verlauf der Iterationen regelmäßig anhand der festgelegten Akzeptanzkriterien geprüft werden. Der übergreifende Testplan enthält normalerweise automatisierte Testmethoden für fortlaufende Integrationstests, und der für den Commit in ein zentrales, versioniertes Quellcode-Repository vorgeschlagene Code wird automatisch akzeptiert oder abgelehnt.
MicroStrategy Bei Plattform-Builds wird eine große Anzahl von Systemtests anhand der Release-Kriterien des Unternehmens durchgeführt. Dabei werden Codequalitätsscans und -analysen eingesetzt, um die Integrität sicherzustellen, bevor der Build an die Scrum-Teams freigegeben wird. Der MicroStrategy Derzeit sind Builds für Windows, Linux, Amazon Linux, Red Hat Enterprise Linux verfügbar, MicroStrategy auf AWS, MicroStrategy auf den Betriebssystemen Azure, iOS, OSX und Android. Sobald ein Build an die Qualitätssicherung freigegeben wurde, nutzen die Scrum-Teams End-to-End-Testfälle, die von Schlüssel MicroStrategy Personas auf der veröffentlichten Karte der Intelligent Enterprise als Teil des Validierungsprozesses.
MicroStrategy führt regelmäßige Sicherheitsscans des Quellcodes und des Binärcodes sowie interne Penetrationstests und unabhängige Penetrationstests durch Dritte durch, um auf Sicherheitslücken zu prüfen. Dabei werden unter anderem die unter OWASP Top 10 und SANS Top 25 aufgelisteten Sicherheitslücken überprüft.
MicroStrategy entwickelt und pflegt zentrale Bereitstellungen seiner Softwareplattform. Für jede Iteration werden diese Systeme aktualisiert, die Daten werden überprüft und die entsprechenden Leistungs-Benchmarks und Kapazitätsrichtlinien werden gemessen und mit dem vorherigen Validierungspunkt verglichen. Diese Systeme wurden durch strategische Beziehungen mit unseren Kunden und Partnern eingerichtet. Dieses System wird auch als „Customer Validation Program“ (Kundenvalidierungsprogramm) bezeichnet.
MicroStrategy nutzt eine eigene, auf internen Systemen bereitgestellte Plattform, um unternehmenskritische Analysen für die Organisation auszuführen. Wichtige Beteiligte an diesen internen Systemen genehmigen die Builds regelmäßig im Rahmen der Veröffentlichungszyklen.
Die Qualitätsprogramme sorgen dafür, dass die von Kunden an das Technologieteam eskalierten Probleme zeitnah beurteilt, zugewiesen, geplant und behoben werden. Erfahrene technische Mitarbeiter treffen sich regelmäßig mit dem technischen Support und Vertriebsmitarbeitern, um sicherzustellen, dass das Unternehmen die aktuellsten Informationen erhält. In diesen Besprechungen werden üblicherweise wichtige Metriken zu den Arbeitselementen besprochen, wie etwa Alter, Priorität, Schweregrad, Auswirkungen, Dauer bis zur ersten Reaktion und Dauer bis zur Schließung. Die Themen in dieser Besprechung werden einer Ursachenanalyse unterzogen, bei der die zugrunde liegende Ursache für das eskalierte Problem identifiziert, das Problem behoben und technische Probleme und Defekte in Qualitätsprozessen korrigiert werden. Die Elemente aus diesen Sitzungen werden zum Erfassungssystem für Verbesserungen am Produktentwicklungsprozess hinzugefügt.
Die Qualitätsprogramme arbeiten eng mit Enterprise Support-Programmen zusammen, um sicherzustellen, dass unsere Mitarbeiter regelmäßig mit unseren Kunden arbeiten. Diese können in Form von Upgrade-Programmen, Engagement mit MicroStrategyUm Erfahrungen mit Anwendungsfällen von Kunden zu sammeln, können Sie dies in der Beratungsabteilung tun oder mit Kunden über UX-Design-Sitzungen arbeiten, um schon früh im Entwicklungszyklus Design-Input liefern zu können.
MicroStrategy verfügt über einen robusten Mechanismus zur Erfassung von Kundenfeedback über seine Außendienstorganisation mit dem Ziel, die Roadmap zu steuern und frühzeitige Vorschauen auf die strategische Technologieausrichtung zu ermöglichen. Dies gilt für viele strategische Kunden-Roadmap-Reviews. Viele der aktuellen Elemente in der Roadmap für die Plattform sind das direkte Resultat des Feedbacks aus diesen Sitzungen, sowie aus Enterprise Support- und UX-Engagements sowie Kundeninformationen vom Support und von den Kontoteams, die sich gemeinsam im Namen der Kunden engagieren.
Prüfpunkte bei der Produktentwicklung
Die folgende Tabelle enthält die wichtigsten agilen Inspektionspunkte und Ergebnisse aus dem Produktentwicklungszyklus bei MicroStrategy.
Prüfung | Beschreibung |
---|---|
Veröffentlichungsplanung |
Eine transparente, inklusive und synchronisierte Planungsveranstaltung, bei der sich Beteiligte und Teams mit den Zielen vertraut machen, die Lieferungen an den Unternehmenszielen ausrichten und sich zur Entwicklung eines hochwertigen Produkts verpflichten, um den anhaltenden Erfolg bei unseren Kunden zu garantieren. |
Veröffentlichungsbereitschaft |
Unternehmensweite Prüfung von Akzeptanzkriterien, wichtigen Leistungsindikatoren für die Produktentwicklung aus der Perspektive der technischen Architektur, User Experience, Arbeitselemente von Kunden, Funktionalität, Leistung, Skalierbarkeit, Sicherheit, Internationalisierung, Upgrade, Kompatibilität, Barrierefreiheit. Besprechung auf CXO-Ebene, um die Transparenz der Lieferungen zu garantieren. |
Beurteilung von Defekten |
Das Team überprüft eingehende und offene Defekte täglich und macht sich mit deren Auswirkungen vertraut, analysiert Muster, legt Prioritäten fest und erstellt einen Plan. Kundendefekte werden zuerst geprüft, um eine gründliche Beurteilung und Kommunikation mit dem Kunden im Rahmen von technischem Support und Qualitätssicherungsprozess sicherzustellen. |
Änderungsmanagement |
In verschiedenen Besprechungen werden Veröffentlichungsumfang, Qualität und Planbarkeit der Lieferung gepflegt, indem der ein- und ausgehende Umfang einer Veröffentlichung nach Abschluss der Planung eng überwacht wird. Für jede Änderung wird eine vollständige Auswirkungsanalyse für wichtige Leistungsindikatoren ausgeführt, inklusive Wert, Kosten und eine Aufstellung der notwendigen Anpassungen am Auslieferungsplan. |
Iterationsplanung |
In diesem Meeting legen die Scrum-Teams fest, welchen Arbeitsumfang sie in der Iteration liefern können. Die Produkteigentümer erklären die Details der Elemente im Produkt-Backlog und die jeweiligen Akzeptanzkriterien, damit das Auslieferungsteam die Anforderungen kennt und den notwendigen Aufwand zum Erreichen ihrer Selbstverpflichtung definieren kann. |
Tägliche Updates |
Ein tägliches Meeting mit festem Zeitrahmen, in dem das Scrum-Team Status und Fortschritt ihrer Iteration spricht. Die Teammitglieder sprechen kurz über ihre Arbeit vom Vortag, die geplanten Aufgaben des Tages und eventuelle Risiken, damit Produkteigentümer und Scrum-Master die notwendigen Maßnahmen ergreifen können. |
Scrum of Scrums |
Ein tägliches Meeting mit festem Zeitrahmen für Lead Scrum-Master, Produkteigentümer und Produktmanager, um den Fortschritt von Iteration und Veröffentlichung zu besprechen, Abhängigkeiten zu identifizieren und zu beheben und ihre Arbeit für Funktionen zu koordinieren, an denen mehrere Teams beteiligt sind. |
Backlog-Verfeinerung |
Ein Meeting mit festem Zeitrahmen, in dem das gesamte Scrum-Team die Arbeitselemente für die bevorstehende Iteration ausrichtet, kennenlernt und in Komponenten unterteilt. Die Produkteigentümer legen dem Team ein priorisiertes Backlog vor und beschreiben die Arbeitselemente, um das Team mit den Anforderungen, dem Wertbeitrag und den Akzeptanzkriterien vertraut zu machen. Produkteigentümer erhalten Rückmeldungen vom Team zu Abhängigkeiten, Risiken, Annahmen und Akzeptanzkriterien sowie grobe Schätzungen, um die Arbeitselemente vor der Iterationsplanung verfeinern zu können. |
Iterationsprüfung |
In diesem Meeting am letzten Tag der Iteration demonstriert das Scrum-Team die abgeschlossene Produktfunktion für den Rest des Teams und die Beteiligten. Dabei erhält das Team direktes Feedback von den Beteiligten und kann Anpassungen in zukünftigen Iterationen vornehmen, um den Plan an den Anforderungen und Prioritäten der Beteiligten auszurichten. |
Iterationsrückblick |
Dies ist das letzte Scrum-Meeting in einer Iteration, bei dem sich das Scrum-Team trifft, um über die Leistung während der Iteration zu sprechen. Das Team bespricht die Höhepunkte der Iteration und vereinbart einen Plan mit Verbesserungen für die nächste Iteration. |