Gute Software ist im digitalen Zeitalter die treibende Kraft hinter erfolgreichen Unternehmen. Glücklicherweise bieten Hersteller für fast jeden Anwendungsfall Tools und vorgefertigte Lösungen an.
Wie ist das Kaufen von externer Software generell einzuschätzen?
Das Thema ist vielschichtig. Zum einen liegt es auf der Hand, dass Unternehmen das Rad nicht für jede kleine Anwendung neu erfinden müssen – die Vorstellung, dass jede Firma ihr eigenes Office-Programm entwickelt, zeigt schon, wie absurd dieser Gedanke ist. Auf dem Markt gibt es eine Reihe von erstklassigen Lösungen für alle denkbaren Einsatzzwecke. Aber: Unternehmen, die sich zu stark auf die Produkte von der Stange verlassen, laufen Gefahr, sich in ein Abhängigkeitsverhältnis von den jeweiligen Herstellern zu begeben. Außerdem verpassen sie echte Chancen, die Konkurrenten mit selbstgeschriebener Software vielleicht einfacher ergreifen können – denn der eigene Code ist sehr viel besser an die individuellen Prozesse des Unternehmens angepasst und verspricht mehr Agilität. Die dadurch entstehende Einzigartigkeit kann sehr wohl ein USP auf dem Markt sein und einen Unterschied machen.
Stichwort Abhängigkeit, was können die Konsequenzen von einer zu starken Bindung an den Hersteller sein?
Mit jeder eingekauften Software ist ein Vendor-Lock-In nicht nur möglich, sondern wahrscheinlich. Sobald das System einmal läuft und Unternehmensprozesse mit all ihren Besonderheiten orchestriert, ist ein Wechsel des Herstellers extrem schwierig. Als Beispiel sei eine Software zur Lagerlogistik genannt, auf der die entscheidenden Prozesse beruhen, die Lagerplätze kennt und den Betrieb am Laufen hält. Diese Lösung zu wechseln, gerade wenn auch noch Hardware mit involviert ist, grenzt an eine Mammutaufgabe. In der Folge bleiben viele Unternehmen bei der eingesetzten Software und sind im höchsten Maße abhängig vom jeweiligen Hersteller. Sie müssen also genau abwägen, wann der Kauf einer Software Sinn ergibt und wann nicht. Komponenten für die angesprochene Lagerlogistik sind eventuell bereits als Open-Source zu beziehen und verfügen über offene Standards, was wiederum dafürspricht, den Code nicht selbst komplett neu zu schreiben. Wenn es allerdings darum geht, Individualität in das System zu bringen und es mit den Anforderungen des eigenen Lagers abzustimmen, ist das Programmieren einer eigenen Lösung vermutlich der bessere Weg.
Bei gekaufter Software stellt sich im Kontext der Herstellerabhängigkeit allerdings noch ein größeres Problem. Wenn ein Tool keine Unterstützung mehr erhält und den End-Of-Life-Zyklus erreicht, steht der Nutzer allein auf weiter Flur. Je nach Einsatzgebiet der Software kann es dabei zu ernsthaftem wirtschaftlichem Schaden kommen.
Wie sind in diesem Kontext die Themen Sicherheit und Wartung bei gekaufter, beziehungsweise selbstgeschriebener Programme zu bewerten?
Unternehmen müssen den Einzelfall bewerten und zwischen den Alternativen abwägen. Beide Seiten haben Vor- und Nachteile: Bei gekaufter Software hat der Nutzer keinen Einfluss auf die enthaltenen Funktionen und die Update-Zyklen. Er muss sich dabei nach den Updates des Herstellers richten. Auch das Schließen von Sicherheitslücken liegt nicht in der Hand des Unternehmens. Mehr Kontrolle hat es natürlich über den eigenen Code, was gleichbedeutend mit der Verantwortung und der damit verbundenen Arbeit ist. Wer Herr über seine eigene Software ist, kann selbst bestimmen, wann er welche Anpassungen daran vornimmt. Natürlich braucht jedes Tool immer ein gewisses Maß an Wartung, aber größere Updates oder fachliche Änderungen kann das Unternehmen selbst auf den Zeitpunkt legen, den es dafür als am besten geeignet hält.
Welche Vorteile haben selbst programmierte Lösungen auf der technischen Ebene?
Es gibt auf dem Markt großartige Lösungen, die genau das machen, was sie sollen. Es ist allerdings auch ein Fakt, dass Endnutzer nicht hundertprozentig wissen können, welche Komponenten und Funktionen sich in der gekauften Software befinden. Welche Abhängigkeiten sie beispielsweise verwendet oder welche Daten sie wirklich sammelt und weiterleitet. Das ist der Nachteil davon, wenn der Sourcecode unbekannt ist, auch wenn sich viele Hersteller um Transparenz bemühen und Software nicht pauschal verurteilt werden sollte. Dennoch bleibt bei zugekauften Lösungen ein Restrisiko, das Unternehmen bei ihrer Entscheidungsfindung miteinbeziehen sollten.
Wie steht es bei der Frage eigene Software versus einkaufen um die Kosten?
Pauschal lässt sich diese Frage nur schwer beantworten. Die eigene Software kann anfänglich sicherlich mit höheren Kosten verbunden sein – gekaufte Lösungen, besonders bei Abo-Modellen, können günstigere Einstiegspreise aufweisen. Daraus ist allerdings keine Regel abzuleiten, vielmehr kommt es auf dem Einzelfall an. Generell gilt: Wenn eine externe Software die eigenen Ansprüche abdeckt, spricht nichts gegen einen Zukauf, wenn sich Unternehmen über die Folgen im Klaren sind. Unter dem Strich steht daher die Frage, ob in die eigene Software finanziell und personell investiert werden soll – und damit auch in mehr Flexibilität, Kontrolle und Freiheit. Die Entscheidung muss jedes Unternehmen selbst fällen.
Was sollten Unternehmen beachten, wenn sie mehrere Lösungen von verschiedenen Herstellern im Einsatz haben? Ist eine solche Strategie ratsam?
Die Hersteller von Software-Lösungen haben verstanden, dass Standards und offene Schnittstellen ein gutes Verkaufsargument sind. Das sollte aber kein Freifahrtschein für eine arglose Einkaufstour für Unternehmen sein, die Kompatibilität der einzelnen Tools muss unbedingt gegeben sein. Ein problemloses Zusammenspiel ist nicht naturgegeben. Das gilt selbstverständlich auch für die Entwicklung von eigener Software. Auch hier ist eine offene Umgebung ratsam, um Silos zu vermeiden. Egal für welche Strategie sich das Unternehmen letztendlich entscheidet, es gilt einen Architektur-Flickenteppich zu verhindern.
Wie verhindern Unternehmen, dass die selbstgeschriebenen Programme sich zu Legacy-Software entwickeln?
Wer seine eigene Software entwickelt hat, schließt dieses Projekt nicht ab. Es ist keine Option, eine Software in Betrieb zu nehmen und danach einfach liegen zu lassen oder sich nur dann um sie zu kümmern, wenn etwas nicht mehr funktioniert. Selbstgeschriebene Lösungen sind ein andauerndes Projekt, das die zuständigen Mitarbeiter regelmäßig auf Schwachstellen prüfen müssen. Dafür gibt es viele Hilfsmittel, etwa Dependency Track, das verwendete Abhängigkeiten im Code auf ihre Aktualität hin analysiert. Auch die Fachseite ist nicht zu vernachlässigen. Deckt die Software die Unternehmensprozesse noch ab oder ist eine Überarbeitung nötig? Hier ist das Feedback der Anwender wichtig. Auch mit Hinblick auf die Kosten ist die Wartung von internen Lösungen wichtig, etwa bei der Frage, ob die Infrastruktur noch zeitgemäß und wirtschaftlich sinnvoll ist.
Um einen Kommentar zu hinterlassen müssen sie Autor sein, oder mit Ihrem LinkedIn Account eingeloggt sein.