Digitalisierung von Geschäftsprozessen
Steht ein Unternehmen vor der Aufgabe, eine neue Software anzuschaffen, um Geschäftsprozesse zu digitalisieren, so gibt es die Möglichkeit, sie in Form von Individual-Software selbst zu implementieren oder aber Standard-Software dafür zu verwenden. Welche Vorurteile und weit verbreitete Meinungen zu einer falschen Entscheidung führen können und worauf es ankommt, um die richtige Wahl zu treffen, will dieser Artikel klären.
Da in Unternehmen inzwischen vor allem Betriebswirte für die Beschaffung von Informationstechnologie, sprich Software, zuständig sind, und sie diese Technologie auch eher als „Commodity“, also als Ware verstehen, die man kaufen kann wie Strom aus der Steckdose, ist es für diese Entscheidergruppe oft naheliegender, auf Standard-Software zu setzen anstatt auf Individual-Software.
Des Weiteren herrscht scheinbar die weit verbreitete Meinung, dass Individual-Software zunehmend von Standard-Software verdrängt wird. Diesem Thema hat sich auch eine Studie (siehe Artikel in der Computerwoche)1) der Analysten von Forrester angenommen, in der sie mit zehn Software-Mythen aufräumen. Sie schreiben zu „Mythos 3“ mit der Überschrift „Individual-Entwicklung ist tot – lang leben Standard-Softwarepakete“ Folgendes: »Anwenderunternehmen geben für individuelle Eigenentwicklungen genauso viel Geld aus wie für Standard-Software, hat die Forrester-Umfrage gezeigt. Demnach liegt der Anteil von Paketen wie SAPs Business Suite am gesamten Softwarebudget der Unternehmen im Durchschnitt bei 25,8 Prozent. Eigenentwicklungen kommen mit 25,6 Prozent auf fast den gleichen Anteil. Es sind vor allem funktionale Gründe, warum Individual-Software nach wie vor stark gefragt ist. Oftmals würden die Standardpakete nicht die von den Anwendern geforderten Funktionen bieten. Außerdem versprechen sich Unternehmen der Forrester-Studie zufolge von Eigenentwicklungen geringere Kosten und weniger Komplexität. Die Analysten empfehlen den IT-Verantwortlichen denn auch, sich keine große Software-Suite anzuschaffen, wenn im Grunde nur ein kleiner Ausschnitt der darin gebotenen Funktionen gebraucht würde. Individual-Software könne durchaus eine Alternative sein. … «
Was ist der Unterschied zwischen Standard- und Individual-Software
Standard-Software wird von Software-Anbietern für einen großen Kundenkreis entwickelt und enthält demzufolge sehr viele Funktionen, die man wahrscheinlich nie benötigt, die einem aber das Gefühl vermitteln, gut auf zukünftige Anforderungen vorbereitet zu sein. Bei Individual-Software wird, wie der Name schon sagt, eine Software speziell für die Anforderungen nur eines Kunden entwickelt. Darin können bereits bewährte betriebliche Prozesse flexibel abgebildet werden und es ist möglich – anders als bei Standard-Software – vom Standard abzuweichen. Weicht man dagegen bei einer Standard-Software durch unternehmensbedingte Anforderungen vom Standard ab, wird eine Migration auf eine neue Version fast unmöglich. Inwieweit Standard-Software anpassbar ist, hängt vom Anbieter ab. Es ist in gewissem Umfang in Form eines IT-Projekts gegen Aufpreis jedoch meist möglich.
Wie kam es eigentlich zur Standard-Software?
Die Idee der Standard-Software geht hauptsächlich auf SAP zurück. Die vier Firmengründer hatten zuvor bei IBM gearbeitet und sehr viele Individual-Software Projekte umgesetzt. Irgendwann kamen sie auf den Gedanken, dass es möglich sein müsste, die vielen zu bearbeitenden Projekte auf Basis einer Standard-Software umzusetzen. Da in den 1970er Jahren Computer, insbesondere Großrechner, noch sehr teuer waren, wurde die erste Version einer Software für Finanzbuchhaltung (SAP R/1) im Rechenzentrum des damaligen Kunden entwickelt. Als Standard-Software realisiert, konnte sie im Anschluss auch weiteren Kunden angeboten werden.
Wird bei Individual-Software wirklich alles selbst implementiert?
Viele Kunden gehen davon aus, dass bei Individual-Software alles selbst implementiert werden muss, und diese Form von Software daher teurer ist als Standard-Software. Das ist jedoch meist nicht der Fall. Wir von exensio benutzen beispielsweise sehr viele Open Source-Frameworks als Basis für die Implementierung, oder wir setzen ausschließlich auf Open Source. So haben wir beispielsweise ein Digital Asset Management (DAM)-System für einen unserer Pharma-Kunden ausschließlich mit einer Open Source-Lösung umgesetzt. In einem anderen Projekt, in dem wir ein Product Information Management (PIM)-System implementiert haben, mussten wir dagegen alles selbst programmieren, da die zu digitalisierenden Prozesse zu individuell waren. Hier haben wir dann auch Open Source-Frameworks benutzt, beispielsweise eine Suchmaschine oder eine Business Process Engine, so dass wir nicht alles selbst implementieren mussten.
Warum implementieren wir von exensio eigentlich nur Individual-Software-Lösungen?
Ursprünglich kommen wir auch aus der Standard-Software-Ecke. Am Anfang haben wir sehr viele Portal-Projekte mit dem WebLogic-Portal realisiert, das später aufgrund der Übernahme der Firma BEA sogar von Oracle übernommen wurde. Dabei mussten wir feststellen, dass wir immer sehr viel Zeit und damit auch Kosten für die Umsetzung individueller Kundenwünsche benötigt haben, um die Standard-Software „umzuprogrammieren“. Daraus ist bei uns der Wunsch entstanden, mehr Projekte individuell, auf Basis von wohl erprobten Open Source-Frameworks zu realisieren. Rechnet man in einem Software-Projekt sämtliche Kosten mit ein, so können wir aus unserer Erfahrung sagen, dass individuelle Software-Lösungen nicht teurer sein müssen.
Warum fällt die Wahl dennoch oft auf Standard-Software?
Hier die zwei häufigsten Kundenfragen, und warum es meist einfacher ist, Standard-Software zu verkaufen:
- Können Sie uns eine Demo geben und zeigen, was Ihre Software kann?
In Verkaufsgesprächen hören wir des Öfteren den Wunsch, gleich eine Lösung sehen zu wollen. Das ist bei Individual-Software natürlich nicht möglich, da diese für die speziellen Geschäftsprozesse eines Kunden jeweils erst entwickelt werden muss. Leider kommt es gerade bei Großkonzernen oft vor, dass die Mitarbeiter sich schwertun, die eigenen Prozesse zu beschreiben. Hier ist die Hoffnung immer groß, dass die Einführung einer Standard-Software-Lösung alle gewünschten Anforderungen per se erfüllt. - Was kostet Ihre Software-Lösung?
Auch diese Frage ist nicht einfach zu beantworten. Um für eine detaillierte Spezifikation zu bestimmten Anforderungen ein Angebot zu erstellen, muss man erst wissen, was der Kunde will. Bei Standard-Software kann hier einfach ein Preis genannt werden. Dies ist – etwa bei Großkunden – immer dann von Vorteil, wenn zum Jahresende noch Budget zum Ausgeben übrig ist. Hier hat Individual-Software natürlich den großen Nachteil, dass die Erstellung eines Lastenhefts kurzfristig nicht möglich ist. Die Kosten einer Lösung hängen von verschiedenen Faktoren ab.
Selbst bei individuellen Software-Lösungen wird nicht alles von Grund auf selbst entwickelt. So greifen wir von exensio – wie schon erwähnt – auch gerne auf Open-Source-Projekte zurück, um Basis-Anforderungen abzudecken. Ein weiterer Punkt, der die Kosten reduziert, ist die genaue Formulierung der Spezifikation. Wichtig ist außerdem, ob sich Auftraggeber und Dienstleister gegenseitig vertrauen. So lässt sich früh genug klären, ob eine Implementierung den Kundenwünschen entspricht. Wir kalkulieren in unseren Projekten gerne mit einer Mischung aus Festpreis und einer daran anschließenden agilen Umsetzung, um beide Welten intelligent miteinander zu verbinden. So erhält der Kunde über den Festpreis Investitionssicherheit, und über das agile Vorgehen können wir zeitnah die Erfüllung der Kundenanforderungen sicherstellen.
Wie kommt man zu einer Entscheidung?
Als Ausgangspunkt für die Entscheidungsfindung wird ein Lastenheft bzw. Requirements-(Anforderungs)-Dokument benötigt. Bei Standard-Software gehen die meisten Unternehmen davon aus, dass das Lastenheft nicht so genau verfasst sein muss, da man ja einen Industriestandard kauft, bei dem man nicht so weit denken muss wie bei einer Individual-Software. Die entscheidende Frage dabei ist, ob ein Unternehmen dann die Standard-Software an die eigenen, bereits etablierten Geschäftsprozesse anpassen kann oder die eigenen Prozesse so ändert, dass diese zur Standard-Software passen. Bei Prozessen wie Buchführung bzw. Personalwesen mag das funktionieren. Bei Prozessen, die Wettbewerbsvorteile verschaffen sollen, sieht das jedoch anders aus. Da ist es viel schwieriger.
Kann man mit Standard-Software Standardprozesse wirklich einfach abbilden?
Man stelle sich folgendes Beispiel vor: Ein Unternehmen kauft sich ein HR-Self-Service-Portal als Standard-Lösung ein. Einfache Prozesse wie Kontoänderungen, die die Mitarbeiter selbst durchführen, sind als Standard einfach zu übernehmen. Aber wie sieht es bei einem Mitarbeiter-Aktien-Sparprogramm aus? Das wird mit hoher Wahrscheinlichkeit nur durch eine Anpassung des Standards erfolgen können. Genau das habe ich einmal bei einem großen Automobilkonzern erlebt: Eine Individuallösung sollte durch eine Standardlösung ersetzt werden. Letztendlich konnten nur etwa zehn Prozent durch die Standard-Software-Lösung abgedeckt werden, die restlichen 90 Prozent mussten implementiert werden. Die erhofften Einsparungen ließen sich so nicht realisieren.
Lücken innerhalb von Standard-Software schließen
Standard-Software kann spezielle Anforderungen wichtiger Kernprozesse meist nicht direkt ausführen. In diesen Fällen bietet es sich an, die Lücken zur Standard-Software in Warenwirtschaft, Finanzbuchhaltung oder Personalwesen mithilfe von selbstentwickelter Individual-Software zu schließen. Hierfür würde sich zum Beispiel ein Prozessportal eignen. Leider ist die Idee eines Prozessportals durch das Erscheinen von SharePoint untergegangen. Ein als Individual-Software erstelltes Prozessportal würde in Form einer Meta-Ebene beide Welten verbinden und fehlende Funktionen der Standard-Software bereitstellen können. Mit SharePoint ist dies leider nicht möglich, da es sich hierbei auch um eine Standard-Software handelt, die laut Hersteller nicht modifiziert werden soll, um eine Migration auf neue Versionen zu ermöglichen.
Wie führt man ein Individual-Software-Projekt erfolgreich durch?
Viele Unternehmen schrecken vor allem vor einem individuellen Software-Projekt zurück, da sie befürchten zu scheitern. Das kann jedoch auch bei Standard-Software-Lösungen passieren. Im Jahr 2018 ging beispielweise durch die Presse2), dass Lidl sein auf 500-Millionen Euro geschätztes SAP-Projekt „Elwis“ beendet und lieber wieder die bisher verwendete hauseigene Software weiterentwickelt. Was sind nun aber die Gründe, die immer wieder zu Misserfolgen von individuellen Software-Projekten führen? Eigentlich hat sich auch über die letzten Jahre nichts an den Ursachen geändert. Es sind vor allem unvollständige Anforderungen, fehlende Anwenderbeteiligung und “moving targets“, sprich sich ständig ändernde Anforderungen. Das heißt, es findet kein „feature freeze“ statt. Ein weiterer wichtiger Grund ist aus unserer Sicht außerdem das Vertrauensverhältnis zwischen Kunde und Dienstleister. Folgende Punkte sind somit ausschlaggebend für ein erfolgreiches Individual-Software-Projekt:
- Eine detaillierte und vor allem vollständige Spezifikation ist äußerst wichtig. Diese kann sowohl vom Kunden, als auch vom Dienstleister ausgearbeitet werden. Innerhalb der Beschreibung der User Cases benutzen wir bei exensio in der Konzeptphase auch gerne Wireframes3). Dadurch wird das Konzept für den Kunden besser verständlich. Eine einfache Listung von Anforderungen hingegen lässt so viel Interpretationsspielraum, dass ein Individual-Software-Projekt zum Scheitern verurteilt ist.
- Auch ist es auf Kundenseite wichtig, dass es Mitarbeiter gibt, die sich in der Fachdomäne sehr gut auskennen und bereit sind, dem Dienstleister die Anforderungen geduldig zu erklären. Für den Dienstleister sind die Anforderungen Neuland, und wenn dieser sehr viele Fragen stellt, darf ihm das nicht negativ ausgelegt werden. Jede noch so „dumme“ Frage hilft, die Anforderungen besser zu verstehen und vermeidet unter Umständen hohe Kosten, falls im späteren Projektverlauf auffällt, dass die Anforderung falsch verstanden und entsprechend falsch implementiert wurden.
- Eine gute Projektplanung ist ebenfalls wichtig, und der Kunde muss sich bereit erklären, die Anforderungen irgendwann zu fixieren, also einzufrieren („feature freeze“). Ergänzende Anforderungen, die sich zwangsläufig in einem dynamischen Umfeld ergeben, werden auf weitere Releases verteilt.
- Da Unternehmen – wie eingangs erwähnt – heute hauptsächlich von Betriebswirten und nicht wie früher von Ingenieuren geleitet werden, steht man immer unter dem Zwang, Projektkosten so weit wie möglich zu reduzieren. Das wird von Dienstleistern dann gerne mit Near- bzw. Offshore-Entwicklung kompensiert. Infolgedessen erhält die schon komplexe Software-Entwicklung noch zusätzliche Komplexität wie fremde Sprachen, andere Kultur und Zeitverschiebung. Ein kleines lokales Team, das sehr gut zusammenarbeitet, ist meistens die bessere Wahl, auch wenn es anfangs so aussieht, als wäre es teurer.
Wie bestimmt man die Investitionssumme einer individuellen Software-Lösung?
Zur Ermittlung des Preises einer Individual-Software benötigt man eine Schätzung der Implementierungsaufwände. Für die Schätzung hat sich die Einordnung in leichte, mittlere und schwere Use-Cases, in Funktionspunkte oder in „Lines of Code“ bewährt. In der agilen Entwicklung sind dies beispielsweise „Team Estimation Game“ oder „Planning Poker“. Vor allem die Bezeichnungen in der agilen Entwicklung machen sehr schön deutlich, dass Schätzungen eine nicht triviale Aufgabe darstellen und fehlerhaft sein können. Schwankungen um den Faktor vier sind nicht selten. Damit stellt sich für einen Auftraggeber immer die Frage, wie er bei einer Ausschreibung unterschiedliche Angebotspreise interpretieren soll, ob der billigste Anbieter überhaupt alle Anforderungen verstanden oder der teuerste zu viele Sicherheitsaufschläge eingerechnet hat. Aus diesem Grund ist es wichtig, dass Auftraggeber selbst eine unabhängige Schätzung durchführen oder durch einen externen Dienstleister durchführen lassen, sofern er über dieses Know-how nicht selbst verfügt. Damit ist es dann einfacher möglich, die erhaltenen Angebote zu vergleichen.