Die Vorteile einer Individualsoftware

Das Thema Individualsoftware kann auf den ersten Blick herausfordernd anmuten, wie der saure Apfel, in den man manchmal wohl oder

blog-post-img

Das Thema Individualsoftware kann auf den ersten Blick herausfordernd anmuten, wie der saure Apfel, in den man manchmal wohl oder übel beissen muss. Das dem nicht so sein muss wird in diesem Artikel erklärt.

Was ist eine Individualsoftware?

Keine Angst vor Individualsoftware: Wie der Name besagt ist eine solche Software individuell auf die Bedürfnisse einer Organisation und deren Stakeholder zugeschnitten. Wenn eine Standardsoftware diesen Bedürfnissen nicht entsprechen kann, und auch kein Customizing helfen würde, dann wird eine Individualentwicklung nötig.

Ein solches Projekt verläuft in verschiedenen Phasen. Nehmen wir einmal an, dass wir einen Online Shop einführen möchten. Wir haben bereits unsere Anforderungen erfasst, indem wir mit allen Stakeholdern gesprochen haben, unter anderem mit unserer IT Abteilung und unseren Kunden, den Anwendern. 

Wir haben uns auch bereits Standardlösungen wie Magento angesehen, sind bei unseren Analysen jedoch zu dem Schluss gekommen, dass diese Lösungen unsere Anforderungen nur ungenügend erfüllen können. Wir führen also eine Kosten-Nutzen Rechnung für eine Individualentwicklung durch, und sehen, dass eine solche sich rentieren wird.

Wenn wir ein Inhouse-Entwicklerteam zur Hand haben, dann würden wir dieses mit dem Entwurf, der Planung und letztendlich der Implementierung beauftragen. Die Entwicklung kann auch extern, mit einem kompetenten Entwicklungspartner stattfinden. Gegebenenfalls erhält das Team Unterstützung von einem erfahrenen IT Berater, beispielsweise eines Softwarearchitekten, der mit Ihrer Branche bereits Erfahrungen gesammelt hat. Am Ende der Entwurfsphase möchten wir eine solide Architektur sehen, und wissen, welche Technologien und Frameworks ihren Einsatz finden werden.

Und um die Risiken der Entwicklung zu minimieren findet diese agil, beispielsweise nach den Scrum Methodiken, statt. Dies erlaubt das frühstmögliche Einbinden der Stakeholder. Anhand deren Feedback können dann Kurskorrekturen vorgenommen werden. So werden böse Überraschungen am Ende der Entwicklungsphase effektiv vermieden.

Nach erfolgter Entwicklung finden Schulungen und eine Pilotphase mit einer beschränkten Anwendergruppe statt, welche später als Replikatoren die restlichen Anwender schulen kann.

Welche Unterschiede gibt es zwischen einer Standardsoftware und einer Individualsoftware?

Die Standard-Software-Definition

Eine Standardsoftware wird “von der Stange” gekauft. Um bei diesem Vergleich  zu bleiben: Die Standardsoftware ist wie das T-Shirt, welches Sie im Warenhaus kaufen, und zwar in einer festen Konfektionsgrösse. Hier ist höchstens ein beschränktes Customizing möglich, beispielsweise mit einem Bügelaufkleber oder Textilfarbstiften.

Die individuelle Software-Definition

Eine Individualsoftware ist hingegen der Massanzug, den man bei einem guten Schneider in Auftrag gibt. Hier findet im Vorfeld eine Analyse statt; man bespricht also welche Stoffe man sich wünscht und der Schneider nimmt Mass. Anschliessend findet die Implementierung statt; sprich der Schneider schneidert. Am Ende findet eine Abnahme, sprich Anprobe statt, und der Schneider hat noch die Gelegenheit, kleine Änderungen vorzunehmen. Die Erwartung wäre hier ein qualitativ hochwertiges Produkt, welches die eigenen Anforderungen vollauf erfüllt.

Natürlich ist der Massanzug teurer als der Anzug von der Stange. Aber dafür passt er auch!

Zudem: Anders als bei Kleidungsstücken kann man in der heutigen Softwareentwicklung agil arbeiten. Dies bedeutet, dass Änderungswünsche und sich ändernde Situationen bereits während der Entwicklung der Individualsoftware berücksichtigt werden können. Dies verringert das Risiko, dass etwas falsches entwickelt wird, immens.

Ausserdem kann Individualsoftware einem Unternehmen gegenüber seiner Konkurrenz einen gewissen Marktvorteil verschaffen. Man denke hier an einen Onlineschop, der genau auf die Bedürfnisse der B2B Kunden einer Branche zugeschnitten ist, und durch entsprechende Funktionen gewisse Mehrwerte bietet. Zum Beispiel könnte der Onlineshop eines Fliesengrosshandels unter anderem einen Rechner anbieten, welcher die Menge der benötigten Fliesen nach Angabe der Bodenfläche berechnet. Kein Hexenwerk, jedoch zeitersparend für den Kunden.

individualsoftware beratung

Beispiele einer Standardsoftware

Wir haben alle schon Microsoft Office verwendet. Dies ist eine typische Standardsoftware, die von Microsoft entwickelt wird und an Millionen von Kunden vertrieben wird. Hier ist nicht viel Customising möglich; die IT implementiert ein paar Richtlinien und der Anwender aktiviert die Icons im UI, deren Funktionen er am häufigsten benötigt. Ich könnte wetten, dass mein Microsoft Word nicht viel anders aussieht als das Ihrige! 

Am anderen Ende des Spektrums haben wir als weiteres Beispiel ein Waldorfer Produkt der Firma SAP. Wenn man ein SAP ERP System einführen möchte, dann ist das Customizing und die Konfiguration vom Aufwand her so immens, dass man hierfür ein mehr-monatiges, ja mehr-jähriges Projekt, zudem mit mehreren Beratern, planen darf. Trotzdem ist SAP eine Standardsoftware und keine Individualentwicklung, da am Programmcode selbst nichts verändert wird.

Beispiele einer Individualsoftware

Eines unserer Kundenprojekte für die Berner Transgourmet Holding AG bietet sich als sehr gutes Beispiel einer Individualsoftware an. Hier wurde eine neue Kassenapplikation entwickelt, um die Wartungskosten des Kunden zu reduzieren und seine Business-Agilität zu erhöhen. Das alte System basierte noch auf COBOL und Unix, und sollte durch eine moderne Applikation ersetzt werden.

In diesem Projekt waren wir verantwortlich für die Projektanalyse, den Entwurf der Software, inklusive der Definition der Architektur und der Auswahl der zu verwendenden Frameworks, sowie der Implementierung selbst. Die Wahl viel auf eine auf Eclipse RCP und Java EE basierende Applikation, welche auf einem JBoss Anwendungsserver läuft. 

Auch die mobilen Anwendungen der Windows Mobile Geröte, welche unter anderem in der Lagerverwaltung und in den Märkten genutzt werden, wurde erweitert und modernisiert. Realisiert und abgeschlossen wurde das Projekt in einer Zeitspanne von 19 Monaten.

Ein weiteres Projekt für denselben Kunden bietet ebenfalls einen guten Blick auf das Thema Individualentwicklung. Hier war es unsere Aufgabe, die ERP Systeme zweier zusammengeführter Abteilungen zu konsolidieren. 

Im Endeffekt wurde das bestehende Java EE ERP System, welches auf Eclipse RCP basierte und auf einem JBoss Anwendungsserver lief, wurde mittels Wildfly AS, Apache Camel und Smooks um eine Integrationsplattform erweitert. So können die Schnittstellen zwischen dem Unternehmen, seinen Kunden und seinen Lieferanten einfach implementiert und gepflegt werden.

Das Projekt, welches komplett agil nach Scrum durchgeführt wurde, konnte nach 2 Jahren erfolgreich abgeschlossen werden. Zwei seiner Highlights waren die vollintegrierte Auftragserfassung und der auf React und REST basierende Online-Shop. Auch an mobile Applikationen für die Kunden und Fahrer in der Logistik wurde gedacht. Diese Apps wurden in Java für Android implementiert.

An diesen beiden Projekten kann man gut sehen, dass Individualentwicklungen viele Faktoren mit einbeziehen, die von einer Standardsoftware of gar nicht alle berücksichtigt werden können.

Die Vor- und Nachteile einer Standardsoftware

Die Anschaffung

Eine Standardsoftware kann in ihrer Anschaffung günstig sein, da die Entwicklungskosten des Herstellers auf einen grossen Kundenstamm verteilt werden. Je nach Natur der Software kann die Inbetriebnahme auch relativ schnell vonstatten gehen. Ausführlichen Tests und eine Pilotphase sollte man natürlich vorher durchführen.

Im Betrieb

Hier ist die Frage, ob die eigenen Anforderungen während des Betriebs erfüllt werden Man muss hier den Nachteil der Folgekosten, die während des Betriebs entstehen könnten, im Auge behalten, besonders wenn die eigenen Anforderungen nicht hundertprozentig abgedeckt werden können.

Die Wartung

Ein weiterer Vorteil von Standardsoftware  liegt in deren Wartung und deren Weiterentwicklung. Um das Gros dieser zwei Punkte kümmert sich nämlich der Hersteller. Dieser stellt Updates zu verfügung, welche die eigene IT dann innerhalb der Organisation verteilt.

Hier liegt dann aber auch gleichzeitig ein gravierender Nachteil: Man muss auf den Hersteller warten, bis etwaige Fehler und Sicherheitsrisiken behoben wurden. Schlimmstenfalls bedeutet dies bei einem kritischen System, dass dieses für diese Zeitspanne ausfällt!

Die Vor- und Nachteile einer Individualsoftware

Die Entwicklung

Eine Individualsoftware muss auf eigene Faust mit einem internen oder mit einem guten externen Entwicklungsteam entwickelt werden. Die Verantwortung der Entwicklung liegt hier bei einem selbst, statt bei einem Hersteller von Standardsoftware.

Ein Softwareentwicklungsprojekt, selbst ein agiles, sollte nicht unterschätzt werden. Hier ist eine gute Planung nötig und das Entwicklungsteam sollte das für das Projekt nötige Wissen besitzen. Ein gewisser Aufwand an Zeit und Ressourcen wird hier unumgänglich sein. Wenn man sich dessen bewusst ist, und sich auch den Vorteilen bewusst ist, dann ist man in der Lage, beide mit einer Kosten-Nutzen Analyse gegeneinander abzuwägen.

Auch das Thema Testen darf nicht vernachlässigt werden. Hier wäre es ratsam, nicht das eigene Entwicklungsteam die abschliessenden Tests durchführen zu lassen, sondern externe Softwaretester, welche eine externe, unvoreingenommene Perspektive mitbringen.

Sehr wichtig ist die Tatsache, dass nicht nur die Entwicklung, sondern auch die Weiterentwicklung in der eigenen Hand liegt. Denn jede Applikation “lebt”, und während des Lebenszyklus muss sie fortlaufend angepasst werden, um sich ändernde Umstände zu berücksichtigen. 

Hier wären beispielsweise sich verändernde periphere Systeme, die Weiterentwicklung der der Applikation zugrundeliegenden Technologien und schlichtweg sich ändernde Anforderungen zu berücksichtigen. Hervorzuheben wäre auch die Entdeckung von Sicherheitsrisiken, die dann aus der Welt geschafft werden müssen. Natürlich verlangt auch die Weiterentwicklung der Individualsoftware nach Ressourcen, die eingeplant werden möchten. 

Im Betrieb

Im Betrieb Ihrer Individualsoftware offenbaren sich dann deren Vorteile; Sie ernten sozusagen die Früchte der vorangegangenen Entwicklungsarbeit. Wurde diese korrekt durchgeführt, dann dürfen Sie eine Applikation erwarten, welche Ihre Anforderungen nahezu komplett erfüllt. 

Eine Individualsoftware kann genau an Ihre bereits vorhandene IT Landschaft angepasst werden. Bereits vorhandene Applikationen und Systeme können mit eigens entwickelten Schnittstellen angebunden werden.

ndividualsoftware unternehmen

Wann sollte man eine Individualsoftware einsetzen?

Dies hängt sehr von den Arbeitsweisen Ihrer Organisation, Ihrer vorhandenen  IT Landschaft, und den sonstigen Anforderungen Ihrer Stakeholder ab. Die Frage wird sein, ob die auf dem momentanen Markt verfügbare Standardsoftware diesen Faktoren wird Rechenschaft tragen können.

Die Arbeitsweisen Ihrer Organisation

Ihre Anwender müssen möglichst ohne grössere Umschulung mit der neuen Software arbeiten können. Die eigenen Business Workflows so hinzubiegen, dass man doch noch eine günstige Standardsoftware einsetzen kann, ist keine gute Idee. Man kann auf diesem Weg weder den Anwendern, seinen Kunden, noch allen anderen Stakeholdern gerecht werden. Ärger wäre hier vorprogrammiert. Deshalb ist der Einsatz eines Individualsoftware ratsam, wenn Ihre Organisation Arbeitsweisen einsetzt, welche in einer Standardsoftware nur schlecht abgebildet werden können.

Ihre IT Landschaft

Mit welchen Systemen muss Ihre neue Software integriert werden? Vielleicht betreiben Sie ein Kernsystem, welches selbst so individuell ist, dass keine Standardsoftware auf sinnvolle Weise angebunden werden kann. Natürlich kann man in einem solchen Fall überlegen, statt einer kompletten Applikation eine Middleware individuell zu entwickeln, an der dann eine Standardsoftware angebunden werden kann.

Auch die Endgeräte, welche in Ihrer Organisation oder Ihren Kunden Ihren Einsatz finden, müssen berücksichtigt werden. Wenn im Lager noch mobile Windows CE Geräte mit Barcode Ihren Einsatz haben, dann muss entschieden werden, ob eine eigens entwickelte App vielleicht günstiger wäre als die Neuanschaffung der Geräte.

Sonstig Anforderungen

Besonders das Thema Sicherheit bringt eigene Anforderungen mit sich. Eine Standardsoftware wird für ein möglichst breites Spektrum an Kunden entwickelt, und nicht alle haben so hohe Sicherheitsanforderungen wie Behörden oder der Bankensektor. Auch hier wurden beispielsweise mobile Betriebssysteme als teilweise Individualsoftware entwickelt, um den Anfoderungen einer sicheren digitalen Kommunikation gerecht zu werden.

Wie kann man den maximalen Nuzen von einer Individualsoftware ziehen?

Eine Individualsoftware kann ihren maximalen Nutzen nur entfalten, wenn Sie mit den Anforderungen im Blick entworfen wurde, die richtigen Technologien gewählt wurden und bei der Entwicklung Agilität und Qualität berücksichtigt wurden. Erst dann werden nämlich die an sie gestellten Anforderungen erfüllt und die Erfüllung individueller Anforderungen ist ja auch erst der Grund dafür, dass man sich für eine Individualsoftware entscheidet.

Aber auch der Betrieb muss auf die neue Software eingestellt sein, um diese richtig nutzen zu können. Hier werden Schulungen für die IT und die Anwender notwendig sein. Letztendlich ist es wichtig, dass Ihre Individualsoftware nicht in der Zeit stehen bleibt, sondern weiterentwickelt und gegebenenfalls modernisiert wird. Nur so kann sichergestellt werden, dass ihr Nutzen möglichst lange währt.

Welche Risiken gibt es bei der Entwicklung einer Individualsoftware?

Risiken sind da um minimiert zu werden. Hierfür müssen sie einem jedoch erst einmal bekannt sein. Wie bei jeder Softwareentwicklung gibt es auch bei der von Individualsoftware bestimmte Risiken, die man beachten sollte.

Gute Vorbereitung ist (fast) alles

Gute Planung und ein guter Software Entwurf sind das A und O eines erfolgreichen Softwareprojektes. Werden diese beiden Punkte vernachlässigt, dann riskieren Sie, dass die Kosten des Projekts das Budget übersteigen. Die nötigen Ressourcen wurden dann nicht richtig eingeplant und das Software Modell wurde nicht an die Situation angepasst. Gegebenenfalls wandert dann einiges, was bereits entwickelt wurde, in den Papierkorb und man muss mit einem neuen Software Modell praktisch von vorne anfangen. Dies möchte man auf jeden Fall vermeiden!

Planen Sie bei der Erstellung Ihres Projektbudgets trotzdem einen Puffer mit ein, um für Eventualitäten gerüstet zu sein. Wenn ein internes Team mit der Entwicklung beauftragt wird, dann muss sichergestellt werden, dass es das Wissen und die Werkzeuge besitzt, um die Entwicklung zu stemmen. Hier helfen Schulungen und das mit ins Boot holen 

Greifen Sie auf die Erfahrungen eines guten Softwarearchitekten zuzrück, um sicherzustellen, dass auch das richtige Softwaremodell gewählt wird.

“Das ist doch gar nicht das, was wir wollten”

Man kennt dies von klassischen Wasserfall-Softwareprojekten: Die Entwickler erfahren die Anforderungen und tauchen für ein paar Monate mit Ihrem Entwicklungsuboot ab. Nach erfolgter Entwicklung wird man dann mit einem Produkt konfrontiert, welches den Anforderungen der Organisation nicht genüge wird. Nach Beginn der Entwicklung wurden nämlich einige Punkte der Anforderungen vom Management “präzisiert”, während andere Punkte sich wegen der neuen Marktlage oder einem neuen IT System komplett geändert haben. Wie kann man hier proaktiv sein?

Wir haben die Lösung bereits angesprochen: Agile, also iterative Softwareentwicklung. Die Stakeholder werden in die iterative Entwicklung eingebunden, erfahren in Etappen wie das sich entwickelnde Produkt aussieht und können jedes Mal ihr Feedback geben, welches das agile Entwicklungsteam in die weitere Entwicklung mit einfliessen lässt. So gibt es am Ende keine Überrraschungen, sondern eine Applikation, die sprichwörtlich alle glücklich macht.

Sicherheit geht vor

Ihre neue Individualsoftware soll nicht nur funktionieren, sie muss auch sicher sein. Ein schwerwiegendes Risiko ist es, den Aspekt der Sicherheit zu vernachlässigen. Dieser fängt mit der Wahl einer sicheren Architektur, sowie eines sicheren Frameworks, an und endet mit den richtigen Tests und der nötigen Aktualisierung im Betrieb.

Rechtliches

Dieser Punkt ist wichtig, wenn man ein externes Entwicklungsteam mit der Implementierung Ihrer Individualsoftware vertraglich verpflichtet. Stellen Sie erstens sicher, dass Ihr Vertrag sicherstellt, dass die Urheberrechte an der entwickelten Software Ihrer Organisation zugeschrieben werden, und zweitens dass der gesamte Code, sowie alle restlichen Entwicklungsressourcen der Applikation, in Ihrem Besitz sein wird. Denn wenn Sie die Wartung Ihrer Software später einmal intern oder mit einem anderen Softwareentwickler durchführen möchten, dann würden Sie ohne den Code schlechte Karten haben.

Wie können wir Sie in dem Thema Individualsoftware unterstützen?

Bei der Analyse: Benötigen Sie überhaupt eine Individualsoftware?

Wir sehen uns gemeinsam mit Ihnen Ihre Business Workflows an und bringen alle Stakeholder an einen Tisch, um alle Anforderungen genau zu erfassen. Können diese von einer Standardsoftware erfüllt werden? Wäre eine solche auch in der Zukunft sinnvoll? Wie würde das Zusammenspiel mit Ihrer restlichen IT Landschaft sowie deren Appplikationen aussehen? Dies sind alles Fragen, die wir mit Ihnen klären werden, damit Sie am Ende eine effektive und dokumentierte Entscheidungshilfe zur Hand haben.

Bei der Planung: Wie kann eine Individualsoftware passgenau für Ihre Bedürfnisse entwickelt werden?

Mit unserer Erfahrung als Softwarearchitekten können wir Sie und Ihr Team in dem Entwurf Ihrer neuen Software tatkräftig unterstützen. Denn eine gute Vorbereitung ist das A und O, wenn man in der Zukunft schwierige Situationen in der Entwicklung und im Betrieb vermeiden möchte.

Und mit unserer Erfahrung in der Leitung erfolgreicher IT Grossprojekte können Sie sicher sein, dass die Planung und die Ausführung Ihres Projektes in sicheren Händen ist.

In der Umsetzung: Wir helfen Ihnen, Ihre Individualsoftware agil zu entwickeln

Wir scheuen nicht davor, auch an der Entwicklungsarbeit teilzuhaben. Dank unserer jahrelangen Erfahrung in der Entwicklung von Enterprise, B2B und B2C Lösungen, in diversen Branchen, sind wir dazu auch bestens in der Lage. Wir entwickeln mit agilen Methoden und sind auch in der Lage agile Entwicklungsteams zu organisieren. Wie bereits erwähnt können mit diesen böse Überraschungen minimiert und sich ändernde Situationen berücksichtigt werden.

Individuelle Softwareberatung bei 72.Services

Die Argumente für Individualsoftware sind stichhaltig, aber letztendlich liegt es an Ihnen oder Ihrem Unternehmen, die Vor- und Nachteile der Wahl einer Individualsoftware gegenüber einer Standardsoftware abzuwägen.

Kontaktieren Sie uns noch heute, um Ihr individuelles Softwareentwicklungsprojekt zu besprechen.