Implementierung von Nutzungsanalysen 6 zentrale Kriterien für Software Usage Analytics

Autor / Redakteur: Nicole Segerer * / Stephan Augsten

Wer die Nutzung seiner Softwareprodukte analysiert, kann datengestützte Entscheidungen treffen und seine Produkt-Roadmap strategisch ausbauen. Wer selbst Entwickler beschäftigt, kann ein solches Analysetool selbst implementieren lassen. Doch dabei gilt es, einige Aspekte zu beachten.

Firmen zum Thema

Das Entwickeln und Implementieren einer eigenen Lösung zur Software-Nutzungsanalyse birgt mehrere Herausforderungen.
Das Entwickeln und Implementieren einer eigenen Lösung zur Software-Nutzungsanalyse birgt mehrere Herausforderungen.
(Bild: janjf93 / Pixabay )

Aussagekräftige Nutzungsdaten sind für Softwareanbieter zwingend erforderlich, um Produkte zu optimieren und Kunden langfristig an sich zu binden. Die Analyse verrät, wie Kunden Anwendungen nutzen, welche Features am Häufigsten zum Einsatz kommen oder auf welcher Plattform die Software läuft. UI/UX-Probleme oder plattformspezifische Bugs lassen sich schneller identifizieren und beheben.

Die Entwickler gewinnen außerdem ein besseres Verständnis dafür, was Anwender tatsächlich für ihre tägliche Arbeit benötigen. Nur so ist eine genaue Abstimmung zwischen dem Produktportfolio und den Praxisanforderungen auf Kundenseite überhaupt erst möglich. Geht es jedoch an die Umsetzung von Software Usage Analytics und die Implementierung eines entsprechenden Systems, gibt es einige wichtige Aspekte zu berücksichtigen.

1. Planung im Vorfeld

Wie jedes komplexe Softwareprojekt erfordert der Aufbau eines Analysesystems für die Softwarenutzung ein hohes Level an Zusammenarbeit. Eine methodische Auswahl der Metriken und Metadaten garantiert, dass alle Teams später aussagekräftige Berichte erhalten. Dazu zählen Rechnerinformationen, Installations- und Laufzeitstatistiken, sowie generelle und Feature-bezogene Nutzungsdaten.

Wer vorab gemeinsam Fragen definiert, muss im Nachgang nicht lange nach Antworten suchen. Wer benötigt Zugang zu welchen Informationen? Wie unterstützt das System Ad-hoc-Analysen (Exploration & Discovery)? Eine wichtige Frage betrifft auch die Telemetrie. So bestimmt der Zeitpunkt der Datenübertragung welche Daten überhaupt erfasst werden. Die Einrichtung von Protokollformaten, Kommunikationsprotokollen, Prozessen, Synchronisierungszeitplänen sowie Caching und Handhabung bei Offline-Nutzung trägt darüber hinaus dazu bei, die Telemetrie im Detail zu konfigurieren.

Sollen die Systeme intern gehostet werden, gilt es, eine skalierbare Hardware-Infrastruktur, Software, Backup, Firewalls, Anti-Malware und andere Sicherheitsmaßnahmen einzuplanen. Auch wenn die Lösung in der Cloud läuft, gibt es Fragen zu klären und das Kosten-Nutzen-Verhältnis zu evaluieren. Dazu gehört die Anzahl der nötigen Instanzen, die voraussichtlichen Kosten sowie Skalierbarkeit und Sicherheit.

2. Client-Instrumentierung und Telemetrie

Eine weitere wichtige Aufgabe besteht in der unterbrechungsfreien Instrumentierung von Clients sowie dem Aufbau einer zuverlässigen, sicheren Telemetrie zwischen Client und Server. Um eindeutige Benutzerprofile zu erstellen, Trends bei der Nutzung für jede Installation nachzuverfolgen und Installationsprofile mit Download-Quellen oder Marketingkampagnen zu verknüpfen, muss das System in der Lage sein, automatisch Benutzer-Installations-IDs sowie einen sogenannten Maschinenfingerabdruck zu generieren.

Die To-Do-Liste hinsichtlich der Telemetrie ist lang:

 Aufbau eines sicheren und schlanken Client-Server-Kommunikationsprotokolls mit integrierter Sicherheit und Verschlüsselung sensibler Daten

 Erweiterung des Client-Server-Protokolls zur Handhabung von Proxies, Firewalls, Webfilter-Gateways und anderen Netzwerkkonfigurationen

 Entwicklung einer Methode zur Generierung von eindeutigen Kunden-IDs und zur Nachverfolgung der Nutzung durch Benutzer/Installation, selbst im anonymen Modus

 Aufbau einer Anwendungslogik zum Aggregieren, Komprimieren und Optimieren der Datenübertragung

 Aufbau einer Anwendungslogik zum Beheben von Kommunikationsfehlern (z. B. „Netzwerk nicht verfügbar”)

3. Datenerhebung und -verwaltung

Lösungen für Software Usage Analytics sammeln und verarbeiten in der Regel Terabytes an Daten. Mit relationalen Datenbanken und SQL-Abfragen stoßen Entwickler bei dieser Datenmenge sehr schnell an Grenzen. Daher empfiehlt es sich, den Einsatz alternativer Datenbanken und entsprechender Visualisierungs-Frameworks zu prüfen, die speziell für das Speichern, Abfragen und Verknüpfen großer und heterogener Daten konzipiert sind.

Auch die Entwicklung von Funktionen zur Erfassung anwendungsspezifischer Daten ist komplex. Webanalysesystemen wie Google Analytics oder Microsoft App Insights fehlen oft wichtige Features. Generell gilt es genau zu prüfen, wie viel Flexibilität kommerzielle Lösungen bei der Anpassung an unternehmensspezifische Anforderungen bieten. Bei vielen Systemen ist die Auswahl der Elemente, die nachverfolgt und erfasst werden sollen, stark eingeschränkt. Werden dann Daten erfasst, die keinen echten Mehrwert schaffen, können Kosten unnötig in die Höhe gehen.

Inhouse-Systeme sind oft verhältnismäßig statisch. Verändern sich die Anforderungen, ist es schwierig im Nachgang die Datenerfassung zu erweitern, ohne den Client-Code zu ändern und einen neuen Build zu verteilen. Sinnvoller ist daher die Auswahlmöglichkeit über eine Remote-Control-Lösung, bei der Anwender über ein Dashboard schnell und einfach das Tracking von bestimmten Metriken starten oder stoppen können.

4. Datenvisualisierung und Berichterstellung

Einmal erfasst gilt es die Daten auszuwerten und in interaktive Berichte und aussagekräftige Visualisierungen zu überführen. Diese Aufgabe ist nicht zu unterschätzen. Fehlt es an der visuellen Aufbereitung, Handhabbarkeit und Kontext nutzt auch der größte Datenpool nur wenig. Die Überführung von Daten in verwertbare Berichte braucht Zeit und Weitblick, um aktuelle wie zukünftige BI-Fragen beantworten zu können.

Zentrale Fragen bei der Visualisierung betreffen:

 Die Implementierung eines modernen, den Nutzerbedürfnissen anpassbare Dashboards

 Die Implementierung eines Visualisierungsframeworks, einschließlich API

 Das Design von hoch performanten Backend-Abfragen

 Die Implementierung von Berichten, einschließlich Drill-Down-Funktionalität

 Der Aufbau einer Datenaggregationslogik zum Erkennen von Trends und Mustern

 Das Bereitstellen von Funktionen zum Datenexport

5. Datenschutz und Privatsphäre

Datenschutz spielt eine wichtige Rolle bei der Softwarenutzungsanalyse. Versäumnisse können Unternehmen einen erheblichen Rechts- und Imageschaden zufügen. Datensicherheit und granulare Zugangskontrollen auf allen Ebenen sind daher Standard. Hinzu kommen umfassende Opt-in/Opt-out Optionen, die es Anwendern erlauben, das Tracking ihrer Softwarenutzung einzuschränken oder Benachrichtigungen (z. B. In-App-Messaging) zu blocken.

Da immer mehr Länder ihre Datenschutzbestimmungen verschärfen, müssen Entwickler bei der Konzeption von Usage Analytics-Systemen regionale Unterschiede genau verfolgen und umsetzen. In manchen Fällen muss die Speicherung von Daten lokal erfolgen, wobei sicherzustellen ist, dass personenbezogene Daten eine bestimmte Region nicht verlassen (z. B. DSGVO).

6. Robuste und leistungsfähige Umgebung

Es gibt viele Aspekte, die die Time-to-Value, Zuverlässigkeit, Handhabbarkeit und den Gesamt-ROI einer Usage Analytics-Lösung beeinflussen. Echten Mehrwert verspricht die Nutzungsanalyse, wenn die Lösung in Dritt-Anwendungen wie Download- und Auto-Update-Systeme, CRM, BI-Lösungen und Lizenzierungstools integriert werden kann.

Eine Integration ist jedoch nur möglich, wenn sich die Daten entweder in einem verarbeitbaren Format exportieren oder über klar definierte APIs synchronisieren lassen. Bei Eigenentwicklungen müssen hier unter Umständen die erforderlichen Schnittstellen erst aufgebaut werden. Darüber hinaus gilt es umfassende Tests durchzuführen, um Kompatibilität, Sicherheit, Zuverlässigkeit und Performance sicherzustellen.

Dazu gehören das Telemetrie-System, clientseitige SDKs auf verschiedenen Client-Plattformen, die Infrastruktur (unter Verwendung von Stresstest-Frameworks und -Tools) sowie die Anwendung (einschließlich Telemetrie-Benutzeroberfläche, Berichtswesen und Visualisierungen). Und nicht zuletzt sind wie bei allen geschäftskritischen Systemen Backup und Recovery, automatisches Failover, 24x7-Server- und Dienstüberwachung sowie Vorkehrungen bei Spitzen in der Nutzung und ungleichmäßige Muster im Netzwerk-Traffic nötig.

Fazit

Nicole Segerer
Nicole Segerer
(Bild: Revenera)

Ob Unternehmen bei der Usage Analytics auf eine Eigenentwicklung setzen, ist eine Frage von Zeit, Ressourcen, Expertise und Unternehmensstrategie. Klar ist jedoch, dass Softwareanbieter umfassende, genaue und verwertbare Informationen darüber brauchen, wie Anwender ihre Softwareprodukte nutzen.

Entwickler-Teams stehen unter Druck, neue Produkte in immer schnelleren Zyklen zu präsentieren ohne dabei Sicherheitsfragen, Budgetrestriktionen, Kosten, Technical Debt und Datenschutz aus dem Blick zu verlieren. Ohne ein genaues Verständnis der Anforderungen auf Seiten der Nutzer, wird es schwierig, eine Roadmap festzulegen, die Unternehmen auch zukünftig sicher ans Ziel bringt.

* Nicole Segerer ist Vice President of Product Management and Marketing bei Revenera.

(ID:46976589)