Wichtige Qualitätsmerkmale einer Software im Hinblick auf die Möglichkeit der langfristigen Nutzung sind deren Wartbarkeit, Erweiterbarkeit und Flexibilität. Da sich Anforderungen an eine Software, etwa aufgrund veränderter technischer oder gesetzlicher Rahmenbedingungen, im Laufe der Zeit ändern können, oder Softwarefehler und Sicherheitslücken offenkundig werden, kann es erforderlich werden, die Software auf Quellcodeebene nachträglich anzupassen bzw. zu erweitern. Der Aufwand für diese Leistungen kann erheblich mit der Qualität der Quellcodebasis (=Wartbarkeit) wie auch der verwendeten Softwarebibliotheken oder den unterstützten Standards variieren. Die Notwendigkeit solcher Anpassungen sollte bereits auf Architekturebene bei der Entwicklung einer Software berücksichtigt werden.
Hinweise für die Leistungsbeschreibung
• In einer Leistungsbeschreibung sollte auf die Qualitätsmerkmale Wartbarkeit, Flexibilität und Erweiterbarkeit im Hinblick auf etwaige zukünftige Erweiterungen und Anpassungen hingewiesen werden
Qualitätskriterien
Zur Bewertung einer Software oder eines Angebotes sollten Informationen zu den folgenden Merkmalen eingefordert werden:
• Ist das System modular aufgebaut und weist wohldefinierte Schnittstellen auf, die den Austausch von Komponenten unterstützen?
• Verwendet das System für standardisierte Aufgaben (z.B. Datenbankanbindung, Generierung von Exporten, Web-Schnittstelle) existierende und verbreitete Standardtechnologien statt proprietärer Lösungen?
• Setzt das System ein etabliertes Komponenten-Framework auf (z.B. Spring), das Erweiterungen und das Austauschen von Komponenten unterstützt und bereits die standardisierte Schnittstellen unterstützt?
• Verwendet das System etablierte Muster (Patterns), z.B. Model-View-Controller?
Quellen
• SAGA 4.0
Sowohl Wartbarkeit, Erweiterbarkeit, Flexibilität und Sicherheit sind bereits gegeben, wenn die Software bzw. ihr Quellcode frei und offen verfügbar sind. Durch die Offenlegung eines Quellcodes kann die Qualität des Quellcodes von allen überprüft werden, Softwarefehler und Sicherheitslücken können schnell erkannt und behoben werden. Dadurch, dass der Quellcode offen und für alle frei verfügbar ist, können ihn verschiedene Organisationen, Anbieter und ehrenamtliche Erweitern, wobei die Erweiterungen immer allen Nutzer*innen einer Software zugute kommen. In einer Leistungsbeschreibung sollte daher darauf geachtet werden, dass die angebotenen Softwarelösungen frei und offen sind (Open-Source). Somit wird gewährleitstet, dass Wartbarkeit, Erweiterbarkeit und Flexibilität heute und in Zukunft berücksichtigt sind.