Wie erkennt man gute Software-Architekturen?

Nehmen wir einmal an, Sie wollen für Ihr Unternehmen eine neue Warenwirtschafts-Software anschaffen und sprechen dazu verschiedene Anbieter an. Die Herausforderung: Wie erkennen Sie, ob die angebotene Software wirklich gut ist? Auf der Basis unserer langjährigen Beratungs-Erfahrung haben wir Ihnen in diesem Beitrag die entscheidenden Kriterien zusammengestellt, mit denen Sie Software-Lösungen schnell und objektiv beurteilen und auswählen können.

Definition: Analogien zur Baubranche

Jeder kennt den Begriff „Architektur“ aus der Baubranche: Wenn wir Bauwerke beurteilen oder beschreiben wollen, dann sagen wir „das ist eine klassische Architektur…“ oder „die Architektur des Hauses ist verschachtelt oder luftig…“. Es geht also um eine ästhetische und handwerkliche Auseinandersetzung mit Bauwerken.

Auch Software ist eine Art Bauwerk: Sie ist gekennzeichnet durch Eigenschaften, die ein Betrachter sehen kann, und es gibt Aspekte, die im Verborgenen liegen. Sichtbare Eigenschaften von Software-Produkten sind Eingabemasken, Farbe oder Form der Dialoge sowie der Funktionsumfang. Wichtig sind vor allem aber die unsichtbaren Aspekte, die es im Zuge der Auswahl zu beurteilen lohnt, denn sie entscheiden am Ende darüber, ob sich die Anschaffung für Ihr Unternehmen langfristig auszahlt und Ihnen den erhofften Marktvorteil verschafft.

Kriterien: Moderne Architektur macht den Unterschied

Im Folgenden beschreiben wir 12 Kriterien, die Sie für die Beurteilung von Software-Produkten heranziehen sollten, um für künftige Marktanforderungen gewappnet zu sein.

1. Browser-basiert und Plattform-unabhängig

Wie erledigen wir heute unsere Bankgeschäfte? Mit einem verlässlichen Online-Banking. Wo bestellen wir Bücher oder Kinotickets? In einem schnellen Online-Shop oder Portal. Moderne Software ist heute browser-basiert, und der Anwender  muss keinerlei Komponenten auf seinem Rechner installieren. Zudem ist es egal, mit welchem Betriebs-System er arbeitet: Die einen bevorzugen Produkte der Firma Microsoft und nutzen Windows als Plattform, die anderen schwören auf Apple oder Linux.

Damit eine Vernetzung mit diesen Arbeitsplatzrechnern möglich ist, wird die Software zentral auf einem Server in einem Rechenzentrum bereitgestellt und über einen beliebigen Browser zugänglich gemacht. Der User, also Ihre Auftragsabwicklung oder Ihr Logistiker, meldet sich über das Internet (oder Intranet) an der Applikation an und kann sofort mit der Software arbeiten – und das von jedem Punkt der Erde und zu jedem Zeitpunkt.

2. Mikro-Architektur und Modularität

Viele veraltete Software-Produkte sind gekennzeichnet von monolithischen, aus einem Stück bestehenden Strukturen. Das führt oft dazu, dass solche Systeme unter Gesichtspunkten der Software-Pflege wenig handhabbar sind. Zeitgemäße Software-Architekturen basieren auf sog. „Microservices“, die miteinander kommunizieren und Daten austauschen. Diese Möglichkeit Software zu entwickeln macht es viel einfacher, sie weiterzuentwickeln, zu warten und vor allem mit anderen Systemen zu vernetzen.

Als Entscheider ist schwer zu erkennen, ob man es mit einem auf Microservices basierten System zu tun hat. Es gibt allerdings einige Indikatoren, die Hinweise darauf bieten:

  • – Ist die Software vernetzbar mit anderen Systemen?
  • – Ist die Software schnell?
  • – Sind die einzelnen Services und Module überschaubar und klein, so dass es praktisch keine Wartungsfenster gibt und so die Software immer erreichbar ist?
  • – Gibt es Ausfallzeiten durch Wartungsarbeiten an der Software (beispielsweise für Updates oder Fehler-Behebungen) oder kann mit der Software durchgehend gearbeitet werden?

Wenn Sie dabei sind, eine Software für Ihr Unternehmen auszuwählen, achten Sie auf Modularität und fragen Sie den Anbieter, wie genau seine Software aufgebaut ist und bringen Sie den Begriff „Microservice“ ins Spiel. Und prüfen Sie die Lösung anhand der o.g. Indikatoren.

3. Internationalität: Mehrsprachigkeit und unterschiedliche Währungen

Die Welt des Handels findet auf globaler Ebene statt. Das gilt immer mehr auch für Mitarbeiter- und Handelspartner-Strukturen. Zeitgemäße und auf die Modebranche zugeschnittene  Software-Produkte sollten also mehrere Benutzer-Sprachen und Währungen unterstützen. Auch wenn das in Ihrem Unternehmen heute noch kein Thema ist, kann sich das morgen oder nächstes Jahr schon anders darstellen. Die Software-Architektur sollte darauf vorbereitet sein, beliebige Währungen sowie andere Sprachen als Deutsch zu unterstützen, so dass Sie – zumindest als Option – weitere Sprachpakete dazu kaufen können.

4. Skalierbarkeit und Nutzung mit vielen Usern

Ein wichtiges Kennzeichen moderner und solider Software-Architektur ist ihre Skalierbarkeit, d.h. es können beliebig viele Daten von einer beliebig großen Benutzergruppe gleichzeitig bearbeitet werden. Wir als IT-Berater haben das oft erlebt: Eine Firma führt eine Software ein, die hinsichtlich des Funktions-Umfangs alle Anforderungen der Benutzer abdeckt. Mit wachsender Datenmenge und Benutzeranzahl wird die Software im Laufe der Jahre jedoch immer langsamer. Wegweisende Produkte verfügen über eine Architektur, die darauf vorbereitet ist, dass beliebig viele Nutzer, ob in Auftragsabwicklung, Buchhaltung oder Lager zeitgleich auf die Software zugreifen können.

5. Performanz und Verarbeitungs-Geschwindigkeit

Die Software-Architektur, also die Art, wie die Module zusammenspielen und Informationen austauschen, beeinflusst die Verarbeitungs-Geschwindigkeit. Zum Laden oder Speichern von Daten sollten heutzutage nur wenige Millisekunden erforderlich sein. Typische Beispiele:

  • – Die Software stellt Ihnen die Gesamtheit einer Datensammlung tabellarisch dar (z.B. einer Übersicht Ihrer Kunden) oder erlaubt die Suche danach.
  • – Sie klicken auf einen einzelnen Kundeneintrag, um Details zu sehen oder zu bearbeiten.
  • – Nachdem Sie die Daten bearbeitet haben, speichern Sie den Vorgang mit einem Klick ab.

Diese Operationen dürfen in einer modernen Software nur deutlich weniger als eine Sekunde beanspruchen.

6. Vernetzbarkeit mit anderen Systemen

Schlagworte der gegenwärtige Zeit sind „Industrie 4.0“ oder “Digitalisierung”. In der Software-Welt bedeutet das, dass alles mit allem vernetzbar sein soll – und zwar global. Egal, ob Sie einen Online-Shop betreiben oder ob Sie Daten mit jedweden Fremdsystem austauschen wollen – die Software-Architektur muss dies erlauben. Zukunftsweisend ist Software, wenn sie so gesehen ohne Schnittstellen arbeitet. Technisch müssen also keine Daten mehr zunächst exportiert und abgelegt werden, bevor sie in ein anderes System einfließen können. Auf dieser Basis erhält das Fremdsystem unter Nutzung etablierter Sicherheitsverfahren einen Zugriff auf die benötigten Software-Services. Wenn beispielsweise einer Ihrer Online-Shops Bestandsveränderungen melden möchte, dann kann das System direkt auf das entsprechende Modul (den „Microservice“) zugreifen und die Shop-Verkäufe einfach melden. Der Vorteil: Die übermittelten Änderungen werden sofort und ohne Zeitversatz sichtbar.

7. Benutzerfreundlichkeit und Intuitivität

Moderne Software ist gekennzeichnet durch große Benutzerfreundlichkeit und Einfachheit. Professionelle Software-Anbieter lassen sich dafür von sog. „Usability-Experten“ beraten. Ziel ist es, dass die Software intuitiv verwendet werden kann. Zugegeben: Nicht alles erklärt sich von selbst, aber als Berater empfehlen wir, dass zukunftsgerichtete  Software die Möglichkeit bieten muss, etwa 90 Prozent der Geschäftsvorfälle auch ohne Schulungen durchzuführen. In ca. fünf Prozent aller Fälle helfen den Usern direkte Hilfestellungen in der Software (z.B. durch MouseOver-Hilfen, die sich durch das Darüberbewegen der Maus automatisch einblenden) und weitere ca. fünf Prozent der offenen Fragen lassen sich durch ein Blick ins Online-Handbuch bzw. in die Schwerpunkthilfe lösen. Nur für einen ganz kleinen Teil von Fragen sollten Sie den Hersteller kontaktieren müssen.

8. Responsives Design

Mit dem Begriff „responsiv“ ist gemeint, dass sich die Software-Oberfläche an das Format des Endgeräts, auf dem Sie diese nutzen wollen, anpasst. Ein responsives Design hat den Vorteil, dass bei einem kleinen Bildschirm (z.B. das eines Tablet-Computers) die Software genauso gut nutzbar ist wie auf einem Desktop-PC mit großem Bildschirm. Die Benutzer-Oberfläche der Applikation passt sich automatisch an. Dieses Skalierungsverhalten ist seit Jahren ein gängiger Standard bei Unternehmens-Webseiten oder großen E-Commerce-Angeboten wie otto.de oder zalando.de. Warum sollte das also bei Warenwirtschaftssystemen oder B2B-Portalen anders sein?

9. Kaufmännische Prinzipien

Oft machen Software-Hersteller vieles richtig: Die Software ist modular aufgebaut, arbeitet sehr schnell, und die Benutzerdialoge sind überaus attraktiv und intuitiv gestaltet. Doch wenn die Software ohne Abstimmung mit kaufmännischen Experten entwickelt wurde, gibt es ein Problem. Bei der Berücksichtigung von finanzbuchhalterischen Prinzipien muss der Hersteller der Software fragen: Welche kaufmännischen Daten werden eigentlich in welcher Form benötigt, so dass diese von bestimmten Abteilungen im Unternehmen (oder auch externen Geschäftspartnern) weiter verarbeitet werden können? Die Softwarearchitektur muss diese Fragen von vornherein berücksichtigen. Nur so können entsprechende Erfassungs-Strukturen und/oder Auswertungen bereitgestellt werden. Ist dies nicht der Fall, finden Sie sich am Ende als Kunde in einer Situation wieder, in der Sie Daten selbst manuell aufbereiten müssen. Das ist aufwändig, teuer und zu langsam.

10. Reporting-Tools und Auswertungen

In einem Warenwirtschaftssystem eines mittelständischen Unternehmens haben wir es in der Regel mit einem kleinen bis mittleren Datenaufkommen zu tun. Für die Unternehmenssteuerung sollte das System die gängigen Standardauswertungen mit betriebswirtschaftlichen Kennzahlen mitliefern. Die Anschaffung eines zusätzlichen, flexibleren Auswertungs- oder Reportingsystems ist natürlich ebenfalls denkbar. Oft fallen hier aber weitere Lizenzkosten und Schulungen an, die es gegen den Erkenntnisgewinn abzuwägen gilt.

Zukunftsweisende Software-Produkte bieten also eine vordefinierte Menge an Auswertungsvorlagen (Reports), die mit ein paar Mausklicks konfiguriert werden können. Für eine Umsatz-Auswertung geben Sie beispielsweise nur das Referenzjahr oder das Quartal an, klicken einen Button und schon erscheint die Auswertung auf dem Bildschirm oder steht als Excel-Download zur Verfügung.

Typische Auswertungen sind beispielsweise:

  • – Umsatz- und Ertrags-Auswertungen
  • – Einkaufs- und Verkaufs-Auswertungen (wichtig für Liquiditäts-Betrachtungen)
  • – Bestands-Auswertungen
  • – Lieferrückstands-Auswertungen
  • – Übersichten über offene Aufträge und Rechnungen

11. Hohe Verfügbarkeit

Ein gängiges Geschäftsmodell von Software-Herstellern sieht vor, dass Sie als Kunde die Software gar nicht mehr besitzen, sondern diese nur noch gegen Gebühr nutzen. Bei dieser „Software-as-a-Service“ oder „Software als Dienstleistung“ wird Ihnen vertraglich vom Hersteller nicht nur ein bestimmter Funktionsumfang zugesichert, sondern die Software mit einem Verfügbarkeits-Versprechen zur Verfügung gestellt. Ziel ist es, eine möglichst hohe Verfügbarkeit der Software während des Tagesgeschäfts sicherzustellen.

Die Basis ist das Verhältnis der theoretisch möglichen Zeit und der Zeitspanne, die Ihre Software tatsächlich erreichbar war. Sie wird in Prozent als sog. „Uptime“ angeben. Ist eine Software beispielsweise aufgrund von Wartungsarbeiten nicht verfügbar, so spricht man entsprechend von „Downtime“.

Hier zeigt sich, welchen Einfluss eine gute Architektur auf die Verfügbarkeit hat: Sind die einzelnen Komponenten klein („Microservices“), sind sie für das Entwickler-Team besser zu handhaben, lassen sich besser warten und können schneller aktualisiert werden. Die “Uptime” ist entsprechend hoch und sichert Ihren tagtäglichen Geschäftserfolg.

12. Ständige Updates und Technologie-Garantie

Der technologische Fortschritt in der Software-Entwicklung ist rasant. Was letztes Jahr noch „state-of-the-art“ war, ist in 6 Monaten schon ein alter Hut. Entwickler müssen  in der Lage sein, im Zuge der Pflege eines modernen Produktes die Einzelkomponenten an die aktuellen technologischen Neuerungen anzupassen und das Update auch sofort auszurollen (zu „deployen“). Fragen Sie Ihren Softwareanbieter, wie es sich mit Wartung und Updates verhält: In welchem Intervall werden Updates eingespielt? Ist mit Einschränkungen bei der Benutzung zu rechnen oder nicht? Gibt es eine Art “Technologie-Garantie”: Wie stellt der Anbieter sicher, dass die Software mit der technischen Entwicklung Schritt hält und sie laufend  angepasst wird?

Fazit

Zurück zur Baubranche:  Suchen Sie sich einen Profi, bei dem das gute Fundament des Software-Systems Ihnen alle zukünftigen Möglichkeiten offen lässt. Eine gute Software-Architektur schützt Ihre Investition nachhaltig, schafft einen deutlichen Marktvorteil und stellt sicher, dass Sie für die zukünftigen Herausforderungen der Branche perfekt aufgestellt sind.

Sie können diesen Artikel im PDF Format hier herunterladen.