Über den Einsatz einer Plattform

Plattformen erleichtern die Erstellung von Optimierungssoftware erheblich. Aber sie bergen auch Nachteile. Dieser Artikel stellt einige Aspekte des Für und Wider zusammen.

Die ORCONOMY GmbH entwickelt seit 2009 individuelle Optimierungslösungen. In sehr unterschiedlichen Projekten und in der Zusammenarbeit mit sehr unterschiedlichen Kunden haben wir Erfahrung und Argumente für und wider den Einsatz von Plattformtechnik gesammelt. Im Jahr 2016 haben wir nach ca. fünfjähriger Entwicklung die Version 2.0 der Plattform OPTANO abgeschlossen. Wir sind überzeugt, dass der Einsatz einer solchen Technik für viele Kunden vorteilig ist, auch wenn ein paar Argumente dagegen sprechen.

Die viel diskutierten Vorteile sind:

  • Geringe Zeit bis zur Fertigstellung, bzw. Einführung
  • Geringe Kosten der Gesamtlösung, da schon wesentliche Teile fertig entwickelt sind
  • Mehr Funktionen als eine Individualentwicklung erreichen würde
  • Best Practice-Referenzen aus vergleichbaren Projekten
  • Höhere Qualität: weniger Fehler, weniger unbedachte Funktionen

Die Nachteile werden seltener diskutiert. Die folgenden Absätze sollen dies nachholen.

(Zu) viele Funktionen

Plattformen bieten viele Funktionen. Sie sind über die Jahre gereift und wurden ergänzt. In Demonstrationen erleben wir immer wieder, dass es gerade die vielfältigen Funktionen sind, die Anwender und Entscheider begeistern: „Ach, das kann man dann so einfach auf einer Karte darstellen?“ Ja, kann man. Und vieles mehr ist möglich, das für Projekte in den vergangenen Jahren wichtig war und eingebaut wurde. Aber welche der Funktionen sind für welches Projekt wirklich sinnvoll? Welche Masken und Ansichten helfen Anwendern und welche Funktionen verwirren nur oder lenken ab? Viele Funktionen schaffen viele Möglichkeiten. Bei der Bewertung einer Plattform fällt es Entscheidern daher oft schwer, die Fülle der Möglichkeiten kritisch zu prüfen und auf die wirklich wichtigen Funktionen zu fokussieren.

Die richtige Basistechnologie

Die Basistechnologie (Java, .net, … ) unserer Plattform OPTANO wurde sorgsam gewählt. Welche Komponenten ermöglichen schnellste Berechnungen? Welche Technologie lässt die effizienteste Erweiterung individueller Funktionen zu? Wie kann eine angenehme und moderne Benutzeroberfläche erstellt werden? Welche Technik ist zukunftssicher? Das sind Beispiele für Fragen, die für diese Entscheidung herangezogen werden. Die Grundlage hierfür kann sich mit der Zeit ändern. Neue Technologien werden entwickelt, alte abgekündigt. Für Plattformanbieter ist es aufwendig, ihre Plattform aktuell zu halten. Vor der Entscheidung für eine Plattformlösung sollte ihre Aktualität überprüft werden.

In vielen Unternehmen bestehen zusätzlich Vorgaben über die einzusetzenden Technologien und Einschränkungen, die z.B. zur Erhöhung der IT-Sicherheit getroffen wurden (z.B. Blueprint-Vorgaben). Diese können einschränken, dass nur Rich-Clients auf Datenbanken zugreifen können, nur alte oder seltene Browser Verwendung finden, usw. Diese Einschränkungen sind unter Umständen nicht verhandelbar und müssen unbedingt vor der Entscheidung für eine Plattformlösung geprüft werden!

Lizenzen

Plattformen kann man „nur“ lizensieren: Wie bei vielen anderen Softwareprodukten auch, erhält man das Recht eine Kopie zu verwenden. Beliebige Änderungen an der Plattform selbst sind damit in der Regeln nicht möglich – wie bei fast jeder Software, die eingesetzt wird. Optimierungslösungen werden aber häufig in den entscheidenden Unternehmensprozessen eingesetzt. Daher ist es manchen Kunden wichtig ein Softwaresystem unabhängig vom Anbieter  anpassen zu können. Dies kann eine Individualentwicklung ohne Plattform erzwingen oder gesonderte Lizenzbedingungen erfordern.

Best Practice der Fragestellung

Es ist ideal, wenn der Plattformanbieter bereits Projekte in der betreffenden Fragestellung umgesetzt hat. Dann erhält der Kunde nicht nur ausgereifte Technik, sondern auch noch das Fachwissen über die beste Umsetzung. Vielleicht steht sogar eine Referenzimplementierung zur Verfügung, durch die bereits Einblicke in die Möglichkeiten möglich sind.

Best Practice für allgemeine Anwendungsfälle

Plattformen bieten einige Konzepte für verschiedene Anforderungen der Benutzerführung, die sich in vielen Projekten bewährt haben. Sie stehen als Referenz für neue Projekte zur Verfügung, beispielsweise der Umgang mit Szenarien, die Ein- und Ausgabe von Massendaten, Ansichten für Daten und Details als Tabellen, Graphen, Diagramme oder Netzwerke – aber auch Konzepte zur Validierung von Eingaben und Zusammenhängen, Steuerung zeitintensiver Berechnungen usw. Diese können bei der Erstellung einer neuen Anwendung sehr hilfreich sein – und neben der Technologie einen entscheidenden Unterschied zwischen Plattformen machen.

Ändern sich gängige Konzepte für bestimmt Anwendungsfälle, werden einige Konzepte jedoch schnell zu eigenen Konzepten – die Software wirkt befremdlich und der Nutzer kann sich davon gestört fühlen. Die Einführung von Ribbonmenüs als gängige Praxis hatte beispielsweise diesen Effekt auf viele Nutzer.

Integration

Ein neues Produkt auf Grundlage einer Plattform, die noch nicht im Unternehmen verwendet wird, muss sich neu in die bestehende IT integrieren. Für Anwender kann offensichtlich sein, dass die Software anders aussieht. Vielleicht weichen die Bedienkonzepte von der oder den vorhandenen Anwendung(en) ab. Möglicherweise liegt der Unterschied nur in der Ansicht und den Bedienelementen, es könnten aber auch die grundlegenden Konzepte stark voneinander abweichen. Können die Anwender diese Unterschiede leicht erlernen?

Ähnliche Aspekte sind auch bei Datenintegration zu beachten: Kann die neue Anwendung auf bestehende Daten zugreifen? Sind Transformationen erforderlich oder gar manuelle Bearbeitungsschritte? Können Optimierungsergebnisse wieder zurück übertragen werden?

Qualitätssicherung

Zur Qualitätssicherung in der Softwareentwicklung wurde viel geforscht und ausprobiert. Gängige Praxis sind Revisions- und Änderungsverfolgung, automatisierte Tests, manuelle Tests, Codeanalysen, automatisierte und manuelle Einbrüche usw. Die Branche hat viel Erfahrung in diesem Bereich. Der Vorteil von Plattformen liegt darin, dass ein großer Teil der Anwendung dieser Qualitätssicherung bereits unterzogen wurde. Es sollte jedoch darauf geachtet werden, dass auch die eigenen Lösungen diesen Tests unterzogen werden können. Wenn unternehmensrelevante Geschäftsprozesse auf Plattformen entwickelt werden, sollten diese ebenfalls den gängigen Qualitätsstandards entsprechen und testbar sein. Es gibt keinen Grund, vom Anbieter einer Plattform nicht immer auch Informationen über die Qualitätssicherungsmaßnahmen der eigenen Lösungen einzufordern.

Abschließend

Viele der genannten Herausforderungen lassen sich während eines Projektes lösen oder mit Bedacht schon vorher vermeiden. Technische Rahmenbedingungen können allerdings ein K.o.-Kriterium sein. Vor allem dann, wenn der Plattformanbieter nicht bereit ist, die Basistechnik an die Rahmenbedingungen anzupassen, oder – weil er keinen Zugang zum Quellcode hat – dazu nicht in der Lage ist.

Welche Kriterien sind Ihnen wichtig? Welche Erfahrungen haben Sie mit Plattformen gemacht?  Gerne ergänze ich den Artikel mit Ihren Anmerkungen!