Wann ist es besser, ein Projekt neu entwickeln zu lassen und wann eignet sich eine Standardlösung besser? Was sind die Unterschiede zwischen individueller Software und Standard-Lösungen? Was sind die Vor- und Nachteile? Welche Verantwortungen und Risiken muss man je nach Entscheidung in Kauf nehmen? Genau diese Fragen beantworten wir im folgenden Artikel.
Standard-Software heute
Standard-Software definiert sich als vorgefertigtes Produkt. Im Gegensatz dazu steht die Individual-Software (auch Custom- oder kundenspezifische Applikationen genannt), welche speziell für einen Kunden entwickelt wird.
Die modernen Formen von Standard-Software im Web sind heutzutage Services: webbasierte Dienstleistungen, die Sie entweder nach Nutzung oder in Form eines Abonnements bezahlen (als Beispiel hierzu: auctionhub.io). Eine weitere Form – ein statisches Standard-Produkt, das einmalig gekauft wird – werden wir hier nicht weiter thematisieren, da es aus der Zeit der Desktop-Software kommt und heute veraltet ist.
Haben Sie eine neue Produktidee oder wollen selbst eine innovative Dienstleistungsapplikation anbieten – was bei vielen unserer Kunden der Fall ist (vgl. Manor oder Xing) – benötigen Sie eine Individual-Software.
Individuelle Software ist passgenau
Sie müssen kein massgeschneidertes Hemd besitzen, um sich vorstellen zu können, dass ein solches nicht nur besser aussieht, sondern auch perfekt sitzt und daher angenehm zu tragen ist. Ähnlich verhält es sich mit Individual-Software. Wenn wir für Sie eine individuelle Applikation entwickeln, können wir ihre Bedürfnisse genau berücksichtigen, Ihren Workflow abbilden und Ihnen einen optimalen Bedienungskomfort bieten. Im Gegensatz zum einfachen Hemden-Kauf ab Stange, ist es bei Software schwieriger, einen Service zu finden, der genau Ihren Workflow abdeckt. Sie können zwar fast jede Aufgabe mit hilfe unterschiedlicher Tools irgendwie lösen. Wenn sie dadurch jedoch diverse Arbeitsschritte in verschiedenen Tools bewerkstelligen müssen, verringert sich der Bedienungskomfort und schlussendlich auch ihre tägliche Effizienz.
Kosten
Ein wesentlicher Unterschied zwischen den beiden Varianten liegt mit dem Hemden-Vergleich auf der Hand: Die Kosten. Während bei der Standardlösung die Entwicklungs- und Unterhaltskosten auf mehrere Kunden aufgeteilt oder mit der Zeit abgeschrieben werden können, bleiben die Entwicklungskosten der Individual-Software bei Ihnen. Individual-Software ist deshalb in der Regel teurer. Die gute Nachricht ist allerdings, dass man das Rad nicht immer neu erfinden muss und Sie sich auch auf gewisse Bausteine (Libraries oder Frameworks) verlassen können. Vergessen Sie bei Ihrer Kalkulation nicht, dass die Verwendung von bestehenden Services über eine gewisse Zeitdauer und/oder bei einer gewissen Nutzung auch viel Kosten verursachen kann.
Eine unangenehme Wahrheit wollen wir Ihnen nicht verschweigen: Kostenschätzungen von individuellen Software-Projekten sind leider oft ungenau. Zahlreiche Studien (vgl. Botchkarev1) beschäftigen sich mit der Präzision von Schätzungsverfahren und zeigen, dass es bei Schätzungen hohe Ungenauigkeiten gibt. Dem zugrunde liegen unter anderem Diskrepanzen im gemeinsamen Verständnis, was den Umfang betrifft. Daher müssen in diesem Fall entweder die Kosten oder der Funktionsumfang adaptiert werden. Agile Prozesse bieten hier einen guten Lösungsansatz und unterstützen uns, Ihr Budget im Griff zu behalten und im Falle von unvorhergesehenen Schwierigkeiten frühzeitig mit Kurskorrekturen zu reagieren.
1 Botchkarev, A. (2014): Estimating the accuracy of the return on investment (ROI) performance evaluations. arXiv preprint arXiv:1404.1990.
Bedienbarkeit
Standard-Software soll möglichst viele Bedürfnisse erfüllen, damit sie breiter eingesetzt werden kann, und kann viele Anwendungsfälle abdecken. Dies hat oft zwei unangenehme Folgen:
Viel Flexibilität: Sie brauchen einen kleinen Teil einer Standardlösung, fühlen sich aber wie ein Pilot in einem Flugzeug-Cockpit, der die Landebeleuchtung einschalten möchte. Wo finden Sie den richtigen Knopf? Ich nenne dies den «Cockpit-Effekt». Auch wenn Sie Funktionen aktivieren und deaktivieren und somit verstecken können, bleibt der Effekt bei der Konfiguration.
Wenig Flexibilität: Sie bräuchten eine Funktionalität, die so noch nicht existiert – beispielsweise eine Schnittstelle zu einem anderen Programm – oder würden die Ansicht gerne auf Ihre Bedürfnisse filtern, was aber so nicht möglich ist.
Sie können für Letzteres über den Support versuchen, eine Funktionserweiterung zu erreichen. Für den Hersteller ist es eine Gratwanderung, wie das Produkt weiterentwickelt wird, respektive um welche Funktionen es erweitert wird: Der Cockpit-Effekt verstärkt sich. Sie sind des Weiteren vom Hersteller abhängig, wie hoch Ihr Anliegen priorisiert wird und riskieren, dass Ihre Bedürfnisse nie im Produkt integriert werden.
Unterhalt
Das Web und somit die Umgebung von webbasierter Software verändert sich rasant schnell. Wie bei einem Privatauto sind auch bei Software regelmässige Wartungen notwendig. Um Ihnen nicht nur heute sondern auch Morgen die notwendige Sicherheit oder auch die nötige Kompatibilität zu allen Web-Browsern zu gewährleisten, sind Updates von Libraries und Frameworks notwendig. Wie beim Auto-Service sollten Sie nicht warten, bis ein Schaden auftritt: Die Behebung ist dann dringend und Sie verlieren im Worst-Case sogar Geld. «Zu lange warten» verursacht ausserdem einen Mehraufwand, da die Lücke zum Aktuellsten grösser wird.
Services werden heute fast ausnahmslos über Abonnemente angeboten, weil dadurch Wartung, Weiterentwicklung und Verbesserung sichergestellt werden. Diese Weiterentwicklung ist bei Standard-Software im Preismodell einkalkuliert.
Bei der Individual-Software obliegt Ihnen diese Pflicht, weil das Produkt Ihnen gehört. Wir raten Ihnen, jährlich mit ca. 10% der initialen Entwicklungskosten für Wartung und Instandhaltung zu rechnen.
Individualisierte Standard-Software
Denkbar ist ebenfalls eine Mischform aus Standard und Individualität: Eine individualisierte Standard-Software ist eine bestehende Applikation, die nach dem Kauf erweitert wird. Die Entwicklung wird dadurch kostengünstiger, wobei Sie unter Umständen auch Lizenzkosten für das Standardprodukt bezahlen müssen. Damit bleiben Nachteile der Standardlösungen wie zum Beispiel der Cockpit-Effekt bestehen. Aus Sicht des Unterhalts ist die resultierende Applikation als Individual-Software zu betrachten, da Sie als Besitzer in der Verantwortung des Unterhalts bleiben. Der individuelle Teil muss je nach dem den Neuerungen der Standard-Software angepasst werden, damit er kompatibel bleibt.
Fazit
Als Webagentur haben wir uns auf kundenspezifische Applikationen spezialisiert. Weiter besitzen wir eigene Services wie Auctionhub oder unsere Datenbank-Backup-Lösung. Auch bieten wir beispielsweise mit der Solidus Shop Software eine Mischform von individualisierter Standardsoftware an. Was für Sie die beste Lösung ist, hängt stark von Ihren Zielen und Wünschen ab. Wir beraten Sie bei der richtigen Wahl gerne und geben Ihnen Tipps mit auf den Weg, damit Sie zu einem optimalen Resultat kommen:
Unsere Tipps für die Entwicklung Ihrer eigenen Software:
Oft entstehen Missverständnisse dann, wenn Annahmen getroffen werden, wie zum Beispiel: «... ich ging davon aus, dass mit A auch B gegeben ist.» Deshalb: Beschreiben Sie möglichst genau, was Sie benötigen. Versuchen Sie potenzielle Annahmen zu vermeiden, insbesondere wenn es für Sie logisch erscheint.
Mit Design Sprints können Sie Bedenken bereits vor dem Entwicklungsstart mit echten Kunden anhand eines Prototyps beseitigen und so Ihr Risiko minimieren.
Erfahrung ist das A und O eines jeden Handwerks. Achten Sie bei der Erstellung von individueller Software auf ähnliche Projekte und lassen Sie sich bereits entwickelte Lösungen zeigen, welche ähnliche Probleme lösen.