Performance von ERP-Systemen

Performance_ERP-Systeme

Die Performance ist, neben dem „Look“ von ERP- oder CRM-Systemen, ein zentraler Hygienefaktor in Bezug auf die Akzeptanz bei Anwenderinnen und Anwendern. Subjektiv besteht auf Anwenderseite ein klares Bild von „gute Performance“. Aber Performance ist komplex und daher bei denen, die dafür zuständig sind ein gefürchtetes Thema (Übrigens auch bei Bloggern. Aber irgendjemand muss sich ja darum kümmern).

Die gar nicht so einfache Definition

„Performance als Hygienefaktor“ heisst, dass ein System aus Anwendersicht „einfach performant laufen muss“. Es wird als selbstverständlich vorausgesetzt. Um das Thema mit einem internen oder externen IT-Dienstleister besprechen zu können, braucht es jedoch klare Definitionen und Messwerte. Häufig wird Gebrauch gemacht von  Aussagen wie „Das System muss unmittelbar auf die Eingabe des Benutzers reagieren“ oder „Der Report XY muss in akzeptabler Zeit erstellt werden können“. Das hilft in der Regel nicht weiter, da der Anwendungsfall zu unspezifisch ist und die Zielwerte zu viel Interpretationsspielraum lassen.

Auch technische Kennzahlen sind oft schwierig, da sie nur einen Teilaspekt eines Gesamtsystems betrachten. Häufig ergibt sich die Situation, dass sich die Kennzahlen im grünen Bereich bewegen, die Performance beim Anwender jedoch trotzdem nicht stimmt. Zu diesen technischen Aspekten unten mehr.

Insgesamt muss man attestieren, dass die Performance heutzutage in den meisten ERP- und CRM-Einführungen nicht mehr das grosse Thema ist. Das hat auch damit zu tun, dass die Datenmengen in ERP-Systemen im Verhältnis zur Leistungsfähigkeit der IT-Technik in der Vergangenheit weniger stark gestiegen ist. Es gibt Anwendungsbereiche die deutliche grössere Datenmengen (z. B. Katalogsysteme, Suchmaschinen) verarbeiten und deutlich kürzere Zugriffszeiten (Echtzeitsysteme) sicherstellen müssen. Denn ist es notwendig und sinnvoll, sie zu dem Thema Gedanken zu machen. Nichts desto trotz gibt es gerade im bereich von grosser Datenmengen (Stichwort „Big Data“) verschiedene Ansätze der ERP-Anbieter hier Performance-Stiegerungen zu realisieren. Bekanntestes Beispiel ist die In-Memory-Technologie SAP-HANA.

Performance aus technischer Sicht

Diskutiert man mit IT-Fachleuten über Performance wird es sehr schnell sehr technisch. Da gibt es die Hardware, deren Performance über integrierte Performance Counters gemessen werden sollen, den Virtuellen Server dem man mehr Ressourcen zuteilen kann, die Datenbank mit Durchsatzraten usw. Dabei wird schnell klar, ein Gesamtsystem ist eine Kette von performance-kritischen Gliedern. Die Kette ist so stark wie ihr schwächstes Glied. Es genügt nicht eine performante Serverumgebung zu bauen wenn die Leitung zum Client-Rechner zu klein oder der Client-Rechner zu schwach ist.

Hier ist wichtig, dass die Techniker das Gesamtsystem im Blick behalten und den unbedarften Kunden gut beraten. Insbesondere bei ausgelagerten Services (also z. B. Hosting des ERP-Systems bei einem externen Hosting-Partner) ist eine klare Absprache zur Verantwortung (z. B. externes Netz/internes Netz) sehr elementar.

Die Sache wird zusätzlich verkompliziert weil auch die Anwendung und damit der Systemanbieter für die Performance mitverantwortlich ist. Kommt es zu Engpässen in der Performance, stellt sich daher zunächst die Frage nach der Ursache (Hardware/Software, Server/Client, Applikation/Datenbank). Die technischen Kennzahlen helfen, den Fehler einzukreisen aber auch früh zu erkennen, z. B. wenn die Kennzahlen anhand von Referenzwerten überwacht werden.

ERP-Anbieter bieten teilweise Konzepte für dieses Thema in Zusammenhang mit der eigenen Lösung an. Bei Lobos überwacht der Heldesk mit ServPatrol das ERP-System beim Kunden oder Hosting-Dienstleister. Andere ERP-Anbieter bieten vergleichbare Lösungen an.

Dieser technische Aspekt ist wichtig, hilft jedoch für die Definition der Soll-Performance aus besagten Gründen zunächst nicht.

Performance ist auch eine Kostenfrage

Mein ehemaliger Arbeitskollege und System Engineer Samy meinte beim Thema Performance jeweils, es sei kein Problem, wenn er „links oben“ bestellen dürfe. Links oben stehen die besten, neusten aber i. d. R. auch die teuersten Komponenten. Für eine bessere Performance kann die Investition in neue, bessere Hardware oder Software ein möglicher Weg sein. Da die Mittel jedoch in der Regel begrenzt sind, ist eine genaue Analyse der Situation und der Anforderungen wichtig. Wenn alles performant läuft, nur der Finanzbericht, den der CFO einmal im Jahr erstellen lässt, braucht drei Minuten zu lang, wird man nicht gleich in ein neues Rechenzentrum investieren.

Neue Systeme sind nicht zwangsläufig performanter als alte. Denn mit den neuen Möglichkeiten steigt auch der (Ressourcen-)Appetit der Systeme. Noch heute treffen wir beispielsweise AS400-Anwendungen an, die in Bezug auf Performance für den spezifischen Zweck, für den sie geschaffen wurden, oft ungeschlagen sind. Die zeichenorientierten Masken sind für die manuelle Erfassung über die Tastatur sehr effizient. Diese Systeme haben dafür andere Nachteile.

Referenzfälle als Performance-Indikatoren

Am praktikabelsten sind aus meiner Sicht Referenzfälle. Dabei werden für verschiedene Aspekte der „Performance“ Muster definiert, anhand derer die Performance eines Systems gemessen werden kann. Die Reaktion des Systems auf die Eingabe der Anwender ist ein anderer Aspekt als das Erstellen einer Abfrage. Das Generieren eines Reports ist wiederum eine andere Perspektive.

Für jede Perspektive wird ein Referenzfall definiert. Er beinhaltet eine Beschreibung der Ausgangslage und des Testablaufs (z. B. Bestellung erfassen mit drei Positionen, Report erstellen mit Daten aus einem Monat)  sowie der betrachteten Bereiche (z. B. Reaktion des GUIs, Ergonomie, Datendurchsatz). Des Weiteren wird festgehalten, wie lange für die Abwicklung des Referenzfalls mit dem System gebaucht werden darf. Bei sehr kurzen Zeitabschnitten lohnt es sich, für die Messung mehrere zusammenzufassen (z. B. ein Anwender kann in 10 Minuten 15 Positionen erfassen). Idealerweise werden die Referenzfälle in der Einführung definiert und stehen bereits zur Systemabnahme zur Verfügung. Sie können auch bei einem Releasewechsel für Performance-Tests herangezogen werden.

Referenzfälle haben wesentliche Vorteile:

  • Die Ausgangslage wird eindeutig geklärt und abgestimmt
  • Die Anwender sind gezwungen, sich zu überlegen, wo welche Performance benötigt wird
  • Die Performance wird am Endpunkt (beim Anwender) untersucht
  • Die Performance wird für Anwender messbar

Immer vorausgesetzt, die Referenzfälle sind fachmännisch beschrieben. Das Konzept ist beliebig erweiterbar.

Sollte sich aufgrund der Referenzfälle zeigen, dass die Performance nicht den Anforderungen entspricht, können die Techniker mit geeigneten Kennzahlen und  Tools auf die Suche nach der Ursache gehen. In der Regel ist dies durch die Beschreibung des Sachverhalts im Referenzfall leichter als ohne.

Referenzfälle sind mit Arbeit verbunden, sowohl in der Vorbereitung als auch bei der Anwendung. Die Arbeit lohnt sich jedoch meist, da sie ungewünschte Verzögerungen im Bedarfsfall reduzieren.

 

Veröffentlicht am 27. Februar 2015

Kommentar schreiben