Loading AI tools
Aus Wikipedia, der freien Enzyklopädie
Individualsoftware (auch Individuallösung) ist ein Begriff der Informationstechnik, welcher eine individuell, d. h. für einen bestimmten Anwender angefertigte Anwendungssoftware bezeichnet.[1][2] Sie zeichnet sich dadurch aus, dass sie maßgeschneidert gemäß den Anforderungen eines einzelnen Auftraggebers erstellt wird – im Gegensatz zu Standardsoftware, die für eine größere Menge (potenzieller, zum Teil noch unbekannter) Anwender entwickelt wird.
Individualsoftware wird entweder von den Softwareentwicklern eines Unternehmens oder einer Institution, ggf. auch von Privatanwendern, erstellt oder bei einem externen Dienstleister für Softwareentwicklung in Auftrag gegeben. Eine Mischform aus beiden ist, wenn für spezielle Aufgabenstellungen („Spezialisten“) oder zum Ausgleich fehlender Entwicklungskapazitäten externe Dienstleister für das Projekt beauftragt werden. Typische Anwender von Individualsoftware sind Einrichtungen, die spezifische Anforderungen an ihre Software haben, für die keine exakt passenden marktgängigen Softwareprodukte verfügbar sind.
Erstellung und Pflege von Individuallösungen, ggf. auch der Betrieb und andere IT-Dienstleistungen werden oft, durch entsprechende Verträge in ihren Details festgelegt, an externe IT-Unternehmen ausgelagert. Die Auftraggeber sind dann Kunden dieser Dienstleister, bleiben aber Eigentümer der Software. Je nach Umfang der extern vergebenen Aktivitäten kann die Auslagerung rechtlich über einen Werkvertrag (bei weitgehend autonomer externer Erstellung) oder über einen Dienstvertrag abgewickelt werden.
Wenn sich ein Unternehmen für die Erstellung einer Individualsoftware entscheidet, kann dies unterschiedliche, einander nicht ausschließende Gründe haben:
Das einzige begriffsbildende Kriterium für den Begriff „Individualsoftware“ (ISW) ist, dass sie individuell – zum Einsatz bei einem bestimmten Anwender (i. S. von Auftraggeber/Eigentümer) – entwickelt wurde. Im Hinblick auf die Vorgehensweise bei der Softwareentwicklung (Vorgehensmodelle, eingesetzte Entwicklungsmethoden, Werkzeuge und Architekturen) muss sich diese deshalb nicht grundsätzlich und zwangsläufig vom Vorgehen bei Standardsoftware (SSW) unterscheiden. Die in mehr oder weniger vielen Details unterschiedlichen Eigenschaften von SSW und ISW (siehe z. B. in [2]) machen jedoch auch andere Vorgehensweisen erforderlich oder möglich. Beispiele:
Initiiert wird ein Projekt für ISW zumeist dann, wenn Anforderungen auftreten, die von existierender SSW nicht erfüllt werden, und wenn die Erweiterung der bisherigen Lösung (gleichgültig ob ISW oder SSW) nicht praktikabel ist.
Die Anforderungen an die Software werden aus der Sicht eines einzigen Auftraggebers formuliert. Sie beziehen sich deshalb auf (nur) dort vorhandene Gegebenheiten, eine umfassende Anpassungsfähigkeit an Gegebenheiten bei unterschiedlichen Anwendern ist nicht erforderlich.[2] Gewünschte spätere Anpassungsmaßnahmen müssen bei SSW über einen ggf. langwierigen Genehmigungsprozess laufen, bei ISW ist ihre Umsetzung dagegen einfacher möglich, muss aber vom Anwender selbst geleistet oder beauftragt werden.
In der Regel wird ISW für eine definierte technische Systemumgebung (wie JEE oder .Net-Framework etc.) erzeugt. Flexibilität bezüglich möglicher funktionaler Anpassungen muss nicht, kann aber, beispielsweise durch Parametrisierung, vorgesehen sein.
ISW kann exakt auf die Anforderungen und Gewohnheiten beim Anwender ausgerichtet werden. Ihre Benutzerschnittstellen finden oft eine höhere Akzeptanz bei den Benutzern[2] als eine ungewohnte und evtl. funktional überdimensionierte SSW. Häufig verfügen die Entwickler eines SSW-Herstellers über mehr Erfahrung. Fehler, die z. B. bei einem Anwender entdeckt wurden, können behoben und die SSW in Form eines Updates allen anderen zur Verfügung gestellt werden.[2]
Da eine SSW so dokumentiert sein muss, dass ihr Inhalt von vielen Benutzern/Anwendern verstanden wird, ist sie in den meisten Fällen umfassender und systematischer gegliedert (lt. Seite 9 in [2]: „Volumen und Qualität des Handbuchs“) als eine Dokumentation, die nach den Regeln und Gewohnheiten eines einzelnen Unternehmens erzeugt wird.
Die bei SSW üblichen Installationsprogramme sind bei ISW häufig nicht oder nur in einfacher Form vorhanden, weil keine oder nur wenige Customizingfunktionen erforderlich sind, und weil die Software mit den gegebenen Verfahren der Zielumgebung installiert werden kann.
Vergleicht man Individualsoftware mit dem Erwerb einer Standardsoftware, so sind bei ISW die Kosten für Entwicklung, Pflege und Wartung die in der Regel von nur einem einzigen Auftraggeber aufzubringen. Diesem Aufwand stehen die periodisch zu zahlenden Lizenzkosten für SSW gegenüber, wobei der ggf. deutlich höhere Entwicklungsaufwand auf viele Nutzer/Anwender umgelegt werden kann.
Als Mischform kann mit Techniken wie Aspektorientierte Programmierung oder Feature Oriented Programming individuelle Software aus fertigen Standard-Komponenten sowie individuellen Spezial-Komponenten zusammengesetzt werden.
Es gibt Kostenfaktoren, die bei der Entwicklung und dem Betrieb von Individualsoftware nicht oder nur in geringerem Maße anfallen. Diese können sein:
Andererseits wird in der Praxis der Kostenaufwand häufig enorm unterschätzt. Dies mag darin begründet sein, dass die Anwender oder Auftraggeber aus den geringen Kosten für den Erwerb einer Standardsoftware irrtümlich auf die Kosten einer Individualsoftware schließen.
Weitere Faktoren für hohe Kosten bei Individualsoftware (die meisten dieser Punkte können bei der Standardsoftware auch auftreten, jedoch zeigt die Erfahrung, dass sie sich hier mit der Zeit selbst aus dem Projekt eliminieren):
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.