Unabhängige Experten- und Marktplattform für die Schweiz.

Presenting-Partner

Presenting-Partner Logo bluewaysPresenting-Partner Logo blueways
Presenting-Partner Logo Digitale SchweizPresenting-Partner Logo Digitale Schweiz
Presenting-Partner Logo EcoCloudPresenting-Partner Logo EcoCloud
Presenting-Partner Logo HostpointPresenting-Partner Logo Hostpoint
Presenting-Partner Logo Interxion SchweizPresenting-Partner Logo Interxion Schweiz
Presenting-Partner Logo ISE AG Informatik Solutions EinsiedelnPresenting-Partner Logo ISE AG Informatik Solutions Einsiedeln
Presenting-Partner Logo myfactory Software Schweiz AGPresenting-Partner Logo myfactory Software Schweiz AG
19.06.2017

Glaux Soft Know-how: Erfolgreiche Projekte dank Requirements Engineering

Sind IT-Projekte zum Scheitern verurteilt? Diese Frage stellt sich immer öfter, bedenkt man all die Schlagzeilen zu misslungenen IT-Projekten in der öffentlichen Verwaltung aber auch in der Privatwirtschaft. Doch was sind die Gründe dafür? Wie kann man den Herausforderungen wirkungsvoll begegnen – kurz: wie macht man IT-Projekte erfolgreich? Antworten auf diese Fragen gibt dieser Artikel zum Thema "Requirements Engineering".

"Eklat bei IT-Millionenprojekt", "Und wieder ein gescheitertes IT-Projekt", "Die lange Liste der IT-Millionengräber" [1], [2], [3]. Dies sind nur einige der Schlagzeilen, die in den letzten Jahren zu misslungenen Projekten in der öffentlichen Verwaltung zu lesen waren. Schlimmer noch: wir müssen davon ausgehen, dass es sich hierbei nur um die Spitze des Eisbergs handelt, denn es ist anzunehmen, dass auch in der Privatwirtschaft viele IT-Projekte scheitern oder es zumindest massive Kosten- und Zeitüberschreitungen gibt. Aber wieso passiert dies?

Gemäss einer Studie der Deutschen Gesellschaft für Projektmanagement sind die Hauptgründe für das Missraten von Projekten "Unklare Anforderungen und Projektziele" [4]. Um dieser Ursache in Projekten entgegen zu wirken, ist es unerlässlich, die Ziele und Anforderungen systematisch zu erfassen, dokumentieren und verwalten. Genau diese Tätigkeiten werden mit der Disziplin "Requirements Engineering", kurz "RE", adressiert. Requirements Engineering ist ein systematischer Ansatz zur Erhebung, zur Dokumentation und zum Management von Anforderungen.


Mit Requirements Engineering kann solchen Missverständnissen wirkungsvoll begegnet werden.

Nutzen und Schwierigkeiten von Requirements Engineering

Eigentlich wäre der Nutzen eines guten RE offensichtlich, denn damit entwickelt man die "richtige", d.h. die Benutzer zufriedenstellende Lösung schneller, einfacher und im Endeffekt auch billiger [5].

Wieso also wird das RE so oft vernachlässigt? Grund dafür ist wohl, dass das Requirements Engineering diverse Herausforderungen stellt. Diese sind [5]:

  • Viele Stakeholder mit unterschiedlichen Zielen und Bedürfnissen
  • Vielseitige Geschäftsprozesse
  • Unterschiedliche Arbeitsweisen
  • Kommunikationsprobleme
  • Undurchsichtiges, komplexes Ist-System
  • Immaterialität (Software, Daten)
  • Vielseitige Möglichkeiten für das Soll-System
  • Schnell ändernde Arbeitswelt
  • Oft zu wenig Fach- und IT-Wissen vorhanden
  • Termin- und Budgetdruck (schnelle Ergebnisse)

Diese Umstände zeigen, dass Requirements Engineering auf keinen Fall unterschätzt werden darf. RE ist als eigene Disziplin in einem Projekt zu sehen, die unbedingt durch einen Spezialisten abgedeckt werden muss. Der Requirements Engineer agiert dabei als Vermittler zwischen Fachspezialisten und IT-Spezialisten.

Ziele vs. Anforderungen
Ziele sind immer die Beschreibung des gewünschten Soll- oder Endzustandes. Ziele lassen sich nicht testen, Anforderungen hingegen schon. Deshalb sollte jede Anforderung dazu beitragen ein Ziel zu erfüllen. Mit anderen Worten: mit jedem Bedarf, jedem Anspruch an ein System muss klar sein, welche Ziele damit erreicht werden können. Findet man kein passendes Ziel, sollte man sich dringend überlegen, ob die Anforderung wirklich eine solche ist.

Es empfiehlt sich, Ziele nach der SMART-Formel [6] aufzustellen:

  • S – Spezifisch - Ziele müssen eindeutig definiert sein (nicht vage, sondern so präzise wie möglich).
  • M – Messbar - Ziele müssen messbar sein (Messbarkeitskriterien).
  • A – Ansprechend - Die Ziele müssen für die Person ansprechend bzw. erstrebenswert sein
  • R – Realistisch - Das gesteckte Ziel muss möglich und realisierbar sein.
  • T – Terminiert - Das Ziel muss mit einem fixen Datum festgelegt werden können.

Wie werden Anforderung definiert?
Das IEEE (Institute of Electrical and Electronics Engineers) legt eine mögliche Definition von "Anforderung" (Requirement) wie folgt fest:

"Eine Fähigkeit oder Voraussetzung, Bedingung, Eigenschaft, die ein System (Maschine, Software, Person, etc.) erfüllen oder besitzen muss, um einen Vertrag, eine Norm, oder ein anderes formell bestimmtes Dokument zu erfüllen." [7]

Die Disziplin Requirements Engineering kümmert sich um Systemanforderungen. Gemäss IREB (International Requirements Engineering Board) werden diese Anforderungen in drei Unterkategorien aufgeteilt [8]:

  • Funktionale Anforderungen: "Eine funktionale Anforderung ist eine Anforderung bezüglich des Ergebnisses eines Verhaltens, das von einer Funktion des Systems bereitgestellt werden soll."
  • Qualitätsanforderung: "Eine Qualitätsanforderung ist eine Anforderung, die sich auf ein Qualitätsmerkmal bezieht, das nicht durch funktionale Anforderungen abgedeckt wird."
  • Randbedingung (Rahmenbedingung): "Eine Randbedingung ist eine Anforderung, die den Lösungsraum jenseits dessen einschränkt, was notwendig ist, um die funktionalen Anforderungen und die Qualitätsanforderungen zu erfüllen."

 

Anforderungsarten nach IREB

Ziel- und Anforderungshierarchie

Nicht alle Anforderungen an ein System sind gleich detailliert. Es gibt welche auf relativ hohem "Fluglevel", also grob gefasste Bedarfe und es gibt Anforderungen, die sehr detailliert sind. Häufig muss ein High-Level-Anspruch durch detailliertere Anforderungen präzisiert werden. Es empfiehlt sich, diese Anforderungen hierarchisch zu gliedern. Ein Modell zur hierarchischen Gliederung ist das RAM-Modell (Requirements Abstraction Model)[9].


Anforderungshierarchie (Quelle: Gorschek, Wohlin)

Product Level: Ziele des Systems
Feature Level: Features, welche das Produkt bietet (nicht detailliert)
Function Level: Was ein Benutzer mit der Applikation machen kann, welche Aktionen auszuführen sind
Component Level: Detaillierte Anforderung, Beschreibung wie etwas implementiert werden soll

Qualitätsanforderungen für einzelne Requirements

Damit eine Anforderung gut ist, muss sie verschiedene Qualitätskriterien erfüllen: [10]

  • Vollständig: Die Anforderung muss die geforderte Funktionalität vollständig beschreiben.
  • Atomar: Jede Anforderung enthält genau eine Anforderung.
  • Technisch lösungsneutral: Die Anforderung beschreibt, was gefordert ist und nicht wie es umgesetzt werden soll.
  • Konsistent: Anforderungen müssen gegenüber allen anderen Anforderungen widerspruchsfrei sein.
  • Prüfbar: Eine Anforderung muss so beschrieben sein, dass sie testbar ist.
  • Notwendig: Jede Anforderung sollte etwas beschreiben, das auch benötigt wird, respektive das hilft, ein Ziel zu erfüllen.
  • Verfolgbar: Die Quelle der Anforderung muss jederzeit sichtbar sein. Es muss jederzeit begründet werden können, wieso die Anforderung da ist. Es muss verfolgbar sein, wie die Anforderung umgesetzt ist.
  • Realisierbar: Es muss grundsätzlich möglich sein, die Anforderung zu implementieren.
  • Eindeutig: Eine Anforderung kann nur auf eine Weise verstanden werden.

Was erreichen Sie mit Requirements Engineering?
Gehen Sie in einem IT-Projekt nach dem RE-Ansatz vor, sind Sie von Anfang an auf gutem Weg, das Projekt zum Erfolg zu führen, denn mit Requirements Engineering erreichen Sie:

  • einen besseren Konsens unter den Stakeholdern
  • die richtigen Features werden umgesetzt
  • die Anforderungen sind dokumentiert
  • die Risiken werden minimiert
  • gute Ausgangsposition fürs Testen
  • die Projektziele!

Sie möchten mehr wissen zum Thema, oder sind gerade in einem Projekt und benötigen einen Requirements Engineer? Kontaktieren Sie uns. Glaux Soft unterstützt Sie in Ihren IT-Projekten mit Rat und Tat.

[1] Eklat bei IT-Millionenprojekt, 24.08.2015
[2] Und wieder ein gescheitertes IT-Projekt, 02.09.2015
[3] Die lange Liste der IT-Millionengräber, 26.01.2016
[4] GPM Studie, 2007
[5] Nutzen des Requirement Engineering, E. Fuchs, 03.11.2009,
[6] SMART (Projektmanagement), Wikipedia,
[7] IEEE 610.12-1990
[8] Handbuch Requirements Management nach IREB Standard, V1.01
[9] Requirements Abstraction Model, T. Gorschek, C. Wohlin
[10] Requirements Engineering und Management, C. Rupp und die SOPHISTen, 6. Auflage, 2014
alle abgerufen am 13.04.2017

Glaux Soft AG auf Cloud-Finder Schweiz


von:  Christoph Küffer - Glaux Soft AG


SOCIAL NETWORKS
  • myCloudService

    Wählen Sie hier Ihre Anforderungen und lassen Sie sich die passenden Angebote / Anbieter anzeigen:

    • Dienstleistungen
    • Cloud Business Software
    • Infrastructure Cloud Services
    • Cloud Governance
    • Cloud-Security-Services
    • Cloud-Technologie /-Service-Art
    • RZ-Infrastruktur
    • Support Services
    • Usability
    • Zertifizierung / Empfehlung

    Cloud-/ DL-/ RZ-Anbieter

    Gartner & Cloud Computing

    Buchempfehlung

    Partner

    Cloud-Finder Schweiz: Newsletter