MicroStrategy ONE

Produktentwicklungsmethoden

Um eine PDF-Version nur dieser Seite anzuzeigen, klicken Sie auf hier.

Das Technologie-Team bei MicroStrategy verwendet momentan eine agile Methodik für die Produktentwicklung. Diese besteht aus den folgenden Gruppen: Scrum-Teams, Produkteigentümer, Produktmanagement, Software-Engineering, Software-Qualitä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. Bei der Entwicklung der MicroStrategy-Produkte werden Softwarearchitektur und Designrichtlinien berücksichtigt, und die Software wird fortlaufend validiert und bereitgestellt. 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 verwendet zentrale Systeme für Quellcodekontrolle, Versionierung, Branching und Codeverwaltung für alle weltweit verteilten Technologiezentren. 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 verwendet ein zentralisiertes System, um alle Aspekte der Produktentwicklung und der Qualitätsverwaltung zu erfassen. 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-Produkt-Releases bestehen aus monatlichen Releases für mobile Anwendungen und Desktop-Anwendungen. Diese Releases umfassen neue Funktionen und Produktverbesserungen, die auf Innovationen und Kundenfeedback basieren. Zusätzlich veröffentlicht MicroStrategy vierteljährlich kumulative Updates für das neueste Plattform-Release. 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, bisher im jährlichen Rhythmus, normalerweise bedeutende neue Funktionen und Innovationen sowie inkrementelle Produktverbesserungen bereitstellen, konzentrieren sich MicroStrategy-Updates auf eine ausgewählte Anzahl von Kunden gemeldeter Elemente sowie auf Verbesserungen bei Sicherheit, Leistung und Skalierbarkeit. Dank Verbesserungen bei Geschwindigkeit und Entwicklungspraktiken ist MicroStrategy in der Lage, den gleichen Umfang in einem Update auf vierteljährlicher Basis bereitzustellen, allerdings mit geringeren Zeitabständen 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 Updatezyklus für MicroStrategy besteht aus sechs Iterationen, in denen Aspekte der Plattform für verschiedene Umgebungen, personenorientierte Anwendungsfälle und im Hinblick auf Funktionen, Leistung, Stabilität, Sicherheit, Skalierbarkeit, Internationalisierung, Kompatibilität, Upgrade, Barrierefreiheit und andere Veröffentlichungskriterien validiert werden. Diese Aspekte der Produktqualität werden anhand von strengen Akzeptanzkriterien geprüft und validiert.

MicroStrategy verwendet außerdem einen Eskalationsprozess, über den die Kunden kritische Probleme über ihre Kontoverwalter und ihre Ansprechpartner beim Kundensupport eskalieren können. Neben den regelmäßigen Updates prüft MicroStrategy diese Eskalationen regelmäßig und veröffentlicht bei Bedarf entsprechende Softwarepatches. Die veröffentlichten MicroStrategy-Patches werden normalerweise kumulativ im nächsten verfügbaren MicroStrategy-Update und in der nächsten MicroStrategy-Plattformveröffentlichung zusammengefasst.

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.

Im Rahmen der Builds der MicroStrategy-Plattform wird eine Vielzahl von Systemtests für sämtliche Enterprise-Veröffentlichungskriterien inklusive Codequalitätsprüfungen und Analysen durchgeführt, um die Integrität zu überprüfen, bevor ein Build an die Scrum-Teams weitergegeben wird. Die MicroStrategy-Builds werden momentan für die Betriebssysteme Windows, Linux, Amazon Linux, Red Hat Enterprise Linux, MicroStrategy on AWS, MicroStrategy on Azure, iOS, OSX und Android veröffentlicht. Sobald ein Build für die Qualitätsprüfung freigegeben wurde, verwenden die Scrum-Teams End-to-End-Testfälle auf Basis wichtiger MicroStrategy-Rollen in der veröffentlichten Karte des Intelligent Enterprise als Teil des Validierungsprozesses.

MicroStrategy führt regelmäßige Sicherheitsprüfungen in Quell- und Binärcode sowie interne Penetrationstests und unabhängige externe Penetrationstests durch, um Sicherheitslücken aufzudecken. Dabei werden unter anderem die unter OWASP Top 10 und SANS Top 25 aufgelisteten Sicherheitslücken überprüft.

MicroStrategy entwickelt und verwaltet zentrale Bereitstellungen der Software-Plattform. 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 verwendet die eigene Plattform in verschiedenen internen Systemen für missionskritische Analyseaufgaben des Unternehmens. 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. Dies kann in Form von Upgrade-Programmen erfolgen, durch Zusammenarbeit mit der Consulting-Abteilung von MicroStrategy, um Erfahrungen mit Kundenanwendungsfällen zu sammeln, oder über UX-Design-Sitzungen mit Kunden, um früh im Entwicklungszyklus Design-Input bereitzustellen.

MicroStrategy verfügt über einen robusten Mechanismus zur Erfassung von Feedback seiner Kunden über die Außendienstorganisation mit dem Ziel der Roadmap-Steuerung und einer frühen Vorschau der strategischen Ausrichtung der Technologie. 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 Prüfpunkte für die agile Methodik und Ergebnisse des Produktentwicklungslebenszyklus 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.