Die strategischen Trends zeigen Richtung Standard-Software. Eine schnelle Einführung und laufende Release-Upgrades werden dabei vorausgesetzt. Trotzdem soll alles möglichst auf das Unternehmen angepasst werden. Die nachfolgend beschriebenen Punkte sollten Sie für eine erfolgreiche Einführung beachten.
Der Einsatz von Standard-Software bietet den grossen Vorteil, dass bereits Konzepte in unterschiedlichen Detail-Graden vorhanden sind. Es empfiehlt sich, dass die Architekturteams diese Basis-Konzepte und die Anforderungen an die Software abgleichen. Basierend darauf kann die Architektur für die Integration erstellt und die Software für das Unternehmen angepasst werden. Diese Anpassungen werden als Konfiguration zur Laufzeit in der Applikation oder als Code-Erweiterungen mit Deployment gemacht.
Konfiguration zur Laufzeit
Konfigurierbarkeit von Software wird oft mit wenig Aufwand und Kurzfristigkeit in Verbindung gesetzt. Man vergisst, dass Konfigurationen grundsätzlich das Umsetzen von Anforderungen beschleunigen, jedoch nicht die Phasen davor und danach. Auch bei Konfigurationen müssen die Anforderungen geklärt und dokumentiert sein. Ich empfehle zu Beginn eines Integrationsprojektes das Vorgehen für Konfigurationen zu definieren:
- Personen, welche Konfigurationen umsetzen und dafür verantwortlich sind
- System, welches als Konfigurations-Master dient
- Vorgehen für die Versionsverwaltung von Konfigurationen
- Zeitfenster für den Rollout auf dem produktiven System
- Vorgehen für die Dokumentation von Konfigurationen
- Ablauf und Verantwortlichkeiten für das Testing von Konfigurationen
- Abhängigkeiten zum Release Management des Unternehmens
Die Erfahrung in der Praxis zeigt: Konfigurationen können auch mit einem genau definierten Vorgehen schnell umgesetzt und in Produktion ausgerollt werden. Die Fehlerquote und der damit verbundene Aufwand zur Fehleranalyse werden jedoch massiv reduziert.
Erweiterung über neue Software-Version und Installation
Je nach eingesetzter Software sind auch kundenspezifische Erweiterungen möglich, bei denen direkt in den Programm-Code Einfluss genommen wird und die anschliessend ein neues Deployment erfordern. Die Möglichkeiten werden dabei durch den Softwarehersteller vorgegeben.
Programmierte Erweiterungen können Module sein, welche in die Software integriert werden und diese so erweitern. Individualisierungen können aber auch direkt im Programmcode sein und eignen sich optimal für Schnittstellen und Erweiterungen in der Business-Logik.
Man sollte verhindern, dass durch individuellen Programmcode die Logik der Software umgebaut wird. Durch Änderungen im Verhalten werden Upgrades auf neuere Versionen des Produktes aufwändig und teuer. Jeder Umbau muss nach einem Upgrade nochmals geprüft und möglicherweise wieder überarbeitet werden.
Reporting von Standardnähe
Wie standardnah wurde das Projekt umgesetzt? Wurde viel umgebaut oder mit konzeptfremden Konfigurationen gearbeitet?
Die praktische Umsetzung von Integrationen zeigt, dass es nicht die Lösung oder das Konzept gibt. Werden im Team Konfigurationen den programmatischen Umsetzungen generell vorgezogen und geplante programmierte Änderungen kritisch hinterfragt, ist dies eine gute Basis um Software «standardnah» in Unternehmen zu integrieren. Damit man Anforderungen besser auf Standardnähe einschätzen kann, können diese bereits bei der Planung klassifiziert (Konfiguration, Anbau im Code, Umbau im Code) und nach Grösse (klein, mittel, gross) eingeschätzt werden. Diese Übersicht dient als Reporting und zur Orientierungshilfe bei einem Upgrade auf eine neuere Version der Software.
Hält sich ein Projekt an diese Basis-Regeln, hat es beste Grundlagen für eine erfolgreiche, standardnahe Software-Einführung.