Software Engineering wird in der heutigen Praxis und in aller Regel werteneutral betrieben: Softwareprojekte werden danach organisiert, wie die von Stakeholdern formulierten Anforderungen technisch am besten in einem Softwaresystem realisiert werden können. Anforderungen werden hierbei als gleich wichtig behandelt, beim Controlling werden nur die Kosten und die verbrauchte Zeit betrachtet und die Zuständigkeit der Softwareentwickler auf die Übersetzung von Anforderungen in Programmcode reduziert.
Der Begriff „Value-Based Software Engineering“ (VBSE) wurde 2003 von Barry Boehm geprägt. Übersetzt ins Deutsche bedeutet er: „Wertebasierte Softwareentwicklung“. Dahinter verbirgt sich der Ansatz, alle Entscheidungen und Aktivitäten der Softwareentwicklung konsequent an dem maximal erzielbaren Nutzen für die Stakeholder zu orientieren. Anders ausgedrückt: Man tut in jeder Situation das, was den größten Nutzen für die Stakeholder verspricht.
Kerngedanke und sieben Hauptelemente
Boehm hat mit dem Value-Based Software Engineering ein Rahmenwerk vorgeschlagen, das die Berücksichtigung der tatsächlich für die Stakeholder geschaffenen Werte vorsieht. Die folgenden sieben Hauptelemente des VBSE bilden eine Zusammenstellung jener Techniken und Methoden des Software Engineering, mit denen der Fokus des Projektteams auf die für Stakeholder tatsächlich geschaffenen Werte gelegt wird.
Analyse der tatsächlichen Vorteile
(englisch: Benefits Realization Analysis)
Mit der Analyse der tatsächlichen Vorteile wird untersucht und dargestellt, welches Ergebnis durch den Beitrag eines Systems erzielt werden kann. Beispielsweise kann die Lieferzeit eines Onlineshops verringert werden (Ergebnis), weil das zu bauende System nach erfolgreicher Bonitätsprüfung automatisch den Versand beauftragt (Beitrag).
- Jetzt bequem online weiterbilden und Zertfikat erhalten: Agiles Software Engineering
- Geht das auch genauer?! Spezifikation im Software Engineering als E-Learning
Ausarbeitung und Schlichtung von Stakeholder-Interessen
(englisch: Stakeholder Value Proposition Elicitation and Reconciliation)
Im Verlauf eines Softwareprojekts werden mit hoher Wahrscheinlichkeit konkurrierende und oft widersprüchliche Ziele zu Konflikten zwischen Stakeholdern führen. Im Rahmen des Stakeholder Managements sollten daher alle Stakeholder erfasst, mögliche Zielkonflikte übersichtlich dargestellt und entsprechende Win-Win-Vereinbarungen zwischen den Konfliktparteien gefunden werden.
Business Case-Analyse
(englisch: Business Case Analysis)
Eine einfache und grundsätzliche Wirtschaftlichkeitsanalyse der im Rahmen eines Softwareprojekts anfallenden Aufwände ist die Berechnung des Return on Investment (ROI) über den Lebenszyklus des zu erstellenden Softwaresystems. Dabei können sowohl zur Entscheidungsunterstützung bei der initialen Projektplanung, als auch bei Entscheidungen im Verlauf des Entwicklungsprozesses zu möglichen Optionen jeweils der ROI berechnet und dargestellt werden. Je nach Ergebnis kann dann die Entscheidung für die wirtschaftlichste Alternative getroffen werden.
Kontinuierliches Management von Risiken und Alternativen
(englisch: Continuous Risk and Opportunity Management)
Die projektbegleitende Risikoanalyse dient als Hilfsmittel zur Entscheidungsfindung über den gesamten Softwarelebenszyklus hinweg. Das liegt insbesondere daran, dass die Wahrnehmung und Einschätzung von Risiken individuell sehr verschieden sind. Daher sind das Verständnis und das konkrete Reagieren auf individuelle Nutzenfunktionen der Stakeholder wichtige Werkzeuge zur Risikominimierung.
Gleichzeitiges System- und Software Engineering
(englisch: Concurrent System and Software Engineering)
Eine schnelle Reaktionszeit der IT auf geänderte Anforderungen ist insbesondere für Unternehmen geschäftsrelevant, deren Wertschöpfungsketten eng mit IT-Systemen verbunden sind und bei denen eine schnelle Time-to-Market Wettbewerbsvorteile sichert.
Daher muss die IT so organisiert sein, dass sie schneller auf Anpassungen reagieren kann. Insbesondere das Prozessparadigma evolutionäre Entwicklung unterstützt zum einen die Entwicklung und Bereitstellung von Softwareversionen in kurzen Zeitabständen, und zum anderen können dort die Arbeiten zur Spezifikation und Entwicklung eng verzahnt und parallel durchgeführt werden. Dies ist bei dem Prozessparadigma Wasserfallmodell nicht möglich ist.
Wertebasierte Projektüberwachung und -steuerung
(englisch: Value-Based Monitoring and Control)
In der wertebasierten Softwareentwicklung sollten zur Projektüberwachung und -steuerung die tatsächlich erzielten Beiträge und Ergebnisse mit berücksichtigt werden. Dabei wird überprüft, ob die geplanten Beiträge durch das System realisiert wurden und ob die ursprünglichen Annahmen und Randbedingung zur Erreichung des Ergebnisses noch zutreffen. Wenn das der Fall ist, dann wurde ein für die Stakeholder relevanter Wert geschaffen. Zusammen mit einer kontinuierlichen Business Case-Analyse kann gleichzeitig überprüft werden, wie die aktuellen Ausgaben im Verhältnis zu den erzielten Werten stehen.
Veränderung als Chance (englisch: Change as Opportunity)
Änderungen von Anforderungen, Projektplänen und Randbedingungen sind in der Denkweise der wertebasierten Softwareentwicklung kein lästiges Übel im IT-Projektmanagement. Die Fähigkeit zur Veränderung und Anpassung ist vielmehr ein Wettbewerbsvorteil. Wenn eine IT-Organisation in der Lage ist schnell auf Veränderungen zu reagieren, kann damit ein bedeutender strategischer Vorteil auf dem Markt erreicht werden. Dazu muss ein wirtschaftlich sinnvoller Grad an Veränderungsfähigkeit einzelner Systeme und der Systemlandschaft hergestellt werden.