Microservices & APIs

Die Cloud-Perspektive

Warum Benutzer Software oft ganz anders sehen als wir Entwickler

Rainer Stropek

Viele, die den Weg von On-Premises-Software zu Cloud-basierten SaaS-Lösungen gehen, müssen eine Lektion auf die harte Tour lernen: Benutzer sehen und beurteilen die von uns Technikerinnen und Technikern erstellte Software ganz anders als wir. Naturgemäß stehen für sie jene Aspekte im Mittelpunkt, die sie ständig brauchen.

Dass im Hintergrund eine beachtliche Softwareinfrastruktur für Abonnementverwaltung, Rechnungslegung, Supportportal, Kreditkartenabrechnung, Monitoring, Automatisierung von Administrationsprozessen etc. notwendig ist, ist den Endbenutzern ziemlich egal. Strom kommt verlässlich aus der Steckdose und Software stabil aus der Cloud – das ist die Erwartungshaltung, und das sollte ein guter SaaS-Anbieter auch anstreben.

Hinzu kommt, dass viele Softwareprodukte gleichzeitig ganz unterschiedliche Typen von Benutzern adressieren. Ein Administrator im Backoffice, der vor zwei großen Monitoren sitzt und mit Maus und Tastatur arbeitet, hat ganz andere Bedürfnisse als eine Benutzerin, die in entlegenen Gegenden von Kunde zu Kunde fährt, um dort mithilfe mobiler Geräte und der SaaS-Softwarelösung ihren Job zu machen.

Blick auf das Gesamtsystem

Als Technikerinnen und Techniker, die an der Erstellung der SaaS-Lösung arbeiten, vergessen wir manchmal die Sichtweise unserer Endbenutzer. Wir haben ständig das Gesamtsystem im Kopf. Im Mittelpunkt unserer Aufmerksamkeit stehen beispielsweise Dinge wie die folgenden:

  • Einheitlichkeit: Wenn wir viele Problemstellungen auf einheitliche Weise lösen, können wir Softwareartefakte leichter wiederverwenden. Das wirkt sich positiv auf die Entwicklungs-produktivität aus.
  • Keine Ausnahmen: Kunden- oder benutzerspezifische Speziallösungen zerstören unsere eleganten, klaren Softwaredesigns.
  • Keine technischen Schulden: Wir wollen immer mit der neuesten Technologie arbeiten und die modernsten Softwaredesigns anwenden. Schließlich finden dort die echten Innovationen statt.
  • Integrierte Gesamtlösungen: In Schule und Universität wurde uns die Normalisierung von Datenbanken eingebläut. Am liebsten hätten wir eine einzelne, integrierte, transaktionssichere Datenbank für alles.
  • Konfigurierbarkeit: Wenn wir eins gelernt haben, dann dass sich Technologie und Anforderungen laufend verändern. Daher erstellen wir gerne konfigurierbare Software, in der sich der Benutzer selbst aussuchen kann, was er will.
  • Zentralisierung: Was wir auf unseren Servern in der Cloud haben, haben wir im Griff. Offlinefähigkeit, Synchronisation von Daten, Installation und Update von Software auf Clients machen eine Menge Arbeit und Stress.

 

Cloud Developer Day auf der BASTA! 2018

 

Die Benutzersicht

Benutzer nähern sich einer SaaS-Lösung anders: Für sie zählt, ob die Software ihre konkreten Probleme löst. Hier einige Beispiele:

  • Schön, dass die Software ein echter Alleskönner ist, aber ist sie auch wirklich gut bei den Dingen, die ich täglich brauche? Der Rest interessiert mich eigentlich nicht.
  • Beruhigend zu wissen, dass man die Software konfigurieren könnte, aber ist sie für mich von Haus aus hilfreich? Ich habe keine Lust auf lange und teure Anpassungsprojekte.
  • Beeindruckend, dass Kunden auf der ganzen Welt die Software nutzen, aber erhalte ich eine aussagekräftige Monatsrechnung, die für mein Land rechtlich einwandfrei ist?
  • Toll, dass es Apps für praktisch jede Smartphoneplattform gibt, aber lässt sie sich auf meinem Büroarbeitsplatz auf meinem 30 Zoll großen 4k-Monitor effizient bedienen?
  • Gut zu wissen, dass die Software gerade auf die neueste Angular-Version umgestellt worden ist, aber welche neuen Features hat die neue Softwareversion, die für mich in der täglichen Arbeit hilfreich sind?
  • Gut, dass die SaaS-Lösung sich um eine stabile Internetanbindung der Server, Back-ups und Ähnliches kümmert, aber wie hilft mir die Software, wenn ich während der Arbeit mit dem System selbst keine stabile und schnelle Internetverbindung habe?

 

Die Spitze des Eisbergs

Als SaaS-Anbieter sind wir stolz, wenn wir eine Plattform geschaffen haben, die technisch und vom Geschäftsmodell her richtig gut skaliert. Kunden wertschätzen unsere Investitionen aber nur bedingt. Sie sehen nur die Spitze des Eisbergs: die für sie in der täglichen Arbeit relevanten Funktionen. Sie vergleichen die SaaS-Lösung mit einem System, das ihr eigenes IT-Team für sie aufbauen könnte. Ist der Kunde mittelgroß und hat ein engagiertes, schlagkräftiges IT-Team, ist es als SaaS-Anbieter nicht immer einfach, mitzuhalten. Die lokale IT kann locker auf individuelle Anforderungen eingehen, sie braucht keine komplizierte Abonnementverwaltung, sie muss sich nicht mit Verträgen zur Auftragsdatenverarbeitung herumschlagen und so weiter.

Jeder SaaS-Anbieter möchte natürlich möglichst viele Kunden haben. Zehn- oder hunderttausende Abonnements zu verkaufen, klingt verlockend, hat aber massive Auswirkungen, was die initiale Investition in Softwareentwicklung und den organisatorischen Aufbau betrifft.

  • Bei ein paar Dutzend Kunden kann man die eine oder andere administrative Aufgabe (z. B. Cloud-Administration, Rechnungslegung, Mahnwesen etc.) noch manuell erledigen. Will man wirklich groß werden, muss alles automatisiert sein. Ansonsten fressen die laufenden Kosten die monatliche Marge auf.
  • Im kleinen Rahmen kennt das Supportteam die Kunden und umgekehrt. Man versteht die Situation des jeweils anderen und hat eine gemeinsame Vergangenheit. Wenn die Kundenbasis größer wird, wird alles unpersönlicher. Es braucht Management und professionelle, unterstützende Softwaresysteme beim SaaS-Anbieter.
  • Als kleiner SaaS-Anbieter kann man relativ leicht auf individuelle Bedürfnisse einzelner Kunden eingehen. Da eine etwas größere Datenbank, dort eine quartalsweise Abrechnung statt der sonst üblichen monatlichen – solche Extrawürste lassen sich im kleinen Rahmen ohne Weiteres machen. Will man diese Flexibilität auch im Großen bieten, muss auf Anbieterseite eine Menge in die SaaS-Plattform investiert werden.

 

Konsequente Orientierung an Personas

Meiner Ansicht nach ist es wichtig, dass es bei jedem SaaS-Anbieter Personen gibt, die sich laufend in die Rolle der Endbenutzer versetzen. Dabei muss beachtet werden, dass nicht alle Benutzer über einen Kamm geschoren werden dürfen. Die besten SaaS-Teams haben detaillierte Personas ausgearbeitet. Eine Persona stellt einen Prototyp für eine Gruppe von Nutzern dar, mit konkret ausgeprägten Eigenschaften und einem konkreten Nutzungsverhalten. Sie verwenden die Personas, um bei der Produktplanung sicherzustellen, dass laufend Verbesserungen für alle Benutzergruppen spürbar sind.

Manchmal kommt es bei konsequenter Orientierung an Personas zu anderen Lösungen, als sie Technikerinnen und Techniker sonst gestalten würden. Das Technikteam hat, wie oben erwähnt, immer die Gesamtlösung im Kopf und würde vielleicht dazu tendieren, ein einheitliches UI für alle Benutzergruppen zu erstellen, in dem man über Benutzerberechtigungen den Zugriff auf die jeweils relevanten Module steuern kann. Aus Benutzersicht ist diese Integration möglicherweise unnötig oder sogar kontraproduktiv. Während der eine Benutzer für seine Szenarien ein leichtgewichtiges, für das Smartphone optimiertes UI will, möchte ein anderer ein Desktop-UI, das die Leistungsfähigkeit seines lokalen Computers optimal ausschöpft. Für beide Personas sind die Funktionen der jeweils anderen Benutzergruppe größtenteils irrelevant. Der Technologiebruch ist ihnen egal. Sie haben ihre ganz individuelle Sichtweise auf die SaaS-Lösung. Nebenbei gesagt: Diese Erkenntnis passt übrigens wunderbar zum Architekturkonzept der Microservices.

 

Produktplanung in Balance

Die besten Produktplanungsteams sorgen außerdem bei Weiterentwicklungen für eine ausgewogene Balance aus Investition in die SaaS-Infrastruktur im Hintergrund (nur indirekt sichtbar für den einzelnen Kunden) und neue Funktionen mit konkreten Auswirkungen auf Endbenutzer.

Es ist gut, wenn die Personen, die sich bei SaaS-Anbietern um die Produktplanung kümmern, nicht zu tiefes IT-Know-how haben. Ein Grundverständnis für IT, SaaS und Cloud-Computing ist unverzichtbar, da ansonsten die technische Weiterentwicklung unterrepräsentiert ist und man binnen weniger Jahre auf einem veralteten Berg Software sitzt. Aus eigener, schmerzhafter Erfahrung weiß ich aber, dass zu techniklastiges Produktmanagement Gefahr läuft, sich in technischen Spielereien zu verlieren. Funktionale Anforderungen und organisatorische Rahmenbedingungen werden vernachlässigt. Am Ende hat man eine SaaS-Plattform, die zwar Unmengen an Kunden verkraften würde, aber das Marktpotenzial vertrieblich nicht ausschöpfen kann.

 

Cloud, Azure, Serverless Track auf der BASTA! 2018

 

Handwerkskunst vs. Massenware

Einen SaaS-Anbieter, der auf eine große Kundenbasis abzielt, kann man mit einem Hersteller von Massenware vergleichen. Vermarktet wird ein relativ stark standardisiertes Produkt, das dank Economy-of-Scale zu einem attraktiven Preis angeboten werden kann. Diese Tatsache sollte man nicht verschweigen, ganz im Gegenteil. Kunden, die sich für ein SaaS-Standardprodukt entscheiden, wissen aus anderen Lebensbereichen, worauf sie sich einlassen. Ihnen ist klar, dass ein BILLY-Regal von Ikea etwas anderes ist als ein individuell vom Tischler hergestelltes Bücherregal.

Erfolgreich sind SaaS-Angebote dann, wenn sie konsequent an den Bedürfnissen der Endbenutzer ausgerichtet werden und sich die Herstellerteams nicht ganz und gar in der Optimierung der Softwareinfrastruktur verlieren, die im Hintergrund arbeitet. Wenn das gelingt, erhalten die Kunden durch SaaS eine Softwarelösung, die in Sachen Preis-Leistungsverhältnis von keiner On-Premises-Software geschlagen werden kann.

 

Wie Entwickler die Cloud als neuen Entwicklungsraum erobern können präsentiert Rainer Stropek in der Eröffnungskeynote „Cloud Native – Buzzword oder echte Innovation?“. Und noch mehr Informationen finden Sie im neuen Cloud Developer Day am Mittwoch.


Top Articles About Microservices & APIs

Ihr aktueller Zugang zur .NET- und Microsoft-Welt.
Der BASTA! Newsletter:

Behind the Tracks

.NET Framework & C#
Visual Studio, .NET, Git, C# & mehr

Agile & DevOps
Agile Methoden, wie Scrum oder Kanban und Tools wie Visual Studio, Azure DevOps usw.

Web Development
Alle Wege führen ins Web

Data Access & Storage
Alles rund um´s Thema Data

JavaScript
Leichtegewichtig entwickeln

UI Technology
Alles rund um UI- und UX-Aspekte

Microservices & APIs
Services, die sich über APIs via REST und JavaScript nutzen lassen

Security
Tools und Methoden für sicherere Applikationen

Cloud & Azure
Cloud-basierte & Native Apps

NIE MEHR BASTA! NEWS VERPASSEN