Softwarebeschaffung
# Softwarebeschaffung

Softwarebeschaffung (engl. software acquisition), auch Softwareanschaffung, steht für die Beschaffung von Software und die dabei erforderlichen Maßnahmen. Es handelt sich um ein Teilgebiet der Softwaretechnik, bzw. genauer des IT-Ressourcen-Managements. Eine Teilaufgabe besteht darin festzustellen, welche benötigten Softwareteile bereits auf dem Markt erhältlich sind, also beschafft werden können (Standardsoftware), und welche erst selbst entwickelt werden müssen (Individualsoftware).

## Prozess und Methodik der Beschaffung von Software

Die Anschaffung von Software erfordert häufig hohe Investitionskosten. Oft ist sie eine Maßnahme zur Umsetzung strategischer Entscheidungen, zum Beispiel mit erheblichen Veränderungen von Unternehmensprozessen. Eine strukturierte, rationale und systematische Vorgehensweise bei der Auswahl von Standardsoftware ist deshalb erforderlich und dient der Vermeidung hohen zeitlichen und finanziellen Aufwands (z. B. zur später erforderlichen Nachentwicklung fehlender Funktionen). Das bedingt eine klare Darstellung der Vor- und Nachteile der einzelnen Lösungen, besonders wenn bzw. weil in der Regel mehrere Alternativen in Form konkurrierender Softwaresysteme zur Verfügung stehen.
Während bei der Individualentwicklung von Software die Anforderungen im Rahmen des Anforderungsmanagements ermittelt und berücksichtigt werden, ist beim Erwerb von Software (durch Kauf oder Lizenzierung) die in der Regel bereits fertige Software im Rahmen eines systematischen Entscheidungsprozesses zu bewerten. Solche Auswahlvorhaben können mit der Durchführung einer Nutzwertanalyse, auch Scoring genannt, durchgeführt werden. Dabei geht es nicht um das Erfinden möglicher Alternativen, sondern um das Auffinden am Markt angebotener Lösungen.
Zur Unterstützung bei der Beschaffung und Auswahl von Software bieten zahlreiche Unternehmen ihre Dienstleistungen an.
Je nach Bedeutung, Umfang und Einsatzbereich der anzuschaffenden Software kann die Aufgabe Softwareanschaffung relativ einfach verlaufen (zum Beispiel bei Software für einen eng definierten, gegebenenfalls nur persönlichen Funktionsbereich oder Benutzerkreis), muss mehrere Beteiligte einbeziehen oder muss sogar als Großprojekt aufgesetzt werden (etwa bei Softwareentscheidungen für zentrale Funktionsbereiche in einem Großunternehmen).

### Vorgehensmodelle

Es gibt unterschiedliche Vorgehensmodelle die sich mit der Beschaffung von Software auseinandersetzen:
* Das Reifegradmodell CMM stellt Referenzprozesse bereit, die dazu dienen, die Qualität („Reife“) von Unternehmensprozessen zu beurteilen und zu verbessern. Software-Akquisition wird darin unter dem Kürzel SA-CMM (Software Acquisition Capability Maturity Model) geführt und beschreibt die Softwarebeschaffung als Spezialfall von Beschaffungsprozessen. CMM wurde Ende 2003 durch CMMI ergänzt. In den Referenzmodellen von CMMI wird der Produkteinkauf (acquisition) allgemein im Prozessgebiet CMMI-ACQ behandelt, in dem das frühere Prozessgebiet SA-CMM aufgegangen ist. Die Referenzprozesse gliedern sich in die Prozessstufen Acquisition Planning, RFP preparing (Angebot vorbereiten), Solicitation (Angebot einholen), Source Selection (Angebotsvergleich), Program Leadership (Insight, Oversight) (Projektleitung), System Acceptance (Systemtest) und Transition (Überführung).
* Die COBIT-Referenzprozesse führen den Beschaffungsprozess für Software unter der Bezeichnung „BE2 Beschaffung und Unterhalt von Anwendungssoftware“. Dort sind verschiedene Control Objectives, darunter auch AI5.4 Software Acquisition (Softwarebeschaffung) zusammengefasst.
* Die ISO 12207 (ein Standard für Software-Lifecycle-Prozesse) beschreibt Acquisition als einen der „fünf primary Prozesse“, die mit den organizational Prozessen und den supporting Prozessen im Zusammenhang stehen.
* Die Enzyklopädie der Wirtschaftsinformatik beschreibt zur Auswahl von Software ein Phasenmodell mit den Stufen „Ziele“, „Prozessanalyse“, „Anforderungen“, „Marktübersicht“, „Screening“, „Endauswahl“ und „Entscheidung“.
* In einem Arbeitsbericht der Uni Münster wurden mehrere Projekte zur Auswahl von Standardsoftware untersucht und die dabei jeweils verwendeten Vorgehensmodelle vergleichend dargestellt.

### Auswahlkriterien

Neben dem Entscheidungsprozess, in dem das Vorgehen für eine bestimmte Entscheidungssituation bestimmt wird, bestimmen in der Hauptsache die individuell auf den Einsatzzweck ausgerichteten Anforderungen die Entscheidung. Diese werden als Kriterien (relevante Merkmale für die Beschreibung eines Softwaresystems) definiert und bilden, nach ihrer Bedeutung gewichtet und ggf. zu Kriteriengruppen zusammengefasst, die Grundlage für die Bewertung/Entscheidung.
Bei der Auswahl von Software – als wesentlicher Teilbereich der Softwarebeschaffung – für ein betriebswirtschaftliches Umfeld können zum Beispiel folgende Anforderungen/Kriterien zugrunde gelegt werden:
Funktionale Anforderungen:
* Funktionalität, die von der Software unterstützt wird (inkl. Detaillierungsgrad)
* Daten, die die Software verwalten/verarbeiten kann: Objekte und ihre Beziehungen untereinander, Attribute und deren Ausprägungen
* Interaktive Bearbeitungsfunktionen der Software
* Auswertungen, die die Software bietet
IT-Technische Anforderungen:
* Integrationsfähigkeit in die bestehende IT-Landschaft: Z. B. internetfähig, mögliche Betriebssysteme, DBMS etc.
* Performance/IT-Belastung
* Einfachheit der Installation und Konfiguration
Anforderungen zur Architektur:
* Bedienbarkeit/Ergonomie/Hilfesystem
* Sicherheit: Sicherstellung kontrollierter Zugriffe, Verwaltung der Rechte, Vier-Augen-Prinzip, …
* Mandantenfähigkeit, Mehrsprachigkeit
* Versionierungsfunktionen und historische Sicht auf die Daten
* Schnittstellen von und zu anderen Softwarepaketen und Systemsoftware
* Flexibilität, individuelle Anpassbarkeit, z. B. über ein Parametersystem
* Möglichkeit zur Erstellung zusätzlicher, individueller Auswertungen
Sonstige Kriterien:
* Kosten (z. B. mittels einer Total Cost of Ownership (TCO)-Betrachtung)
* Hersteller (Bekanntheit, Zuverlässigkeit)
* Verbreitung der Software
* Lebenszyklus der Software-Lösung
* Einführungsunterstützung des Herstellers
* Support: Updatefrequenz, Reaktionszeit bei Softwarefehlern
Im Rahmen einer Softwareauswahl ist die Erstellung eines Software-Anforderungskatalogs empfehlenswert. Dieser bündelt alle wesentlichen Anforderungen wie funktionale, nicht-funktionale und technische Anforderungen und dient als Grundlage um eine Vergleichbarkeit zwischen den verschiedenen Softwareanbietern herzustellen.