SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Downloaden Sie, um offline zu lesen
Systematisches Requirements Engineering

Versionierung:
QZ, 16.02.2011, v3


Autor:
Christof Ebert, Vector GmbH, Stuttgart, Germany
Arnold Rudorfer, Siemens AG, Erlangen Germany


Kontaktadressen:


  Dr. Christof Ebert                                  Arnold Rudorfer
  Vector Consulting Services GmbH                     Siemens AG Healthcare Sector
  Ingersheimer Straße 24                              Imaging & Therapy SYNGO
  D-70499 Stuttgart                                   D-91052 Erlangen
  Germany                                             Germany
  Phone: +49-711-80670- 175                           Phone: +49-9131-84-2299
  Fax: +49- 711- 80670- 444                           Fax: +49- 9131-84-8691
  E-Mail: Christof.Ebert@vector.com                   E-Mail: Arnold.Rudorfer@siemens.com


Lebenslauf der Autoren:
Dr. Christof Ebert ist Geschäftsführer und Partner der Vector Consulting Ser-
vices. Er unterstützt Unternehmen weltweit bei der Verbesserung der techni-
schen Produktentwicklung sowie im Veränderungsmanagement. Zuvor war
er fünfzehn Jahre in Engineering- und Führungsfunktionen weltweit in Tele-
kommunikation, IT und Transport tätig. Er lehrt an der Universität Stuttgart.
Sein Buch „Systematisches Requirements Engineering“ ist das führende
Praxisbuch zum Thema und ist gerade in der dritten Auflage bei DPunkt er-
schienen.




Arnold Rudorfer ist Direktor Software Initiative und Prozess Improvement bei
Siemens Healthcare Imaging und Therapy Division (SYNGO). Er ist verant-
wortlich für die Einführung von innovativen Software Engineering Technolo-
gien, mit dem Ziel, die Entwicklungskosten zu optimieren sowie die Entwick-
lungseffizienz zu steigern. Zuvor war er Manager des User Interface Design
Centers von Siemens Corporate Technology in Princeton, NJ (USA). Später
übernahm er die Verantwortung des Global Technology Fields Requirements
Engineering mit Kompetenz Zentren in Princeton, Erlangen, Peking und
München. Er ist Koautor des Buches "Software Systems Requirements Engi-
neering" (McGraw Hill, April 2009). In der Siemens Software Engineering
Community verantwortet er die Organisation von Best Practice Sharing
Events.
1

Systematisches Requirements Engineering


Christof Ebert, Vector GmbH, Stuttgart, Germany
Arnold Rudorfer, Siemens AG, Erlangen Germany




Was macht Projekte erfolgreich? Warum scheitern Projekte und liefern nicht das, was ihre Auftragge-
ber erwarten? Nach wie vor ist unzureichendes Requirements Engineering der Hauptgrund für abge-
brochene Projekte oder solche, die ihre Ziele nicht erreichen. Technologische Herausforderungen sind
per se keine wichtigen Projektrisiken, ihr Management dagegen schon. Doch es gibt auch genügend
Projekte, die ihre Ziele erreichen. Grund genug, sich mit den Praktiken des Requirements Engineering
auseinanderzusetzen und wesentliche Praxistipps zu geben. Dieser Übersichtsbeitrag basiert teilwei-
se auf dem Buch „Systematisches Requirements Engineering“, das im Dpunkt-Verlag erschienen ist
[1]. Unsere Erfahrungen in verschiedenen Industrieprojekten aus einer Vielzahl von Systemen und
Anwendungen zeigen, dass ein gutes Verständnis sowie eine systematische Behandlung von Anfor-
derungen erfolgskritisch sind. Wir zeigen mit praktischen Beispielen und einem Praxisbeispiel aus ei-
ner sicherheitsrelevanten Anwendung z. B. aus der Medizintechnik, wie Requirements Engineering
konkret und erfolgreich umgesetzt wird. Damit können die Kosten für Nacharbeiten um ca. 30% ge-
senkt werden.


Projektrisiken
In ihrer aktuellen Umfrage 2008/9 zur Erfolgsquote von IT-Projekten zeigt die Standish Group, dass
32% aller Projekte erfolgreich sind, während 44% ihre Ziele nicht erreichen und 24% komplett abge-
brochen werden (Abb. 1 ) [1]. Unzureichendes Requirements Engineering ist dabei nach wie vor der
Hauptgrund für den Misserfolg. Bedenklicher jedoch ist der aktuelle Trend, der die Autoren sogar dazu
veranlasste, die Studie nochmals eingehend zu prüfen und erst mit einem halben Jahr Verzögerung
freizugeben. Wie bereits in der Krise 2002/3 ist die Erfolgsrate auch in der aktuellen Krise wieder ein-
gebrochen. Als Hauptgrund nannten die Autoren, dass vorbereitende Tätigkeiten wie Anforderungs-
analyse nicht mehr ausreichend gemacht werden.

                                  Erfolgsquote von SW- und IT-Projekten


                                       24%                    Erfolgreich
                                                  32%
                                                              Zu spät oder über
                                                              Budget
                                                              Abgebrochen

                                           44%




                                  Hauptgründe für Projektprobleme
                                   Prozessfähigkeit                  91%
                                   Organisationsmanagement           87%
                                   Requirements Engineering          87%

Abb. 1 Unzureichendes Requirements Engineering gefährdet Projekte
Der Kriminalautor Gilbert Keith Chesterton schrieb: „It isn’t that they can’t see the solution. It is that
they can’t see the problem.“ Und er meint damit, dass wir häufig zu schnell auf eine vermeintliche Lö-
sung aufspringen bevor wir das Problem richtig verstanden haben. Hand aufs Herz. Wer kennt nicht
die Szene, dass man in einem Review mit Kunde oder Auftraggeber sitzt und sich ob der Schwerfäl-
2
ligkeit in der Bestimmung der Anforderungen am liebsten hinsetzen würde und einfach die Software
so umzusetzen, wie man es ja bereits eine ganz Zeit verstanden hat. Ist doch nur Zeitverschwendung,
sagen sich da viele. Das ist auch der Grund, warum in Krisenzeiten die Problem durch unzureichen-
des Requirements Engineering anwachsen. Man meint, Geld sparen zu können, wenn weniger Auf-
wand in diese Vorbereitung gesteckt wird.
Auf was sollten wir im Requirements Engineering achten? Aus unterschiedlichen Praxiserfahrungen
lassen sich die wichtigsten Risiken im Requirements Engineering ableiten. Die Risiken zu kennen,
heißt, dass man sich darauf vorbereiten kann, um sie beim nächsten Mal zu vermeiden. Die folgende
Liste wurde ursprünglich von drei erfahrenen Praktikern erstellt [2] und ist für diesen Beitrag nochmals
aktualisiert.
Risiko 1: Kunden sind unzureichend repräsentiert. Unzureichende Einbeziehung der Benutzer
führt zu nicht akzeptierten Produkten und zu unzufriedenen Kunden. Oftmals erscheint es einfacher,
die Anforderungen zu Projektbeginn vom Kunden oder Benutzer – oder intern vom Vertrieb oder Mar-
keting –zu ermitteln, und danach das Projekt zu beginnen, um diese Anforderungen zu implementie-
ren. Häufig übernehmen interne Stellen die Rolle des Kunden, ohne ihn direkt einzubeziehen. Das
Problem dabei ist, dass sich das Projekt in zwei getrennte Richtungen entwickelt. Schließlich lernen
sowohl die Projektmitarbeiter als auch der Kunde ständig dazu. Da der Kunde allerdings nicht weiß,
wie er damit umgehen soll, wartet er. Das Gleiche gilt für den Projektmanager, der eine Liste führt,
was er beim nächsten „offiziellen“ Projektreview auf den Tisch bringen will. Bei diesem nächsten Pro-
jektreview sind dann die Divergenzen sehr viel größer, als wenn es kontinuierliche Konsultationen ge-
geben hätte. Eine andere Facette ist, dass es beim Kunden verschiedene Rollen gibt, aber nur dessen
Einkauf repräsentiert ist. Auch das führt später zu einem bösen Erwachen, wenn man feststellen
muss, dass der Einkauf primär auf formale Kriterien achtete, aber nicht auf Benutzbarkeit oder Effi-
zienz des Produkts. Machen Sie also im Vorfeld die Rollen der Kunden bei der Projektarbeit sehr
deutlich und klären Sie wie bei jedem anderen Projekt (ohne Kundenmitarbeit) vor Projektstart, was
das Projekt zu liefern hat.
Risiko 2: Kritische Anforderungen werden übersehen. Eine der Schlüsselregeln im Requirements
Engineering besagt, dass man dem Kunden das liefern muss, was er will, und nicht das, was er
braucht. So flapsig das klingt – ein wahrer Kern steckt darin. Im Zweifelsfall zählt, was vertraglich ab-
gestimmt wurde. Allerdings sollte ein Lieferant im Interesse einer nachhaltigen Kundenbeziehung im
Vorfeld zu klären, was der Kunde braucht, um dann vor Projektbeginn eine Abstimmung zu erreichen
zwischen dem, was gebraucht und gewünscht (also vertraglich festgehalten) wird. Eine wirksame Ba-
sis für erfolgreiches Kundenmanagement ist es, zuallererst den Business Case des Kunden zu ver-
stehen. Dabei geht es darum zu erkennen, was der Kunde – anders – machen will, wenn er erst ein-
mal das gewünschte Produkt in Händen hält. Den Business Case zu verstehen, bedeutet, dass man
als Produkt- oder Projektmanager versteht, welche Funktionen oder Anforderungen an das Projekt
den größten Nutzen bringen. Man versucht, aus der späteren Anwendung innerhalb der Geschäfts-
prozesse des Kunden heraus einzuschätzen, welche Anforderungen kritisch sind und ob vielleicht be-
stimmte Einschränkungen übersehen wurden.
Risiko 3: Qualitätsanforderungen bleiben unberücksichtigt. Anforderungen haben verschiedene
Ausprägungen, wie wir gesehen haben. Neben den funktionalen Anforderungen gibt es die Qualitäts-
anforderungen, wie beispielsweise Performanz, Benutzbarkeit oder Sicherheit. Zudem gibt es gibt es
auch noch Randbedingungen an das Projekt oder Produkt, beispielsweise Kosten. Nur die Hinterfra-
gung aller dieser Typen macht die Anforderungsdokumentation vollständig. Wichtig wird diese Voll-
ständigkeit vor allem auch bei der Testspezifikation. Testfälle müssen alle diese Kategorien von An-
forderungen abdecken.
Risiko 4: Unkontrollierte Änderungen von Anforderungen. Anforderungen, die sich ständig ändern
und deren Änderungen nicht beherrscht werden, führen zu Kosten- und Terminüberschreitungen und
reduzieren die Qualität. Häufig existiert eine gewisse Basis von Anforderungen, mit denen dann ein
Projekt gestartet wird. Einige Punkte sind noch offen und sollen rasch geklärt werden. Da das Projekt
läuft, hat der Kunde manches Mal kein großes Interesse mehr, diese Punkte zu klären. Schließlich
3
könnte er bei der Abnahme davon profitieren, wenn nicht alles so läuft, wie abgesprochen, denn das
ist die einmalige Chance, komplett neue Anforderungen als Kompensation für diesen Projektfehler
kostenlos zu erhalten. Anforderungen ändern sich in beinahe jedem Projekt. Die Änderungsrate unter-
scheidet sich zwischen Projekten und ist abhängig vom Wiederholungsgrad der Technologie bei Liefe-
rant und Benutzer und der Anwendung beim Benutzer. Zur Minderung dieses Risikos ist es wichtig,
die Änderungsrate zu verfolgen. Zu bestimmten Meilensteinen muss die Änderungsmenge reduziert
werden, um die nächste Phase erfolgreich durchlaufen zu können. Üblich ist es, mit einem Puffer zu
arbeiten, der sowohl Schätzungenauigkeiten als auch Anforderungsänderungen abfangen kann. Eine
weitere Maßnahme ist die so genannte Rückwärtsplanung von der Übergabe an zurück ins Projekt,
um zu erkennen, ab wann der kritische Pfad keine Parallelarbeit als Puffer mehr zulässt. Mancher
Projektmanager und auch Kunde wird überrascht sein, wie früh im Projekt dies der Fall ist. Als Regel
gilt, dass in der zweiten Projekthälfte nur noch sehr wichtige Änderungen zugelassen werden – in
zeitkritischen Projekten bereits früher als zur Hälfte. Eine dritte Maßnahme ist schließlich, Änderungen
grundsätzlich nur zu diskutieren, wenn eine Analyse der Auswirkungen stattgefunden hat. Andernfalls
verschwenden beide Seiten ihre Zeit. In diesem „Spiel“ wird gern gepokert, nur um zu sehen, wie sich
der Lieferant verhält. Oftmals genügt daher ein einfacher Projektplan, um zu zeigen, dass die vorge-
schlagene Änderung Kosten und Projektdauer unzulässig erhöhen wird.
Risiko 5: Beschreibung von Anforderungen als Entwurf. Anforderungsbeschreibungen und Ent-
wurfsbeschreibungen sind zwei grundlegend unterschiedliche Dinge. Das leuchtet jedem ein. Es geht
bei den Anforderungen darum, was geliefert werden muss. Bei der Entwurfsbeschreibung geht es
darum, wie die Lösung entwickelt wird. Trotzdem werden diese Was- und Wie-Perspektiven immer
wieder vermischt. Häufig geschieht dies aus einer vermeintlichen Zeitersparnis heraus. Man beginnt
Anforderungen zu notieren. Im Beschreiben kommen erste Ideen zu gegenseitigen Abhängigkeiten
und zur möglichen Realisierung, die einfach mit der Anforderung zusammen notiert werden. Selbst
wenn man dies in getrennten Teilen der Anforderung macht, sollte es klar sein, dass prinzipiell nie
eine 1:1-Abbildung möglich ist. Die nächste Anforderung hat vielleicht überlappende Einflüsse und
schon passt das Muster nicht mehr. Schlimm wird es vor allem, wenn sich Anforderungen später än-
dern oder gestrichen werden. Wohin mit der teilweisen Analyse, die vielleicht auch noch von anderen
Anforderungen gebraucht wird? Hier gilt die klare Regel, immer zwei Spezifikationsdokumente zu hal-
ten, nämlich die Liste der Anforderungen (Lastenheft) und die Liste der Lösungsspezifikation (Pflich-
tenheft). Verfolgbarkeit durch eindeutige Bezeichner und eventuell eine angepasste Werkzeugunter-
stützung erlauben später, auch umfangreiche Änderungen schnell in trockene Tücher zu bekommen.
Risiko 6: Anforderungen werden nicht geprüft. Zu stark vereinfachte oder oberflächliche Spezifika-
tionen resultieren später in fehlender oder falscher Funktionalität. Aus Zeitgründen und zur Vereinfa-
chung werden Anforderungen häufig wortwörtlich von Kunden- oder Benutzerinterviews übernommen.
Dies ist allerdings nur eine Rohfassung, die erweitert und präzisiert werden muss. Nehmen Sie sich
die Zeit, Anforderungen mit Reviews und Inspektionen zu prüfen und prüfen zu lassen. Auf der Seite
des Projekts erledigen das die Systemanalysten, Projektmanager, Produktmanager und Tester. Mehr-
deutige Anforderungen bedeuten Mehrarbeit im gesamten Projekt. Gerade Tester finden sehr viele
Ambivalenzen, die sonst erst sehr viel später entdeckt werden, wenn sie vielleicht vom Entwickler be-
reits falsch implementiert wurden.
Risiko 7: Perfektionierung von Anforderungen und Spezifikationen. „Gold Plating“, also Ver-
schnörkelungen der Entwickler und Benutzer, bringt unnötige Funktionen, Verzögerungen und zu ho-
he Kosten ins Projekt. Entwickler versuchen oft, Anforderungen, die sie verstanden haben, mit Leben
zu füllen, und entwickeln weitere Funktionen, die nie vereinbart wurden. Im besten Fall passiert gar
nichts, denn der Kunde wird sich hüten, solche verzichtbaren Funktionen zu würdigen. Im Normalfall
allerdings wird diese Komplexität unbeherrschbar, weil ja keine Ressourcen dafür vorgesehen wur-
den. Jede weitere Funktion bringt Abhängigkeiten zu anderen Funktionen, Sonderfälle, Ausnahmesi-
tuationen – und damit zusätzlichen Entwicklungs-, Korrektur- und Testaufwand. Anforderungen sollen
widerspiegeln, was der Kunde als relevant betrachtet. Wenn sich Kunde oder Benutzer nicht sicher
sind, werden sie weggelassen. Das Gleiche gilt für Spezifikationsdokumente. Dies sind Dokumente,
die straff beschreiben, was oder wie gearbeitet wird. Es sind keine detaillierten Entwurfsbeschreibun-
4
gen. Hilfreich ist es, von vornherein mit verschiedenen Dokumenten zu arbeiten, so dass Entwurfsent-
scheidungen von Beginn an im richtigen Dokument – also der Architektur- oder der Entwurfsbeschrei-
bung – dokumentiert werden, ohne den Umweg über ein Spezifikationsdokument, wo solche Informa-
tionen nicht hingehören. Im Unterschied zu diesen Verschnörkelungen sollten allerdings Ausnahme-
behandlungen der regulären Anforderungen durchaus mit dem Kunden geklärt und als Erweiterung
der Anforderung spezifiziert werden. Use-Cases beispielsweise haben bereits in ihrem Template eine
solche Ausnahmebehandlung vorgesehen. Wird die Behandlung von Ausnahmen nicht vorab abge-
stimmt, kann dies zu sehr verwickelten und inkonsistenten Realisierungen führen.


Anforderungen
Eine Anforderung beschreibt, was der Kunde oder Benutzer vom Produkt erwartet (Bedingungen, At-
tribute, Ziele, Nutzen etc.). Formal lassen sich Anforderungen wie folgt definieren [1,6]:
 Eigenschaft oder Bedingung, üblicherweise vom Kunden festgelegt, um ein Problem zu lösen oder
     ein Ziel zu erreichen.
 Eigenschaft oder Bedingung, die ein System oder eine Systemkomponente erfüllen muss, um ei-
     nen Vertrag, einen Standard, eine Spezifikation oder andere formal festgelegte Dokumente zu er-
     füllen.
 Eine dokumentierte Repräsentation einer Eigenschaft oder Bedingung wie in den vorigen Punkten
     beschrieben.
Wir trennen klar zwischen Anforderungen und Lösungen. Eine Anforderung beschreibt ein Bedürfnis
oder einen Nutzen, der erreicht werden soll. Sie beschreibt nicht, wie dieser Nutzen zu realisieren ist.
Diese Implementierungssicht wird durch die Lösung beschrieben. Abb. 2 veranschaulicht diesen Un-
terschied durch die Trennung zwischen Problemraum (Marktanforderungen, Lastenheft, etc.) und Lö-
sungsraum (Lösungsspezifikation, Pflichtenheft, Design, Fachkonzept, etc.). Der Problemraum ist zu-
nächst immer nur unscharf umrissen und wird im Verlauf der Lösungskonzeption eingeschränkt.



               Marktanforderungen /
               Kunden- / Benutzer- / Geschäfts-
               anforderungen / Ziele / Bedürfnisse   Warum?       Problemraum

               Produktanforderungen /
               Eigenschaften / SLA /
               Service- / Systemanforderungen         Was?        Lösungsraum

               Komponenten-
               anforderungen /
               Softwareanforderungen                  Wie?

Abb. 2 Anforderungen und Lösungen


Es gibt nicht die „Anforderung“ schlechthin. Zu einer Anforderung gehört immer die Perspektive aus
der sie beschrieben wird. Eine Anforderung ist eine Bedingung oder eine Fähigkeit, die ein Benutzer
benötigt, um ein Problem zu lösen oder um ein Ziel zu erreichen. Das heißt, sie hängt von der Per-
spektive ab. Ein Benutzer kann der Kunde sein, der für die Lösung bezahlt, aber es kann auch ein
Entwickler sein, der daraus eine Architektur ableitet. Entsprechend unterschiedlich sind die Schwer-
punkte und Inhalte, die durch diese Anforderung beschrieben werden. Was dem einen die Anforde-
rung ist, ist dem anderen die Lösung. Man trennt daher in der Praxis unterschiedliche Arten von „An-
forderungen“, beispielsweise Marktanforderungen oder Komponentenanforderungen, und vermeidet
von einer „Anforderung“ ohne Präzisierung zu sprechen.
Drei verschiedene Sichten auf Anforderungen werden im Laufe der Lösungskonzeption unterschie-
den:
5
   Marktanforderungen: Sie werden auch als Kunden-, Benutzer-, Geschäftsanforderungen, Bedürf-
    nisse bezeichnet. Sie sind die Ziele, die Benutzer und die Außenwelt mit dem zu entwickelnden
    Produkt erreichen wollen. Sie beschreiben, warum ein Projekt überhaupt durchgeführt wird.
   Produktanforderungen: Dies sind Eigenschaften des Produkts und Systemanforderungen, die aus
    der Sicht des Produkts beschrieben werden. Sie beschreiben, was verschieden Benutzer mit dem
    Produkt machen können in der Sprache des Produkts, also auch nichtfunktionale Anforderungen
    mit den nötigen Details. Sie definieren den Lösungsraum und die Prioritäten.
   Komponentenanforderungen: Dies sind die konkreten Softwareanforderungen, die aus Entwickler-
    sicht beschreiben, wie zu entwickeln ist. Sie umfassen Komponenten, Architektur, Technologien,
    Struktur und Dynamik sowie Algorithmen. Sie sind hinreichend klar, um eine Komponente durch
    einen externen Lieferanten entwickeln zu lassen, der den gesamten Systemkontext nicht kennt.


Abb. 2 zeigt diese drei Sichten, die sich durch Verfeinerung auseinander ergeben. Offensichtlich ist
diese Dreiteilung rekursiv: Die Komponentenanforderung an einen Lieferanten ist dort wiederum eine
Marktanforderung. Diese drei Sichten und ihre Trennung sind also nicht im Voraus definiert, sondern
hängen von der Lösungsstruktur ab. Beispielsweise könnte ein Benutzer oder Kunde die Anforderung
wie folgt stellen:
M-Req-11-18: Das System verwaltet die Kundendaten im Format Name, Vorname, Adresse.
Der Requirements-Ingenieur spezifiziert dazu eine Lösung mit der folgenden Komponentenanforde-
rung:
K-Req-11-24: Die Datenbank zur Verwaltung der Kundendaten wird mit Oracle 10 realisiert.
Offensichtlich sind dies zwei Anforderungen an die Datenhaltung, die aus verschiedener Perspektive
beschrieben sind, nämlich Nutzung und Realisierung. Nun könnte aber auch der Kunde bereits eine
technische Anforderung zur Realisierung haben, da er eine mySQL-Umgebung einsetzt und Kompati-
bilität sowie günstigere Lizenzkosten will. Er spezifiziert:
M-Req-11-19: Die Datenbank zur Verwaltung der Kundendaten wird mit mySQL realisiert.
Nun wird aus der bisherigen Komponentenanforderung (K-Req-11-24) eine Marktanforderung (M-Req-
11-19). Gleichermaßen gibt es Situationen, wo das Lastenheft und die Geschäftsanforderungen so
vage sind, dass das Pflichtenheft auch als Problembeschreibung fungiert. Anstatt über solche Feinhei-
ten zu debattieren, ist es wichtig, dass die Anforderungen immer mit ihrer jeweiligen Quelle spezifiziert
werden. Dann ist zu jedem Zeitpunkt klar, wie es zur Anforderung kam, und welche Freiheitsgrade für
eine Änderung bestehen, so dies die Realisierung erleichtert. M-Req-11-19 lässt sich sehr viel schwe-
rer beeinflussen als die konzeptionell gleiche K-Req11-24, da die M-Req-11-19 direkt vom Kunden
stammt, und daher unsere Lösung bereits definiert.


Requirements Engineering
Requirements Engineering (RE) ist das disziplinierte und systematische Vorgehen (d.h. "Engineering")
zur Ermittlung, Strukturierung, Spezifikation, Verifikation, Analyse, Evolution und Verwaltung von An-
forderungen unter kundenorientierten, technischen, wirtschaftlichen und erfolgsorientierten Vorgaben.
Gutes Requirements Engineering macht den Unterschied aus zwischen einem erfolgreichen Produkt
und einer Feature-Sammlung
Requirements Engineering beschreibt die Disziplin innerhalb der Softwaretechnik und der System-
technik, die sich mit den gewünschten Eigenschaften und Einschränkungen von Softwaresystemen
befasst. Damit ist gutes Requirements Engineering eine unabdingbare Voraussetzung für gutes Pro-
jektmanagement:
 Das Ziel von Requirements Engineering ist es, qualitativ gute – nicht perfekte – Anforderungen zu
    generieren, die es erlauben, das Projekt mit einem akzeptablen Risiko zu beginnen.
6
   Der Zweck des Requirements Engineering ist es, ein Einverständnis zwischen dem Kunden und
    dem Softwareprojekt (also dem Lieferanten) über jene Anforderungen zu erreichen, die durch das
    Softwareprojekt abgedeckt werden.
Requirements Engineering ist damit eine sehr bunte und spannende Disziplin. Sie reicht weit über die
Softwaretechnik hinaus. Sie bedient sich der Erfahrungen aus der Systemtechnik, der Psychologie,
der Betriebswirtschaftslehre, dem Marketing, dem Produktmanagement, dem Projektmanagement und
natürlich der Informatik. Durch Requirements Engineering werden Ziele konkretisiert, Wünsche ge-
weckt und Realitäten geschaffen. Da es keine absoluten Wahrheiten gibt, kommt dem Requirements
Engineering die einmalige Aufgabe zu, Wahrnehmungen und Ziele zu entwickeln. Requirements En-
gineering stellt sicher, dass der Projektmanager das Projekt zu jedem Zeitpunkt unter Kontrolle hat –
ohne dass die Eigendynamik aus Kundenbeziehungen, Herausforderungen in der Realisierung und
den zahlreichen politischen Risiken ihn zu einem Spielball externer Interessen machen.
Requirements Engineering ist die systematische Vorgehensweise (Abb. 3), um alle Anforderungen
(also Prozessanforderungen, funktionale und nichtfunktionale Produktanforderungen)
 zu ermitteln,
 zu spezifizieren
 zu validieren,
 zu analysieren,
 zu vereinbaren und einem Projekt zuzuweisen,
 im Projekt zu verwalten und Änderungen konsistent umzusetzen.

                                Requirements Engineering und Management

                                       Ermittlung                  Analyse                Vereinbarung
        Bedürfnisse, Vision,
        Einschränkungen




                                                        Markt-,       Einflüsse,              Prioritäten




                                                                                                            Projekt, Produkt
                               Marktan-               Produkt-        Aufwand,                Zeitpunkte
                               forderungen      anforderungen,        Risiko                  Status
                                                       Modelle
                                             Spezifikation                            Validierung
                                                                       Komponenten-
                                                                       anforderungen
                                 Abhängigkeiten       Status           Spezifikationen,
                                                                       Testfälle
                                                                  Verwaltung


Abb. 3 Aktivitäten und Ergebnisse im Requirements Engineering
Wir haben hier bewusst keinen Prozess (also eine Abfolge von Schritten über die Zeit) dargestellt,
denn der hängt von den Randbedingungen an das Projekt ab (Abb. 4). Beispielsweise fordert ein agi-
les Requirements Engineering mehr Flexibilität und Kundenbeteiligung als ein relativ starres Vorgehen
in Konsortien verschiedener Unternehmen. Die Abbildung impliziert aber eine gewisse Ordnung, die
unabhängig vom Vorgehensmodell gilt. Offensichtlich kommt die Analyse der Anforderungen nach
deren Ermittlung. Unterschieden wird eher dabei, wie viele Anforderungen sinnvollerweise ermittelt
sein müssen, um ein Projekt zu schätzen oder zu starten. Dies erklärt im oberen Teil die Sequenz von
Schritten. Der untere Teil der Spezifikation/Verifikation sowie Verfolgung/Änderungsmanagement ist
zeitlich nicht limitiert. Änderungsmanagement muss es bis zum Projektende geben, und der Bedarf
dafür wird im Laufe des Projekts eher größer.
Standardisierte Prozesse schaffen Wiederholbarkeit, Transparenz und Effizienz. Aber, so wenig es
einen einzigen überall gültigen Entwicklungsprozess aus dem Buch gibt, so wenig passt ein einziger
Prozess für das Requirements Engineering. Markterfordernisse, Produkte und Projekte sind zu unter-
schiedlich, um alle Prozesse über einen Kamm zu scheren. Allerdings kann und sollte es für bestimm-
te Projekttypen im Unternehmen definierte Prozess für das Requirements Engineering geben. Wenn
Sie beispielsweise eine Produktlinie haben, die sowohl eine Plattform als auch Varianten davon für
Kunden produziert, dann macht es sicherlich Sinn, die Variantenproduktion durch einen definierten
7
Prozess zu steuern. Ein solcher Prozess könnte beispielsweise Zugriff auf alle existierenden Funktio-
nen der ganzen Produktlinie bieten, so dass Entscheidungen zu Durchführbarkeit und Aufwand ver-
einfacht und reproduzierbar werden.
Prozesse sind durch die Dokumente oder Arbeitsergebnisse am Eingang und Ausgang von Prozess-
schritten definiert (Abb. 5) [1,5]. Jeder Prozess bearbeitet bestimmte Dokumente, verändert sie und
führt damit schrittweise zum endgültigen Produkt. Definierte Meilensteine und Freigabekriterien in der
Verifikation und Validierung sichern eine ausreichende Qualität dieser Dokumente. Die Meilensteine
im Produktlebenszyklus prüfen, ob diese Dokumente frei gegeben sind. Im Requirements Engineering
werden verschiedene Dokumente erzeugt beziehungsweise bearbeitet, auf die nachher weitere Ent-
wicklungsschritte aufbauen. Abb. 5 bildet die wesentlichen Arbeitsergebnisse auf die Aktivitäten des
Requirements Engineering ab.

                 Anforderungen werden frühzeitig           Anforderungen        Anforderungen
              vereinbart. Änderungen erfordern viele     ändern sich noch im   werden im Projekt
                          Abstimmungen.                       Projekt.            entwickelt.

                       Komplexität

                     Großes Projekt
                Lange Lebensdauer
               Hoher Wartungsanteil        Wasserfall-
                                                               Inkrementelle
                   Viele Varianten /         modell,
                                                                Entwicklung
                          Releases          V-Modell
                Mehrere Standorte /                                                 Prototyping,
                        Lieferanten                                                 evolutionär

                     Kleines Projekt
                 Kurze Lebensdauer                            Agile Prozesse
                        Ein Standort
                                                                                    Unsicherheiten
                                       Anforderungen stabil          Anforderungen volatil, unbekannt
                                       Wenig Kundeneinfluss                Starke Kundenbeteiligung

Abb. 4 Vorgehensmodelle und deren Eignung in Abhängigkeit von Projekteigenschaften
Mit diesen Herausforderungen und dieser zahlreichen externen Einflüssen ist Requirements Enginee-
ring aber auch sehr schwierig in der erfolgreichen Umsetzung! Betrachten wir ein einfaches Beispiel,
die Änderungen von Anforderungen. Eine gemeinsame Eigenschaft jeglicher Software und damit auch
von Softwareanforderungen ist, dass sich die Anforderungen im Lebenszyklus ständig ändern. Anfor-
derungen sind in aller Regel unsicher. Sie ändern sich mit einer monatlichen Rate, die 1-5 Prozent
des gesamten Projektaufwands betragen kann [1,4]. Das heißt, dass sich von Anforderungen, die mit
insgesamt 100 Personenwochen Projektaufwand ursprünglich abgeschätzt wurden, pro Monat Anfor-
derungen im Umfang von bis zu 5 Wochen ändern. Diese 5 Wochen relative Änderung sind nicht im-
mer mit 5 Personenwochen Aufwand zu erledigen. Stellen Sie sich vor, dass die Änderung erst
kommt, nachdem die Anforderung bereits integriert ist. Dann kann eine Änderung ein Vielfaches des
ursprünglich dafür nötigen Aufwands betragen. Diese Hebelwirkung unterstreicht den Geschäftsnut-
zen eines systematischen Requirements Engineering. Was über diesen 5 Prozent Änderungsrate pro
Monat liegt, gefährdet den Projektverlauf massiv und kann eigentlich nur mit evolutionären Vorge-
hensweisen abgefangen werden.
Gutes Requirements Engineering stellt sicher, dass der Projektmanager zu jedem Zeitpunkt aus Kun-
densicht weiß, welche Anforderungen bereits implementiert, getestet oder freigegeben sind. Er muss
dies wissen, um bei Gefahr von Terminüberschreitungen rechtzeitig niedrig priorisierte Anforderungen
verschieben zu können.
Requirements Engineering ist vor diesem Hintergrund eine Sisyphusarbeit, denn es ist bereits früh
klar, dass es Verluste gibt, wenn man nicht aufpasst. Ob die Verluste letztendlich in Ihrem Unterneh-
men auftreten oder auf der Kundenseite, ist nahezu egal. Ein Projekt kennt in der Regel nur Gewinner
oder Verlierer. Ein Kunde, der zu lange warten muss und der nicht erhält, was er will, ist unzufrieden –
8
selbst, wenn das Projekt im Budget abgeschlossen hat. Er wird diese Unzufriedenheit auf vielfältige
Art zum Ausdruck bringen. Requirements Engineering muss also versuchen, diese verschiedenen
Interessen und Sichtweisen unter einen Hut zu bringen. Es hat sehr viel weniger technische Aspekte
und sehr viel mehr „politische“ und psychologische Aspekte, als man gemeinhin wahr haben will.

                              Ermittlung    Analyse    Validierung    Verein-   Verwaltung
           Arbeitsergebnis                                            barung
           Vision                 x
           Use Case /             x
           Szenario
           Bewertung              x            x            x                       x
           Lastenheft             x            x            x           x           x
           Projektplan                         x            x           x           x
           Teststrategie                       x            x                       x

           Lösungsmodell                       x            x                       x
           Pflichtenheft                       x            x           x           x
           Releaseplanung                      x                        x           x

           Produktkatalog                                               x           x

           Vertrag                                          x           x           x
           Abnahme                                                      x           x

Abb. 5 Arbeitsergebnisse und Dokumente im Requirements Engineering
Projekterfahrungen in der Medizintechnik
Software-intensive medizinische Systeme stehen in einem immensen Marktdruck. Während sie tech-
nologisch und hinsichtlich ihrer Sicherheit kompromisslos innovativ sein müssen, fordern die Kranken-
häuser und auch Gesundheitskostenreformen eine immer kürzere Zykluszeit bei gleichzeitig ange-
spannten Budgets. Requirements Engineering hat eine Schlüsselstelle als Erfolgsfaktor im Gesund-
heitswesen. Traditionelle Entwicklungsprozesse, die Innovation und Qualität über einen schwerfälligen
Prozess erreichten, sind nun mehr selten zeitgemäß. Viele Unternehmen der Industrie ändern ihre
Entwicklungsansätze in Richtung iterativer und concurrent Engineering Ansätze [6]. Diese Fallstudie
zeigt Erfahrungen und bietet Orientierung hin zu Requirements Engineering in medizinischen Syste-
men.
Die Innovationsrate im Gesundheitswesen beschleunigt sich ständig, und entsprechend wachsen die
Anforderungen auf die Medizintechnik. Heute sind ein drittel aller Produkte jünger als drei Jahre, Ten-
denz steigend. Beispielsweise stieg die Verbreitung von medizinisch-technischen Geräten um 52% im
Zeitraum von 2000 bis 2009. Software ist heute die Schlüsselkomponente in der Automatisierung von
klinischen Abläufen schlechthin. Der Softwaregehalt eines medizinisch-technischen Geräts lag im Jahr
2000 etwa bei 30%. Heute (2011) umfasst der Anteil der Software bei einem Anteil größer 60%. Es
geht dabei zunehmend um lösungsorientierte Interoperabilität klinischer Informationssysteme im Inter-
esse kosteneffizienter medizinischer Workflows (
Abb. 6). Während die Medizingeräteentwicklung global entwickelt ausgerichtet ist, müssen regulatori-
sche Freigaben pro Markt erreicht werden.
Ohne ein systematisches Requirements Engineering ist die Wahrscheinlichkeit hoch, dass ein Projekt
scheitert. Werden beispielsweise die Qualitätsanforderungen missverstanden, entstehen z.B. Proble-
me in der Benutzbarkeit und der Performanz. Ärzte und Krankenpfleger sind Entscheidungsträger für
oder gegen ein Produkt. Ist das Produkt Portfoliomanagement von der Entwicklung entkoppelt, passen
die Funktionen nicht zu den Marktanforderungen. Anforderungsänderungen werden erst zu spät er-
kannt und führen zu unnötigen Non-Conformance Kosten. Da klinische Abläufe aufgrund der hohen
kombinatorischen Komplexität und einer eher geringen Standardisierung sowie ihres ad-hoc Charak-
9
ters nur schwer zu modellieren sind, muss das Requirements Engineering spezifische Techniken für
die Medizintechnik und das Gesundheitswesen entwickeln.
Wir wollen den Nutzen des systematischen Requirements Engineering anhand der Entwicklung der
Benutzerschnittstelle für ein klinisches Abrechnungssystem darstellen. Das Projekt wurde mit vierzig
Mitarbeitern in sechs Scrum Teams (Requirements Ingenieure, UI Designer, Architekten, Produkt Ma-
nager, Subject Matter Experten) umgesetzt. Die Dauer war achtzehn Monate. Projektziele waren das
Redesign der Schnittstelle hin zu bessere Benutzbarkeit, da dies das Schlüsselkriterium der Kaufent-
scheidung bei klinischen Informationssystemen darstellt. Lean Development wurde mit Requirements
Engineering kombiniert, um die Anforderungen kundenorientiert zu spezifizieren und schrittweise zu
verfeinern. Zudem musste ein innovativer klinischer Workflow beispielsweise für das Bettenmanage-
ment umgesetzt werden. Im Projekt wurden fünfzehn End-to-End Abläufe mit 160 Lines of Code in
Java implementiert, und die neue Benutzerschnittstelle realisiert [9].
In einem zweiten Projekt von einem anderen Geschäftsgebiet wurde Produktlinien Requirements En-
gineering für die Entwicklung einer bildgebenden Plattform syngo.via eingeführt mit Einsatz von meh-
reren hundert Entwicklern an unterschiedlichen Standorten weltweit. Dieses Projekt umfasste mehr als
fünftausend Anforderungen. Auch hier wurden die Ergebnisse erreicht. Fortan bildet der Produktlinien
Engineering Ansatz auch die Grundlage für weitere Verbesserungsmaßnahmen wie etwa die Verkür-
zung der Produktentwicklungsdurchlaufzeit über einen Scrum-basierten Entwicklungsansatz. Weiter
zeigt eine durchgeführte Kosten-Nutzen Rechnung, dass dieser Ansatz mehrere Millionen Euro an
Effizienzsteigerung gesamtheitlich in der Produktdefinition (~25%), Projektplanung (~ 23%), Architek-
tur (~ 7%) sowie in der Verifikation (~ 45%) bringt.
In den beschrieben Projekten wurden die folgenden Erfahrungen (Best Practices) gemacht, die auch
in anderem Kontext nutzbar sind.
1. Saubere Trennung von Problem- und Lösungsraum. Die Entwicklung einer Lösung beeinflusst
die Sicht auf eine Problemstellung – und dann somit zu falschen Lösungen führen (vgl. Abb. 2). Mit
der sauberen Trennung des Problem- und Lösungsraumes, werden die späteren Änderungswünsche
effektiv reduziert. Weiters liefert diese Praktik, die Möglichkeit, eine Impact Analyse durchzuführen,
damit die Änderungen in der Architektur abgeschätzt werden können.
2. Entwickeln eines geeigneten Verständnisses von Kundenanforderungen. Kunden haben oft
implizites komplettes Verständnis für die Anforderungen. Jedoch sind diese manchmal schwer in der
Lage, diese präzise zu artikulieren. Sie wollen einen Nutzen erreichen, der allerdings noch in Spezifi-
kationen umgesetzt werden muss. Dazu sollten Anforderungen sollten so früh wie möglich verfeinert
werden. Wir nutzen dazu ein Glossar, das immer den Bezug zur Nutzersprache gewährleistet, sowie
Rapid Prototyping zur Erstellung von Benutzerschnittstellen Konzepten.
3. Nutzung von Storyboards für Workflows mit hohem User Interface Anteil. Dabei dient das
Storyboard als Container für Anforderungen, User Interface Visualisierung sowie Testfälle. Es erlaubt,
den Erfolgsfall sowie die Fehlerfälle darzustellen und wird mit Timeboxing iterativ verfeinert. Typi-
scherweise kann Microsoft PowerPoint als Werkzeug zur Erstellung der Spezifikation verwendet wer-
den.
4. Verwendung strukturierter Anforderungen zur Planung und Budgetierung. Am Projektanfang
muss der Aufwand zur Strukturierung spendiert werden. Entsprechend der eignen Erfahrung sollten
Projektleiter etwa acht bis zehn Prozent des Projektbudgets veranschlagen. Damit werden Abhängig-
keiten zwischen Funktionen besser verstanden und damit Fehler aus unverstandener Komplexität ver-
ringert. Nach unseren Erfahrungen ergibt sich die geeignete Anforderungsstrukturierung nach der drit-
ten bis vierten Verfeinerung. Damit erreicht man eine Stabilität für die weitere Entwicklung des Projek-
tes. Die Anforderungen sollten am besten entlang bestimmter funktionaler (z.B. klinischer) Domänen
hierarchisch organisiert werden [6].
5. Entwicklung eines geeigneten Traceability Modells. Ad-hoc Verknüpfungen zwischen Anforde-
rungen und Ergebnissen von der Spezifikation bis zu den Testfällen und der Dokumentation ohne kla-
re Strategie reduziert die Qualität und erhöht Nacharbeiten. Daher muss die Traceability mit einer kla-
10
ren Zielstellung und inhaltlichen Orientierung aufgebaut sein (vgl. Abb. 5). Sie sollte die nötigen Arte-
fakte, die verknüpft werden müssen definieren, deren Granularität vorgeben, sowie Mechanismen zur
Methodik und deren Umsetzung in Werkzeuge beschreiben. Dies ist bei medizinisch-technischen An-
wendungen von entscheidender Bedeutung für die Zulassung zum Markt. Wesentlich ist die Pflege
der Abhängigkeitsbeziehungen. Wir empfehlen, die Verantwortungen vorab festzulegen, und den nöti-
gen Aufwand einzuplanen. Damit ist eine frühzeitige Einflussanalyse möglich sowie Fortschrittsmes-
sung, Kostenkontrolle (Earned Value) und Testfortschritt auf Basis der Abdeckung erreichter Anforde-
rungen möglich.
6. Disziplinierter Einsatz von Standards und Reviews. Nur mit klaren internen Vorgaben zum
Requirements Engineering, den Arbeitsergebnissen sowie Vorgehensweisen und Verantwortungen
sind die Ergebnisse nachher konsistent und können produktübergreifend für die Lösungsentwicklung,
wie sie im klinischen Bereich heute üblich ist, wirtschaftlich genutzt werden. Wir empfehlen den Ein-
satz von Industriestandards, die an die Notwendigkeiten des Projektes angepasst werden. Dokumen-
tenvorlagen erlauben die Einhaltung von Dokumentationsstandards. Zudem stellen Standards die nö-
tige Routine für die Reviews von Anforderungen sicher, die häufig im Projektdruck vernachlässigt
werden – mit aufwändiger und zeitraubender Nacharbeit.
Requirements Engineering hat eine Schlüsselstelle als Erfolgsfaktor im Gesundheitswesen. Traditio-
nelle Entwicklungsprozesse, die Innovation und Qualität über einen schwerfälligen Prozess erreichten,
sind nicht mehr zeitgemäß. Unsere Studien zeigen, dass in der Medizintechnik die Kosten für Nachar-
beiten über den Produktlebenszyklus hinweg durch eine Verbesserung des Requirements Engineering
um 30-50% gesenkt werden können.




Abb. 6 Integrierte Klinische Workflows (Onkologie Workflow)


Zusammenfassung
Die Einführung und systematische Umsetzung von Requirements Engineering braucht Aufwand so-
wohl in der Entwicklung als auch an ihren Schnittstellen, also Produktmanagement, Produktmarketing
und Vertrieb. Häufig wird dieser Aufwand als zu hoch und zu zeitraubend gesehen, so dass die Anfor-
derungen weiterhin ad-hoc in das Projekt hineinpurzeln und dort bruchstückhaft und mit vielen Na-
charbeiten umgesetzt werden, bis einmal mehr das Projekt seine Ziele verfehlt oder abgebrochen
werden muss. Aus unserer Beratungspraxis sowie den Industrieerfahrungen der Medizintechnik ken-
nen wir das Dilemma: Verbesserungen in Methodik, Prozessen, Ausbildung und Werkzeugen werden
nicht angegangen, da der Anfangsaufwand, um diese Verbesserungen anzustoßen als zu hoch be-
trachtet wird. Daher wollen wir zum Schluss die Nutzen eines systematischen Requirements Enginee-
11
ring quantitativ unterstreichen und vor allem konkrete Hinweise geben, wie Sie in Ihrer eigenen Um-
gebung den Nachweis führen können, dass sich der Aufwand für das Requirements Engineering
lohnt. Eine weitaus umfangreichere Darstellung der ROI-Konzepte und zugrunde liegenden Projekt-
aufwandsdaten findet sich in [1,4,6].
Der Nutzen eines guten Requirements Engineering kann an verschiedenen Faktoren festgemacht
werden. Im Folgenden geben wir Anhaltspunkte für die eigene Nutzenrechnung, die wir aus verschie-
denen Kundenprojekten in unterschiedlichen Branchen konkret realisiert hatten [1,4,6].
 Produktivitätsverbesserung. Typischerweise werden 30-50% des Entwicklungsaufwands für Feh-
    lerbehebung und nicht entwicklungsbezogene Aktivitäten eingesetzt. Die Hälfte der Fehler kommt
    direkt aus unzureichenden Anforderungen und unkontrollierten Änderungen. Im Systemtest sind
    es 80% der Fehler, die von unvollständigen (31%) oder falschen (49%) Anforderungen resultieren.
 Verbesserte Projektplanung und Ressourcen-Einteilung, weniger Verzögerungen vor Projektstart,
    eine schnellere Anlaufphase sowie Termintreue aufgrund von bekannten Anforderungen und kla-
    ren Verantwortungen im Projektteam und im Vertrieb. Mehr Aufwand für Entwicklung und konse-
    quente Umsetzung und Test der Anforderungen schafft eine Verbesserung der Termintreue und
    reduziert Verzögerungen auf unter 20%.
 Kürzere Durchlaufzeiten durch Fokus auf jene Aktivitäten und Inhalte, die Wert schaffen. Über die
    Hälfte aller Funktionen eines Softwaresystems werden nicht genutzt. Das gilt sowohl in der IT wie
    auch in technischen Produkten. Weniger Anforderungen reduzieren die Komplexität und machen
    damit die Projekte verlässlicher sowie die Qualität besser.
 Weniger Nacharbeiten von inkonsistenten Anforderungen durch Einflussanalyse bei sich ändern-
    den Anforderungen und Verfolgbarkeit zu den betroffenen Arbeitsergebnissen. Werden die Anfor-
    derungen so umgesetzt, wie sie vom Kunden oder Benutzer beschrieben werden, führt das zu
    Nacharbeiten, die im Schnitt 45% des Projektaufwands ausmachen.
 Wiederverwendung von Anforderungen und davon abgeleiteten Arbeitsergebnissen, beispielswei-
    se Mechanismen zur Systemsicherheit und zur Benutzbarkeit.
 Bessere Kundenzufriedenheit durch konsistentes Verständnis über die wirklichen Anforderungen
    und Entwicklung einer Lösung für die wirklichen Bedürfnisse.
Einige dieser Faktoren, wie Termintreue oder weniger Nacharbeiten, schaffen einen unmittelbar greif-
baren Nutzen. Andere, wie beispielsweise die Kundenzufriedenheit sind eher opportunistisch und
werden in Form nachhaltig guter Kundenbeziehungen und weiterer Projekte greifbar. Insgesamt zei-
gen unsere Erfahrungen, dass eine Verdoppelung des Aufwands für Requirements Engineering hin zu
10% des Projektaufwands in den Bereichen Methodik, Prozesse, Training und Werkzeugunterstüt-
zung konkret realisierbarem Projektnutzen von über 20% schaffen. Das ist ein ROI von mehr als 4,
und damit sind nur die direkt messbaren Vorteile berücksichtigt. Genügend Gründe, dass Sie Ihr eige-
nes Requirements Engineering hinterfragen und optimieren.




Sidebar: Tipps für die Praxis
Trennen Sie bei der Anforderungsentwicklung zwischen der externen Sicht (Marktanforderungen, Be-
dürfnisse, Problembeschreibung) und der internen Sicht (Produktanforderungen, Lösungskonzeption,
Komponentenanforderungen).
Bilden Sie in der Spezifikation der Anforderungen drei Typen von Anforderungen, nämlich Marktanfor-
derungen, Produktanforderungen und Komponentenanforderungen. Vermischen sie nicht diese drei
verschiedenen Sichtweisen, denn sie helfen bei der Strukturierung und Entwicklung der späteren Lö-
sung und bei der sauberen Behandlung von Änderungen auf einer dieser drei Abstraktionsebenen.
Vermischen Sie niemals das Was und das Wie. Beginnen Sie nicht zu früh mit der Lösung, solange
noch nicht klar ist, was die wesentlichen Bedürfnisse sind.
Modellieren Sie beim Übergang von der Problembeschreibung (z.B. Lastenheft) zur Lösungskonzepti-
on (z.B. Pflichtenheft) sowohl die Systemumgebung als auch die zu entwickelnde Systemarchitektur.
12
Beim Übergang zu den Komponentenanforderungen muss die Systemarchitektur bereits hinreichend
detailliert sein, um Auswirkungen von Entwurfsentscheidungen (z.B. Partitionierungen) bewerten zu
können.
Antworten Sie immer auf der Basis der Konsequenzen auf den Projektplan, falls es zu Änderungsvor-
schlägen kommt. Begeben Sie sich nie in eine Situation, in der Änderungswünsche isoliert von den
Auswirkungen im Projekt und der Rückwirkung auf andere Funktionen behandelt werden.
Berücksichtigen Sie alle Anforderungen. Fragen Sie relevante Interessenvertreter, ob etwas überse-
hen worden ist. Machen Sie dabei klar, dass die Ermittlung von Anforderungen noch keine Garantie
für deren Lieferung ist. Geliefert wird nur, was vereinbart und bezahlt wird.
Betrachten Sie Requirements Engineering als projektbegleitend. Requirements Engineering ist nicht
mit dem Erfassen von Anforderungen abgeschlossen. Als Prozess begleitet es die weitere Entwick-
lung bis zum Projektabschluss und darüber hinaus in die Betriebs- und Wartungsphase – bis zum Le-
bensende.
Setzen Sie Methodik und Werkzeuge im Requirements Engineering situativ ein. Ein Werkzeug allein
bringt keine Verbesserung. Die Basis für gute Ergebnisse ist Systematik und Disziplin. Zuerst muss
ein schlanker Prozess für das Requirements Engineering für alle Projektbeteiligten (auch Vertrieb)
verpflichtend vereinbart werden. Der Prozess kann durch sehr einfache Spreadsheets unterstützt
werden. Werkzeuge werden dann eingeführt, wenn sie einen messbaren Vorteil bringen.
Überlegen Sie sich gut, was Sie mit einem Werkzeug erreichen wollen. Was billig aussieht, bleibt es
nicht. Hausgemachte Werkzeuge auf der Basis von Datenbanken wachsen oftmals in einen Bereich,
wo ein kommerzielles Werkzeug im unteren Kostenbereich sehr viel günstiger gewesen wäre. Grund-
sätzlich gilt heute, dass kein Unternehmen mehr solche Werkzeuge selbst machen sollte – außer Sie
wollen es anschließend verkaufen oder aber im Bereich von kundenspezifischen Dienstleistungen
einsetzen.
Optimieren Sie das Requirements Engineering, und Sie werden in den Projekten beträchtlichen Auf-
wand sparen. Systematisches Requirements Engineering reduziert Nacharbeiten, Zusatzaufwände
durch Inkonsistenzen und vor allem Fehler, die erst spät entdeckt werden.




Literatur
[1] Ebert, C.: Systematisches Requirements Engineering und Management. Dpunkt-Verlag, Heidel-
berg, Germany, dritte überarbeitete Auflage 2010.
[2] Standish Group: Chaos Report 2009. http://www.standishgroup.com. Zitiert: 14.02.2011.
[3] Lawrence, B., Wiegers, K, Ebert, C.: The Top Risks of Requirements Engineering. IEEE Software,
Vol. 18, No. 6, pp. 62-63, Nov. 2001.
[4] Ebert, C. und R. Dumke: Software Measurement. Springer, Heidelberg, New York, 2007.
[5] Davis, A. M.: Just Enough Requirements Management. Dorset House, New York, USA, 2005.
[6] Berenbach B., Paulish D., Kazmeier J., Rudorfer A.: Software Systems Requirements Engineering,
McGraw Hill, 2009.

Weitere ähnliche Inhalte

Was ist angesagt?

Usability Engineering in Medizintechnik-Projekten
Usability Engineering in Medizintechnik-ProjektenUsability Engineering in Medizintechnik-Projekten
Usability Engineering in Medizintechnik-Projektenm3mitsuppe
 
Ketzerischer Vortrag zur Agilen Entwicklung
Ketzerischer Vortrag zur Agilen Entwicklung Ketzerischer Vortrag zur Agilen Entwicklung
Ketzerischer Vortrag zur Agilen Entwicklung Thomas Arends
 
Agile Engineering & Processing Strategies 2012 Agenda
Agile Engineering & Processing Strategies 2012 AgendaAgile Engineering & Processing Strategies 2012 Agenda
Agile Engineering & Processing Strategies 2012 AgendaMaria Willamowius
 
CallCenter for Finance 2/2014
CallCenter for Finance 2/2014CallCenter for Finance 2/2014
CallCenter for Finance 2/2014Anja Bonelli
 
Projektmanagement als Effizienzbooster
Projektmanagement als EffizienzboosterProjektmanagement als Effizienzbooster
Projektmanagement als Effizienzboosterplümer)communications
 
Mastering architecture, design- and code-quality
Mastering architecture, design- and code-qualityMastering architecture, design- and code-quality
Mastering architecture, design- and code-qualitySebastian Dietrich
 
Ws critical chainproject_0408
Ws critical chainproject_0408Ws critical chainproject_0408
Ws critical chainproject_0408ICV
 
Kosten technischer Qualität in der Softwareentwicklung
Kosten technischer Qualität in der SoftwareentwicklungKosten technischer Qualität in der Softwareentwicklung
Kosten technischer Qualität in der SoftwareentwicklungSebastian Dietrich
 
Weniger Krise – mehr Projekte: Trends im Stillstandsmanagement
Weniger Krise – mehr Projekte: Trends im StillstandsmanagementWeniger Krise – mehr Projekte: Trends im Stillstandsmanagement
Weniger Krise – mehr Projekte: Trends im StillstandsmanagementMateus Siwek
 
Human Change Management
Human Change ManagementHuman Change Management
Human Change ManagementMichael Wyrsch
 
Von Quickr bis PAVONE PM
Von Quickr bis PAVONE PMVon Quickr bis PAVONE PM
Von Quickr bis PAVONE PMUdo Sill
 
Projektrisiken blue pm.eu_mai11_v1.0
Projektrisiken blue pm.eu_mai11_v1.0Projektrisiken blue pm.eu_mai11_v1.0
Projektrisiken blue pm.eu_mai11_v1.0bluePM
 
Change und Rollout Management in IT-Projekten
Change und Rollout Management in IT-ProjektenChange und Rollout Management in IT-Projekten
Change und Rollout Management in IT-ProjektenJürgen Marx
 

Was ist angesagt? (16)

Usability Engineering in Medizintechnik-Projekten
Usability Engineering in Medizintechnik-ProjektenUsability Engineering in Medizintechnik-Projekten
Usability Engineering in Medizintechnik-Projekten
 
Ketzerischer Vortrag zur Agilen Entwicklung
Ketzerischer Vortrag zur Agilen Entwicklung Ketzerischer Vortrag zur Agilen Entwicklung
Ketzerischer Vortrag zur Agilen Entwicklung
 
Agile Engineering & Processing Strategies 2012 Agenda
Agile Engineering & Processing Strategies 2012 AgendaAgile Engineering & Processing Strategies 2012 Agenda
Agile Engineering & Processing Strategies 2012 Agenda
 
Mehr Softwarequalität: Team-Cleancoding
Mehr Softwarequalität: Team-CleancodingMehr Softwarequalität: Team-Cleancoding
Mehr Softwarequalität: Team-Cleancoding
 
CallCenter for Finance 2/2014
CallCenter for Finance 2/2014CallCenter for Finance 2/2014
CallCenter for Finance 2/2014
 
It Projekte
It  ProjekteIt  Projekte
It Projekte
 
Projektmanagement als Effizienzbooster
Projektmanagement als EffizienzboosterProjektmanagement als Effizienzbooster
Projektmanagement als Effizienzbooster
 
InterfaceProjects
InterfaceProjectsInterfaceProjects
InterfaceProjects
 
Mastering architecture, design- and code-quality
Mastering architecture, design- and code-qualityMastering architecture, design- and code-quality
Mastering architecture, design- and code-quality
 
Ws critical chainproject_0408
Ws critical chainproject_0408Ws critical chainproject_0408
Ws critical chainproject_0408
 
Kosten technischer Qualität in der Softwareentwicklung
Kosten technischer Qualität in der SoftwareentwicklungKosten technischer Qualität in der Softwareentwicklung
Kosten technischer Qualität in der Softwareentwicklung
 
Weniger Krise – mehr Projekte: Trends im Stillstandsmanagement
Weniger Krise – mehr Projekte: Trends im StillstandsmanagementWeniger Krise – mehr Projekte: Trends im Stillstandsmanagement
Weniger Krise – mehr Projekte: Trends im Stillstandsmanagement
 
Human Change Management
Human Change ManagementHuman Change Management
Human Change Management
 
Von Quickr bis PAVONE PM
Von Quickr bis PAVONE PMVon Quickr bis PAVONE PM
Von Quickr bis PAVONE PM
 
Projektrisiken blue pm.eu_mai11_v1.0
Projektrisiken blue pm.eu_mai11_v1.0Projektrisiken blue pm.eu_mai11_v1.0
Projektrisiken blue pm.eu_mai11_v1.0
 
Change und Rollout Management in IT-Projekten
Change und Rollout Management in IT-ProjektenChange und Rollout Management in IT-Projekten
Change und Rollout Management in IT-Projekten
 

Andere mochten auch

Relato autobiografico - Andrés Palpati
Relato autobiografico - Andrés PalpatiRelato autobiografico - Andrés Palpati
Relato autobiografico - Andrés PalpatiAndrés Palpati
 
Uni Training Singapore 07 08 V2
Uni Training Singapore 07 08 V2Uni Training Singapore 07 08 V2
Uni Training Singapore 07 08 V2guesta858ba
 
Nayax Bildschirm-Präsentation 2015
Nayax Bildschirm-Präsentation 2015Nayax Bildschirm-Präsentation 2015
Nayax Bildschirm-Präsentation 2015Bastian Burke
 
O2PM Presentation
O2PM PresentationO2PM Presentation
O2PM PresentationMidMos
 
Unidad iv. equipo delta
Unidad iv. equipo deltaUnidad iv. equipo delta
Unidad iv. equipo deltaadsinformacion
 
ESCRITO ESTA EN ACCIÓN. LA VIDA DE CORNELIO Y PEDRO. HECHOS 10:1-27. (HCH. N...
ESCRITO ESTA EN ACCIÓN. LA VIDA DE CORNELIO Y PEDRO.  HECHOS 10:1-27. (HCH. N...ESCRITO ESTA EN ACCIÓN. LA VIDA DE CORNELIO Y PEDRO.  HECHOS 10:1-27. (HCH. N...
ESCRITO ESTA EN ACCIÓN. LA VIDA DE CORNELIO Y PEDRO. HECHOS 10:1-27. (HCH. N...CPV
 
[Unfv 2011]sistemas - inv mercado parte 1
[Unfv   2011]sistemas - inv mercado parte 1[Unfv   2011]sistemas - inv mercado parte 1
[Unfv 2011]sistemas - inv mercado parte 1Erick Otaku
 
Que es la fp libro para el alumnado de la eso
Que es la fp libro para el alumnado de la esoQue es la fp libro para el alumnado de la eso
Que es la fp libro para el alumnado de la esojalelio10
 
Evaluación formativa.
Evaluación formativa.Evaluación formativa.
Evaluación formativa.Student
 
Lee McKnight Jr Fuel Lines Presentation-New Business For Small to Mid-Sized A...
Lee McKnight Jr Fuel Lines Presentation-New Business For Small to Mid-Sized A...Lee McKnight Jr Fuel Lines Presentation-New Business For Small to Mid-Sized A...
Lee McKnight Jr Fuel Lines Presentation-New Business For Small to Mid-Sized A...RSW/US
 
Geopaparazzi, history of a digital mapping kid
Geopaparazzi, history of a digital mapping kidGeopaparazzi, history of a digital mapping kid
Geopaparazzi, history of a digital mapping kidAndrea Antonello
 

Andere mochten auch (20)

Renz resume
Renz resumeRenz resume
Renz resume
 
Relato autobiografico - Andrés Palpati
Relato autobiografico - Andrés PalpatiRelato autobiografico - Andrés Palpati
Relato autobiografico - Andrés Palpati
 
Uni Training Singapore 07 08 V2
Uni Training Singapore 07 08 V2Uni Training Singapore 07 08 V2
Uni Training Singapore 07 08 V2
 
Nayax Bildschirm-Präsentation 2015
Nayax Bildschirm-Präsentation 2015Nayax Bildschirm-Präsentation 2015
Nayax Bildschirm-Präsentation 2015
 
Formato hoja vida (1)
Formato hoja vida (1)Formato hoja vida (1)
Formato hoja vida (1)
 
O2PM Presentation
O2PM PresentationO2PM Presentation
O2PM Presentation
 
TAMMY RESUME 2
TAMMY RESUME 2TAMMY RESUME 2
TAMMY RESUME 2
 
Uam6874
Uam6874Uam6874
Uam6874
 
Unidad iv. equipo delta
Unidad iv. equipo deltaUnidad iv. equipo delta
Unidad iv. equipo delta
 
ESCRITO ESTA EN ACCIÓN. LA VIDA DE CORNELIO Y PEDRO. HECHOS 10:1-27. (HCH. N...
ESCRITO ESTA EN ACCIÓN. LA VIDA DE CORNELIO Y PEDRO.  HECHOS 10:1-27. (HCH. N...ESCRITO ESTA EN ACCIÓN. LA VIDA DE CORNELIO Y PEDRO.  HECHOS 10:1-27. (HCH. N...
ESCRITO ESTA EN ACCIÓN. LA VIDA DE CORNELIO Y PEDRO. HECHOS 10:1-27. (HCH. N...
 
[Unfv 2011]sistemas - inv mercado parte 1
[Unfv   2011]sistemas - inv mercado parte 1[Unfv   2011]sistemas - inv mercado parte 1
[Unfv 2011]sistemas - inv mercado parte 1
 
Medio ambiente
Medio ambienteMedio ambiente
Medio ambiente
 
Post Bariatric Surgery Diet Guidelines
Post Bariatric Surgery Diet Guidelines Post Bariatric Surgery Diet Guidelines
Post Bariatric Surgery Diet Guidelines
 
Pei conalco-2010
Pei conalco-2010Pei conalco-2010
Pei conalco-2010
 
Que es la fp libro para el alumnado de la eso
Que es la fp libro para el alumnado de la esoQue es la fp libro para el alumnado de la eso
Que es la fp libro para el alumnado de la eso
 
Evaluación formativa.
Evaluación formativa.Evaluación formativa.
Evaluación formativa.
 
Lee McKnight Jr Fuel Lines Presentation-New Business For Small to Mid-Sized A...
Lee McKnight Jr Fuel Lines Presentation-New Business For Small to Mid-Sized A...Lee McKnight Jr Fuel Lines Presentation-New Business For Small to Mid-Sized A...
Lee McKnight Jr Fuel Lines Presentation-New Business For Small to Mid-Sized A...
 
Interfester mar15
Interfester mar15Interfester mar15
Interfester mar15
 
Atelier initiation Windows Phone 7
Atelier initiation Windows Phone 7Atelier initiation Windows Phone 7
Atelier initiation Windows Phone 7
 
Geopaparazzi, history of a digital mapping kid
Geopaparazzi, history of a digital mapping kidGeopaparazzi, history of a digital mapping kid
Geopaparazzi, history of a digital mapping kid
 

Ähnlich wie Qz Req Eng Ebert Rudorfer 2011 V3

Management of the system architecture in large-scale projects
Management of the system architecture in large-scale projectsManagement of the system architecture in large-scale projects
Management of the system architecture in large-scale projectsCapgemini
 
Webinar: Zukunftstrends für Consulting und Engineering
Webinar: Zukunftstrends für Consulting und EngineeringWebinar: Zukunftstrends für Consulting und Engineering
Webinar: Zukunftstrends für Consulting und Engineeringbhoeck
 
Projektmanagement und IBM Lotus Quickr - Olav Behrens (PAVONE AG)
Projektmanagement und IBM Lotus Quickr  - Olav Behrens (PAVONE AG)Projektmanagement und IBM Lotus Quickr  - Olav Behrens (PAVONE AG)
Projektmanagement und IBM Lotus Quickr - Olav Behrens (PAVONE AG)Udo Sill
 
Softwarequalität – Schlagwort oder Realität ?
Softwarequalität – Schlagwort oder Realität ?Softwarequalität – Schlagwort oder Realität ?
Softwarequalität – Schlagwort oder Realität ?Ernest Wallmueller
 
Fünf fundamentale Fragen für die Bewertung der wirtschaftlichen Performance v...
Fünf fundamentale Fragen für die Bewertung der wirtschaftlichen Performance v...Fünf fundamentale Fragen für die Bewertung der wirtschaftlichen Performance v...
Fünf fundamentale Fragen für die Bewertung der wirtschaftlichen Performance v...bhoeck
 
Agile (Software-) Prozesse - Quo Vadis? [in German]
Agile (Software-) Prozesse - Quo Vadis? [in German]Agile (Software-) Prozesse - Quo Vadis? [in German]
Agile (Software-) Prozesse - Quo Vadis? [in German]Martin Gaedke
 
Der digitale Zwilling als Reisebegleiter in die agile Hardware Entwicklung
Der digitale Zwilling als Reisebegleiter in die agile Hardware EntwicklungDer digitale Zwilling als Reisebegleiter in die agile Hardware Entwicklung
Der digitale Zwilling als Reisebegleiter in die agile Hardware EntwicklungAgile Austria Conference
 
Presentation wincasa isolutions_praxis_pdf
Presentation wincasa isolutions_praxis_pdfPresentation wincasa isolutions_praxis_pdf
Presentation wincasa isolutions_praxis_pdfJosua Regez
 
Einfuehrung Projektmanagement
Einfuehrung ProjektmanagementEinfuehrung Projektmanagement
Einfuehrung ProjektmanagementJürgen Bruns
 
Den PEP (Produktentwicklungsprozess) neu denken!
Den PEP (Produktentwicklungsprozess) neu denken!Den PEP (Produktentwicklungsprozess) neu denken!
Den PEP (Produktentwicklungsprozess) neu denken!Christoph Schmiedinger
 
Ein Requirements Engineering Referenzmodell
Ein Requirements Engineering ReferenzmodellEin Requirements Engineering Referenzmodell
Ein Requirements Engineering ReferenzmodellArnold Rudorfer
 
XING learningZ-Event «Projektmanagement-Methoden»
XING learningZ-Event «Projektmanagement-Methoden»XING learningZ-Event «Projektmanagement-Methoden»
XING learningZ-Event «Projektmanagement-Methoden»Digicomp Academy AG
 
Zeit & Zutritt Kompakt - für Lösungen für Sicherheit und Steuerbarkeit für da...
Zeit & Zutritt Kompakt - für Lösungen für Sicherheit und Steuerbarkeit für da...Zeit & Zutritt Kompakt - für Lösungen für Sicherheit und Steuerbarkeit für da...
Zeit & Zutritt Kompakt - für Lösungen für Sicherheit und Steuerbarkeit für da...Competence Books
 
Produkt Produkt Manager
Produkt Produkt ManagerProdukt Produkt Manager
Produkt Produkt ManagerOliver Belikan
 
Projektmanagement-Trends für 2023 – die wichtigsten Entwicklungen
Projektmanagement-Trends für 2023 – die wichtigsten EntwicklungenProjektmanagement-Trends für 2023 – die wichtigsten Entwicklungen
Projektmanagement-Trends für 2023 – die wichtigsten EntwicklungenAnnaPauels
 
Interview with Michael Weck, Jungheinrich AG
Interview with Michael Weck, Jungheinrich AGInterview with Michael Weck, Jungheinrich AG
Interview with Michael Weck, Jungheinrich AGMaria Willamowius
 
IT-Provider-Management: So behalten Sie die Hebel in der Hand
IT-Provider-Management: So behalten Sie die Hebel in der HandIT-Provider-Management: So behalten Sie die Hebel in der Hand
IT-Provider-Management: So behalten Sie die Hebel in der HandGernot Sauerborn
 
Computerworld: Mehr Kommunikation, bitte! by Stephan Adler SwissQ
Computerworld: Mehr Kommunikation, bitte! by Stephan Adler SwissQComputerworld: Mehr Kommunikation, bitte! by Stephan Adler SwissQ
Computerworld: Mehr Kommunikation, bitte! by Stephan Adler SwissQSwissQ Consulting AG
 
HMP - wer wir sind - was wir tun
HMP - wer wir sind - was wir tunHMP - wer wir sind - was wir tun
HMP - wer wir sind - was wir tunHMP Beratung
 

Ähnlich wie Qz Req Eng Ebert Rudorfer 2011 V3 (20)

Management of the system architecture in large-scale projects
Management of the system architecture in large-scale projectsManagement of the system architecture in large-scale projects
Management of the system architecture in large-scale projects
 
Webinar: Zukunftstrends für Consulting und Engineering
Webinar: Zukunftstrends für Consulting und EngineeringWebinar: Zukunftstrends für Consulting und Engineering
Webinar: Zukunftstrends für Consulting und Engineering
 
Projektmanagement und IBM Lotus Quickr - Olav Behrens (PAVONE AG)
Projektmanagement und IBM Lotus Quickr  - Olav Behrens (PAVONE AG)Projektmanagement und IBM Lotus Quickr  - Olav Behrens (PAVONE AG)
Projektmanagement und IBM Lotus Quickr - Olav Behrens (PAVONE AG)
 
Softwarequalität – Schlagwort oder Realität ?
Softwarequalität – Schlagwort oder Realität ?Softwarequalität – Schlagwort oder Realität ?
Softwarequalität – Schlagwort oder Realität ?
 
Das neue Projektmanagement
Das neue ProjektmanagementDas neue Projektmanagement
Das neue Projektmanagement
 
Fünf fundamentale Fragen für die Bewertung der wirtschaftlichen Performance v...
Fünf fundamentale Fragen für die Bewertung der wirtschaftlichen Performance v...Fünf fundamentale Fragen für die Bewertung der wirtschaftlichen Performance v...
Fünf fundamentale Fragen für die Bewertung der wirtschaftlichen Performance v...
 
Agile (Software-) Prozesse - Quo Vadis? [in German]
Agile (Software-) Prozesse - Quo Vadis? [in German]Agile (Software-) Prozesse - Quo Vadis? [in German]
Agile (Software-) Prozesse - Quo Vadis? [in German]
 
Der digitale Zwilling als Reisebegleiter in die agile Hardware Entwicklung
Der digitale Zwilling als Reisebegleiter in die agile Hardware EntwicklungDer digitale Zwilling als Reisebegleiter in die agile Hardware Entwicklung
Der digitale Zwilling als Reisebegleiter in die agile Hardware Entwicklung
 
Presentation wincasa isolutions_praxis_pdf
Presentation wincasa isolutions_praxis_pdfPresentation wincasa isolutions_praxis_pdf
Presentation wincasa isolutions_praxis_pdf
 
Einfuehrung Projektmanagement
Einfuehrung ProjektmanagementEinfuehrung Projektmanagement
Einfuehrung Projektmanagement
 
Den PEP (Produktentwicklungsprozess) neu denken!
Den PEP (Produktentwicklungsprozess) neu denken!Den PEP (Produktentwicklungsprozess) neu denken!
Den PEP (Produktentwicklungsprozess) neu denken!
 
Ein Requirements Engineering Referenzmodell
Ein Requirements Engineering ReferenzmodellEin Requirements Engineering Referenzmodell
Ein Requirements Engineering Referenzmodell
 
XING learningZ-Event «Projektmanagement-Methoden»
XING learningZ-Event «Projektmanagement-Methoden»XING learningZ-Event «Projektmanagement-Methoden»
XING learningZ-Event «Projektmanagement-Methoden»
 
Zeit & Zutritt Kompakt - für Lösungen für Sicherheit und Steuerbarkeit für da...
Zeit & Zutritt Kompakt - für Lösungen für Sicherheit und Steuerbarkeit für da...Zeit & Zutritt Kompakt - für Lösungen für Sicherheit und Steuerbarkeit für da...
Zeit & Zutritt Kompakt - für Lösungen für Sicherheit und Steuerbarkeit für da...
 
Produkt Produkt Manager
Produkt Produkt ManagerProdukt Produkt Manager
Produkt Produkt Manager
 
Projektmanagement-Trends für 2023 – die wichtigsten Entwicklungen
Projektmanagement-Trends für 2023 – die wichtigsten EntwicklungenProjektmanagement-Trends für 2023 – die wichtigsten Entwicklungen
Projektmanagement-Trends für 2023 – die wichtigsten Entwicklungen
 
Interview with Michael Weck, Jungheinrich AG
Interview with Michael Weck, Jungheinrich AGInterview with Michael Weck, Jungheinrich AG
Interview with Michael Weck, Jungheinrich AG
 
IT-Provider-Management: So behalten Sie die Hebel in der Hand
IT-Provider-Management: So behalten Sie die Hebel in der HandIT-Provider-Management: So behalten Sie die Hebel in der Hand
IT-Provider-Management: So behalten Sie die Hebel in der Hand
 
Computerworld: Mehr Kommunikation, bitte! by Stephan Adler SwissQ
Computerworld: Mehr Kommunikation, bitte! by Stephan Adler SwissQComputerworld: Mehr Kommunikation, bitte! by Stephan Adler SwissQ
Computerworld: Mehr Kommunikation, bitte! by Stephan Adler SwissQ
 
HMP - wer wir sind - was wir tun
HMP - wer wir sind - was wir tunHMP - wer wir sind - was wir tun
HMP - wer wir sind - was wir tun
 

Mehr von Arnold Rudorfer

Nih ce-presentation-05272016(for approval)
Nih ce-presentation-05272016(for approval)Nih ce-presentation-05272016(for approval)
Nih ce-presentation-05272016(for approval)Arnold Rudorfer
 
Configuration Engineering for Invitro-Diagnostic (IVD) Product Development
Configuration Engineering for Invitro-Diagnostic (IVD) Product DevelopmentConfiguration Engineering for Invitro-Diagnostic (IVD) Product Development
Configuration Engineering for Invitro-Diagnostic (IVD) Product DevelopmentArnold Rudorfer
 
Configuration Engineering for Invitro-Diagnostic Product Development
Configuration Engineering for Invitro-Diagnostic Product DevelopmentConfiguration Engineering for Invitro-Diagnostic Product Development
Configuration Engineering for Invitro-Diagnostic Product DevelopmentArnold Rudorfer
 
S Ra P A Concurrent, Evolutionary Software Prototyping Process
S Ra P   A Concurrent, Evolutionary Software Prototyping ProcessS Ra P   A Concurrent, Evolutionary Software Prototyping Process
S Ra P A Concurrent, Evolutionary Software Prototyping ProcessArnold Rudorfer
 
People And Project Management Issues In Highly Time Pressured Rapid Prototypi...
People And Project Management Issues In Highly Time Pressured Rapid Prototypi...People And Project Management Issues In Highly Time Pressured Rapid Prototypi...
People And Project Management Issues In Highly Time Pressured Rapid Prototypi...Arnold Rudorfer
 
Using Evolutionary Prototypes To Formalize Product Requirements
Using Evolutionary Prototypes To Formalize Product RequirementsUsing Evolutionary Prototypes To Formalize Product Requirements
Using Evolutionary Prototypes To Formalize Product RequirementsArnold Rudorfer
 
Scr Position Paper For Chi 04 Workshop
Scr Position Paper For Chi 04 WorkshopScr Position Paper For Chi 04 Workshop
Scr Position Paper For Chi 04 WorkshopArnold Rudorfer
 
Quality Re Pres Ebert Rudorfer Med Conf2011 V5
Quality Re Pres Ebert Rudorfer Med Conf2011 V5Quality Re Pres Ebert Rudorfer Med Conf2011 V5
Quality Re Pres Ebert Rudorfer Med Conf2011 V5Arnold Rudorfer
 
Quality Re Pres Ebert Rudorfer Med Conf2011 V4
Quality Re Pres Ebert Rudorfer Med Conf2011 V4Quality Re Pres Ebert Rudorfer Med Conf2011 V4
Quality Re Pres Ebert Rudorfer Med Conf2011 V4Arnold Rudorfer
 
201108 qz systematisches_re
201108 qz systematisches_re201108 qz systematisches_re
201108 qz systematisches_reArnold Rudorfer
 
Lean Re Pres Rudorfer Vector Forum V1
Lean Re Pres Rudorfer Vector Forum V1Lean Re Pres Rudorfer Vector Forum V1
Lean Re Pres Rudorfer Vector Forum V1Arnold Rudorfer
 
Lean Re Pres Rudorfer Vector Forum V1
Lean Re Pres Rudorfer Vector Forum V1Lean Re Pres Rudorfer Vector Forum V1
Lean Re Pres Rudorfer Vector Forum V1Arnold Rudorfer
 
Visure Solutions Keynote06222009 V3
Visure Solutions Keynote06222009 V3Visure Solutions Keynote06222009 V3
Visure Solutions Keynote06222009 V3Arnold Rudorfer
 
Incose Sweden Model Management01292011 V8
Incose Sweden Model Management01292011 V8Incose Sweden Model Management01292011 V8
Incose Sweden Model Management01292011 V8Arnold Rudorfer
 
Lean Re Pres Ebert Rudorfer Re Conf2011 V8
Lean Re Pres Ebert Rudorfer Re Conf2011 V8Lean Re Pres Ebert Rudorfer Re Conf2011 V8
Lean Re Pres Ebert Rudorfer Re Conf2011 V8Arnold Rudorfer
 
SYNGO TFS Program InfoTeam Keynote
SYNGO TFS Program InfoTeam KeynoteSYNGO TFS Program InfoTeam Keynote
SYNGO TFS Program InfoTeam KeynoteArnold Rudorfer
 

Mehr von Arnold Rudorfer (20)

Nih ce-presentation-05272016(for approval)
Nih ce-presentation-05272016(for approval)Nih ce-presentation-05272016(for approval)
Nih ce-presentation-05272016(for approval)
 
Configuration Engineering for Invitro-Diagnostic (IVD) Product Development
Configuration Engineering for Invitro-Diagnostic (IVD) Product DevelopmentConfiguration Engineering for Invitro-Diagnostic (IVD) Product Development
Configuration Engineering for Invitro-Diagnostic (IVD) Product Development
 
Configuration Engineering for Invitro-Diagnostic Product Development
Configuration Engineering for Invitro-Diagnostic Product DevelopmentConfiguration Engineering for Invitro-Diagnostic Product Development
Configuration Engineering for Invitro-Diagnostic Product Development
 
S Ra P A Concurrent, Evolutionary Software Prototyping Process
S Ra P   A Concurrent, Evolutionary Software Prototyping ProcessS Ra P   A Concurrent, Evolutionary Software Prototyping Process
S Ra P A Concurrent, Evolutionary Software Prototyping Process
 
People And Project Management Issues In Highly Time Pressured Rapid Prototypi...
People And Project Management Issues In Highly Time Pressured Rapid Prototypi...People And Project Management Issues In Highly Time Pressured Rapid Prototypi...
People And Project Management Issues In Highly Time Pressured Rapid Prototypi...
 
Using Evolutionary Prototypes To Formalize Product Requirements
Using Evolutionary Prototypes To Formalize Product RequirementsUsing Evolutionary Prototypes To Formalize Product Requirements
Using Evolutionary Prototypes To Formalize Product Requirements
 
Scr Position Paper For Chi 04 Workshop
Scr Position Paper For Chi 04 WorkshopScr Position Paper For Chi 04 Workshop
Scr Position Paper For Chi 04 Workshop
 
S5rud
S5rudS5rud
S5rud
 
Reconf2012 V4
Reconf2012 V4Reconf2012 V4
Reconf2012 V4
 
Quality Re Pres Ebert Rudorfer Med Conf2011 V5
Quality Re Pres Ebert Rudorfer Med Conf2011 V5Quality Re Pres Ebert Rudorfer Med Conf2011 V5
Quality Re Pres Ebert Rudorfer Med Conf2011 V5
 
Quality Re Pres Ebert Rudorfer Med Conf2011 V4
Quality Re Pres Ebert Rudorfer Med Conf2011 V4Quality Re Pres Ebert Rudorfer Med Conf2011 V4
Quality Re Pres Ebert Rudorfer Med Conf2011 V4
 
201108 qz systematisches_re
201108 qz systematisches_re201108 qz systematisches_re
201108 qz systematisches_re
 
Lean Re Pres Rudorfer Vector Forum V1
Lean Re Pres Rudorfer Vector Forum V1Lean Re Pres Rudorfer Vector Forum V1
Lean Re Pres Rudorfer Vector Forum V1
 
Scrum Med02232011 V4
Scrum Med02232011 V4Scrum Med02232011 V4
Scrum Med02232011 V4
 
Lean Re Pres Rudorfer Vector Forum V1
Lean Re Pres Rudorfer Vector Forum V1Lean Re Pres Rudorfer Vector Forum V1
Lean Re Pres Rudorfer Vector Forum V1
 
Visure Solutions Keynote06222009 V3
Visure Solutions Keynote06222009 V3Visure Solutions Keynote06222009 V3
Visure Solutions Keynote06222009 V3
 
Incose Sweden Model Management01292011 V8
Incose Sweden Model Management01292011 V8Incose Sweden Model Management01292011 V8
Incose Sweden Model Management01292011 V8
 
Refsq 2011 03 29 V3
Refsq 2011 03 29 V3Refsq 2011 03 29 V3
Refsq 2011 03 29 V3
 
Lean Re Pres Ebert Rudorfer Re Conf2011 V8
Lean Re Pres Ebert Rudorfer Re Conf2011 V8Lean Re Pres Ebert Rudorfer Re Conf2011 V8
Lean Re Pres Ebert Rudorfer Re Conf2011 V8
 
SYNGO TFS Program InfoTeam Keynote
SYNGO TFS Program InfoTeam KeynoteSYNGO TFS Program InfoTeam Keynote
SYNGO TFS Program InfoTeam Keynote
 

Qz Req Eng Ebert Rudorfer 2011 V3

  • 1. Systematisches Requirements Engineering Versionierung: QZ, 16.02.2011, v3 Autor: Christof Ebert, Vector GmbH, Stuttgart, Germany Arnold Rudorfer, Siemens AG, Erlangen Germany Kontaktadressen: Dr. Christof Ebert Arnold Rudorfer Vector Consulting Services GmbH Siemens AG Healthcare Sector Ingersheimer Straße 24 Imaging & Therapy SYNGO D-70499 Stuttgart D-91052 Erlangen Germany Germany Phone: +49-711-80670- 175 Phone: +49-9131-84-2299 Fax: +49- 711- 80670- 444 Fax: +49- 9131-84-8691 E-Mail: Christof.Ebert@vector.com E-Mail: Arnold.Rudorfer@siemens.com Lebenslauf der Autoren: Dr. Christof Ebert ist Geschäftsführer und Partner der Vector Consulting Ser- vices. Er unterstützt Unternehmen weltweit bei der Verbesserung der techni- schen Produktentwicklung sowie im Veränderungsmanagement. Zuvor war er fünfzehn Jahre in Engineering- und Führungsfunktionen weltweit in Tele- kommunikation, IT und Transport tätig. Er lehrt an der Universität Stuttgart. Sein Buch „Systematisches Requirements Engineering“ ist das führende Praxisbuch zum Thema und ist gerade in der dritten Auflage bei DPunkt er- schienen. Arnold Rudorfer ist Direktor Software Initiative und Prozess Improvement bei Siemens Healthcare Imaging und Therapy Division (SYNGO). Er ist verant- wortlich für die Einführung von innovativen Software Engineering Technolo- gien, mit dem Ziel, die Entwicklungskosten zu optimieren sowie die Entwick- lungseffizienz zu steigern. Zuvor war er Manager des User Interface Design Centers von Siemens Corporate Technology in Princeton, NJ (USA). Später übernahm er die Verantwortung des Global Technology Fields Requirements Engineering mit Kompetenz Zentren in Princeton, Erlangen, Peking und München. Er ist Koautor des Buches "Software Systems Requirements Engi- neering" (McGraw Hill, April 2009). In der Siemens Software Engineering Community verantwortet er die Organisation von Best Practice Sharing Events.
  • 2. 1 Systematisches Requirements Engineering Christof Ebert, Vector GmbH, Stuttgart, Germany Arnold Rudorfer, Siemens AG, Erlangen Germany Was macht Projekte erfolgreich? Warum scheitern Projekte und liefern nicht das, was ihre Auftragge- ber erwarten? Nach wie vor ist unzureichendes Requirements Engineering der Hauptgrund für abge- brochene Projekte oder solche, die ihre Ziele nicht erreichen. Technologische Herausforderungen sind per se keine wichtigen Projektrisiken, ihr Management dagegen schon. Doch es gibt auch genügend Projekte, die ihre Ziele erreichen. Grund genug, sich mit den Praktiken des Requirements Engineering auseinanderzusetzen und wesentliche Praxistipps zu geben. Dieser Übersichtsbeitrag basiert teilwei- se auf dem Buch „Systematisches Requirements Engineering“, das im Dpunkt-Verlag erschienen ist [1]. Unsere Erfahrungen in verschiedenen Industrieprojekten aus einer Vielzahl von Systemen und Anwendungen zeigen, dass ein gutes Verständnis sowie eine systematische Behandlung von Anfor- derungen erfolgskritisch sind. Wir zeigen mit praktischen Beispielen und einem Praxisbeispiel aus ei- ner sicherheitsrelevanten Anwendung z. B. aus der Medizintechnik, wie Requirements Engineering konkret und erfolgreich umgesetzt wird. Damit können die Kosten für Nacharbeiten um ca. 30% ge- senkt werden. Projektrisiken In ihrer aktuellen Umfrage 2008/9 zur Erfolgsquote von IT-Projekten zeigt die Standish Group, dass 32% aller Projekte erfolgreich sind, während 44% ihre Ziele nicht erreichen und 24% komplett abge- brochen werden (Abb. 1 ) [1]. Unzureichendes Requirements Engineering ist dabei nach wie vor der Hauptgrund für den Misserfolg. Bedenklicher jedoch ist der aktuelle Trend, der die Autoren sogar dazu veranlasste, die Studie nochmals eingehend zu prüfen und erst mit einem halben Jahr Verzögerung freizugeben. Wie bereits in der Krise 2002/3 ist die Erfolgsrate auch in der aktuellen Krise wieder ein- gebrochen. Als Hauptgrund nannten die Autoren, dass vorbereitende Tätigkeiten wie Anforderungs- analyse nicht mehr ausreichend gemacht werden. Erfolgsquote von SW- und IT-Projekten 24% Erfolgreich 32% Zu spät oder über Budget Abgebrochen 44% Hauptgründe für Projektprobleme Prozessfähigkeit 91% Organisationsmanagement 87% Requirements Engineering 87% Abb. 1 Unzureichendes Requirements Engineering gefährdet Projekte Der Kriminalautor Gilbert Keith Chesterton schrieb: „It isn’t that they can’t see the solution. It is that they can’t see the problem.“ Und er meint damit, dass wir häufig zu schnell auf eine vermeintliche Lö- sung aufspringen bevor wir das Problem richtig verstanden haben. Hand aufs Herz. Wer kennt nicht die Szene, dass man in einem Review mit Kunde oder Auftraggeber sitzt und sich ob der Schwerfäl-
  • 3. 2 ligkeit in der Bestimmung der Anforderungen am liebsten hinsetzen würde und einfach die Software so umzusetzen, wie man es ja bereits eine ganz Zeit verstanden hat. Ist doch nur Zeitverschwendung, sagen sich da viele. Das ist auch der Grund, warum in Krisenzeiten die Problem durch unzureichen- des Requirements Engineering anwachsen. Man meint, Geld sparen zu können, wenn weniger Auf- wand in diese Vorbereitung gesteckt wird. Auf was sollten wir im Requirements Engineering achten? Aus unterschiedlichen Praxiserfahrungen lassen sich die wichtigsten Risiken im Requirements Engineering ableiten. Die Risiken zu kennen, heißt, dass man sich darauf vorbereiten kann, um sie beim nächsten Mal zu vermeiden. Die folgende Liste wurde ursprünglich von drei erfahrenen Praktikern erstellt [2] und ist für diesen Beitrag nochmals aktualisiert. Risiko 1: Kunden sind unzureichend repräsentiert. Unzureichende Einbeziehung der Benutzer führt zu nicht akzeptierten Produkten und zu unzufriedenen Kunden. Oftmals erscheint es einfacher, die Anforderungen zu Projektbeginn vom Kunden oder Benutzer – oder intern vom Vertrieb oder Mar- keting –zu ermitteln, und danach das Projekt zu beginnen, um diese Anforderungen zu implementie- ren. Häufig übernehmen interne Stellen die Rolle des Kunden, ohne ihn direkt einzubeziehen. Das Problem dabei ist, dass sich das Projekt in zwei getrennte Richtungen entwickelt. Schließlich lernen sowohl die Projektmitarbeiter als auch der Kunde ständig dazu. Da der Kunde allerdings nicht weiß, wie er damit umgehen soll, wartet er. Das Gleiche gilt für den Projektmanager, der eine Liste führt, was er beim nächsten „offiziellen“ Projektreview auf den Tisch bringen will. Bei diesem nächsten Pro- jektreview sind dann die Divergenzen sehr viel größer, als wenn es kontinuierliche Konsultationen ge- geben hätte. Eine andere Facette ist, dass es beim Kunden verschiedene Rollen gibt, aber nur dessen Einkauf repräsentiert ist. Auch das führt später zu einem bösen Erwachen, wenn man feststellen muss, dass der Einkauf primär auf formale Kriterien achtete, aber nicht auf Benutzbarkeit oder Effi- zienz des Produkts. Machen Sie also im Vorfeld die Rollen der Kunden bei der Projektarbeit sehr deutlich und klären Sie wie bei jedem anderen Projekt (ohne Kundenmitarbeit) vor Projektstart, was das Projekt zu liefern hat. Risiko 2: Kritische Anforderungen werden übersehen. Eine der Schlüsselregeln im Requirements Engineering besagt, dass man dem Kunden das liefern muss, was er will, und nicht das, was er braucht. So flapsig das klingt – ein wahrer Kern steckt darin. Im Zweifelsfall zählt, was vertraglich ab- gestimmt wurde. Allerdings sollte ein Lieferant im Interesse einer nachhaltigen Kundenbeziehung im Vorfeld zu klären, was der Kunde braucht, um dann vor Projektbeginn eine Abstimmung zu erreichen zwischen dem, was gebraucht und gewünscht (also vertraglich festgehalten) wird. Eine wirksame Ba- sis für erfolgreiches Kundenmanagement ist es, zuallererst den Business Case des Kunden zu ver- stehen. Dabei geht es darum zu erkennen, was der Kunde – anders – machen will, wenn er erst ein- mal das gewünschte Produkt in Händen hält. Den Business Case zu verstehen, bedeutet, dass man als Produkt- oder Projektmanager versteht, welche Funktionen oder Anforderungen an das Projekt den größten Nutzen bringen. Man versucht, aus der späteren Anwendung innerhalb der Geschäfts- prozesse des Kunden heraus einzuschätzen, welche Anforderungen kritisch sind und ob vielleicht be- stimmte Einschränkungen übersehen wurden. Risiko 3: Qualitätsanforderungen bleiben unberücksichtigt. Anforderungen haben verschiedene Ausprägungen, wie wir gesehen haben. Neben den funktionalen Anforderungen gibt es die Qualitäts- anforderungen, wie beispielsweise Performanz, Benutzbarkeit oder Sicherheit. Zudem gibt es gibt es auch noch Randbedingungen an das Projekt oder Produkt, beispielsweise Kosten. Nur die Hinterfra- gung aller dieser Typen macht die Anforderungsdokumentation vollständig. Wichtig wird diese Voll- ständigkeit vor allem auch bei der Testspezifikation. Testfälle müssen alle diese Kategorien von An- forderungen abdecken. Risiko 4: Unkontrollierte Änderungen von Anforderungen. Anforderungen, die sich ständig ändern und deren Änderungen nicht beherrscht werden, führen zu Kosten- und Terminüberschreitungen und reduzieren die Qualität. Häufig existiert eine gewisse Basis von Anforderungen, mit denen dann ein Projekt gestartet wird. Einige Punkte sind noch offen und sollen rasch geklärt werden. Da das Projekt läuft, hat der Kunde manches Mal kein großes Interesse mehr, diese Punkte zu klären. Schließlich
  • 4. 3 könnte er bei der Abnahme davon profitieren, wenn nicht alles so läuft, wie abgesprochen, denn das ist die einmalige Chance, komplett neue Anforderungen als Kompensation für diesen Projektfehler kostenlos zu erhalten. Anforderungen ändern sich in beinahe jedem Projekt. Die Änderungsrate unter- scheidet sich zwischen Projekten und ist abhängig vom Wiederholungsgrad der Technologie bei Liefe- rant und Benutzer und der Anwendung beim Benutzer. Zur Minderung dieses Risikos ist es wichtig, die Änderungsrate zu verfolgen. Zu bestimmten Meilensteinen muss die Änderungsmenge reduziert werden, um die nächste Phase erfolgreich durchlaufen zu können. Üblich ist es, mit einem Puffer zu arbeiten, der sowohl Schätzungenauigkeiten als auch Anforderungsänderungen abfangen kann. Eine weitere Maßnahme ist die so genannte Rückwärtsplanung von der Übergabe an zurück ins Projekt, um zu erkennen, ab wann der kritische Pfad keine Parallelarbeit als Puffer mehr zulässt. Mancher Projektmanager und auch Kunde wird überrascht sein, wie früh im Projekt dies der Fall ist. Als Regel gilt, dass in der zweiten Projekthälfte nur noch sehr wichtige Änderungen zugelassen werden – in zeitkritischen Projekten bereits früher als zur Hälfte. Eine dritte Maßnahme ist schließlich, Änderungen grundsätzlich nur zu diskutieren, wenn eine Analyse der Auswirkungen stattgefunden hat. Andernfalls verschwenden beide Seiten ihre Zeit. In diesem „Spiel“ wird gern gepokert, nur um zu sehen, wie sich der Lieferant verhält. Oftmals genügt daher ein einfacher Projektplan, um zu zeigen, dass die vorge- schlagene Änderung Kosten und Projektdauer unzulässig erhöhen wird. Risiko 5: Beschreibung von Anforderungen als Entwurf. Anforderungsbeschreibungen und Ent- wurfsbeschreibungen sind zwei grundlegend unterschiedliche Dinge. Das leuchtet jedem ein. Es geht bei den Anforderungen darum, was geliefert werden muss. Bei der Entwurfsbeschreibung geht es darum, wie die Lösung entwickelt wird. Trotzdem werden diese Was- und Wie-Perspektiven immer wieder vermischt. Häufig geschieht dies aus einer vermeintlichen Zeitersparnis heraus. Man beginnt Anforderungen zu notieren. Im Beschreiben kommen erste Ideen zu gegenseitigen Abhängigkeiten und zur möglichen Realisierung, die einfach mit der Anforderung zusammen notiert werden. Selbst wenn man dies in getrennten Teilen der Anforderung macht, sollte es klar sein, dass prinzipiell nie eine 1:1-Abbildung möglich ist. Die nächste Anforderung hat vielleicht überlappende Einflüsse und schon passt das Muster nicht mehr. Schlimm wird es vor allem, wenn sich Anforderungen später än- dern oder gestrichen werden. Wohin mit der teilweisen Analyse, die vielleicht auch noch von anderen Anforderungen gebraucht wird? Hier gilt die klare Regel, immer zwei Spezifikationsdokumente zu hal- ten, nämlich die Liste der Anforderungen (Lastenheft) und die Liste der Lösungsspezifikation (Pflich- tenheft). Verfolgbarkeit durch eindeutige Bezeichner und eventuell eine angepasste Werkzeugunter- stützung erlauben später, auch umfangreiche Änderungen schnell in trockene Tücher zu bekommen. Risiko 6: Anforderungen werden nicht geprüft. Zu stark vereinfachte oder oberflächliche Spezifika- tionen resultieren später in fehlender oder falscher Funktionalität. Aus Zeitgründen und zur Vereinfa- chung werden Anforderungen häufig wortwörtlich von Kunden- oder Benutzerinterviews übernommen. Dies ist allerdings nur eine Rohfassung, die erweitert und präzisiert werden muss. Nehmen Sie sich die Zeit, Anforderungen mit Reviews und Inspektionen zu prüfen und prüfen zu lassen. Auf der Seite des Projekts erledigen das die Systemanalysten, Projektmanager, Produktmanager und Tester. Mehr- deutige Anforderungen bedeuten Mehrarbeit im gesamten Projekt. Gerade Tester finden sehr viele Ambivalenzen, die sonst erst sehr viel später entdeckt werden, wenn sie vielleicht vom Entwickler be- reits falsch implementiert wurden. Risiko 7: Perfektionierung von Anforderungen und Spezifikationen. „Gold Plating“, also Ver- schnörkelungen der Entwickler und Benutzer, bringt unnötige Funktionen, Verzögerungen und zu ho- he Kosten ins Projekt. Entwickler versuchen oft, Anforderungen, die sie verstanden haben, mit Leben zu füllen, und entwickeln weitere Funktionen, die nie vereinbart wurden. Im besten Fall passiert gar nichts, denn der Kunde wird sich hüten, solche verzichtbaren Funktionen zu würdigen. Im Normalfall allerdings wird diese Komplexität unbeherrschbar, weil ja keine Ressourcen dafür vorgesehen wur- den. Jede weitere Funktion bringt Abhängigkeiten zu anderen Funktionen, Sonderfälle, Ausnahmesi- tuationen – und damit zusätzlichen Entwicklungs-, Korrektur- und Testaufwand. Anforderungen sollen widerspiegeln, was der Kunde als relevant betrachtet. Wenn sich Kunde oder Benutzer nicht sicher sind, werden sie weggelassen. Das Gleiche gilt für Spezifikationsdokumente. Dies sind Dokumente, die straff beschreiben, was oder wie gearbeitet wird. Es sind keine detaillierten Entwurfsbeschreibun-
  • 5. 4 gen. Hilfreich ist es, von vornherein mit verschiedenen Dokumenten zu arbeiten, so dass Entwurfsent- scheidungen von Beginn an im richtigen Dokument – also der Architektur- oder der Entwurfsbeschrei- bung – dokumentiert werden, ohne den Umweg über ein Spezifikationsdokument, wo solche Informa- tionen nicht hingehören. Im Unterschied zu diesen Verschnörkelungen sollten allerdings Ausnahme- behandlungen der regulären Anforderungen durchaus mit dem Kunden geklärt und als Erweiterung der Anforderung spezifiziert werden. Use-Cases beispielsweise haben bereits in ihrem Template eine solche Ausnahmebehandlung vorgesehen. Wird die Behandlung von Ausnahmen nicht vorab abge- stimmt, kann dies zu sehr verwickelten und inkonsistenten Realisierungen führen. Anforderungen Eine Anforderung beschreibt, was der Kunde oder Benutzer vom Produkt erwartet (Bedingungen, At- tribute, Ziele, Nutzen etc.). Formal lassen sich Anforderungen wie folgt definieren [1,6]:  Eigenschaft oder Bedingung, üblicherweise vom Kunden festgelegt, um ein Problem zu lösen oder ein Ziel zu erreichen.  Eigenschaft oder Bedingung, die ein System oder eine Systemkomponente erfüllen muss, um ei- nen Vertrag, einen Standard, eine Spezifikation oder andere formal festgelegte Dokumente zu er- füllen.  Eine dokumentierte Repräsentation einer Eigenschaft oder Bedingung wie in den vorigen Punkten beschrieben. Wir trennen klar zwischen Anforderungen und Lösungen. Eine Anforderung beschreibt ein Bedürfnis oder einen Nutzen, der erreicht werden soll. Sie beschreibt nicht, wie dieser Nutzen zu realisieren ist. Diese Implementierungssicht wird durch die Lösung beschrieben. Abb. 2 veranschaulicht diesen Un- terschied durch die Trennung zwischen Problemraum (Marktanforderungen, Lastenheft, etc.) und Lö- sungsraum (Lösungsspezifikation, Pflichtenheft, Design, Fachkonzept, etc.). Der Problemraum ist zu- nächst immer nur unscharf umrissen und wird im Verlauf der Lösungskonzeption eingeschränkt. Marktanforderungen / Kunden- / Benutzer- / Geschäfts- anforderungen / Ziele / Bedürfnisse Warum? Problemraum Produktanforderungen / Eigenschaften / SLA / Service- / Systemanforderungen Was? Lösungsraum Komponenten- anforderungen / Softwareanforderungen Wie? Abb. 2 Anforderungen und Lösungen Es gibt nicht die „Anforderung“ schlechthin. Zu einer Anforderung gehört immer die Perspektive aus der sie beschrieben wird. Eine Anforderung ist eine Bedingung oder eine Fähigkeit, die ein Benutzer benötigt, um ein Problem zu lösen oder um ein Ziel zu erreichen. Das heißt, sie hängt von der Per- spektive ab. Ein Benutzer kann der Kunde sein, der für die Lösung bezahlt, aber es kann auch ein Entwickler sein, der daraus eine Architektur ableitet. Entsprechend unterschiedlich sind die Schwer- punkte und Inhalte, die durch diese Anforderung beschrieben werden. Was dem einen die Anforde- rung ist, ist dem anderen die Lösung. Man trennt daher in der Praxis unterschiedliche Arten von „An- forderungen“, beispielsweise Marktanforderungen oder Komponentenanforderungen, und vermeidet von einer „Anforderung“ ohne Präzisierung zu sprechen. Drei verschiedene Sichten auf Anforderungen werden im Laufe der Lösungskonzeption unterschie- den:
  • 6. 5  Marktanforderungen: Sie werden auch als Kunden-, Benutzer-, Geschäftsanforderungen, Bedürf- nisse bezeichnet. Sie sind die Ziele, die Benutzer und die Außenwelt mit dem zu entwickelnden Produkt erreichen wollen. Sie beschreiben, warum ein Projekt überhaupt durchgeführt wird.  Produktanforderungen: Dies sind Eigenschaften des Produkts und Systemanforderungen, die aus der Sicht des Produkts beschrieben werden. Sie beschreiben, was verschieden Benutzer mit dem Produkt machen können in der Sprache des Produkts, also auch nichtfunktionale Anforderungen mit den nötigen Details. Sie definieren den Lösungsraum und die Prioritäten.  Komponentenanforderungen: Dies sind die konkreten Softwareanforderungen, die aus Entwickler- sicht beschreiben, wie zu entwickeln ist. Sie umfassen Komponenten, Architektur, Technologien, Struktur und Dynamik sowie Algorithmen. Sie sind hinreichend klar, um eine Komponente durch einen externen Lieferanten entwickeln zu lassen, der den gesamten Systemkontext nicht kennt. Abb. 2 zeigt diese drei Sichten, die sich durch Verfeinerung auseinander ergeben. Offensichtlich ist diese Dreiteilung rekursiv: Die Komponentenanforderung an einen Lieferanten ist dort wiederum eine Marktanforderung. Diese drei Sichten und ihre Trennung sind also nicht im Voraus definiert, sondern hängen von der Lösungsstruktur ab. Beispielsweise könnte ein Benutzer oder Kunde die Anforderung wie folgt stellen: M-Req-11-18: Das System verwaltet die Kundendaten im Format Name, Vorname, Adresse. Der Requirements-Ingenieur spezifiziert dazu eine Lösung mit der folgenden Komponentenanforde- rung: K-Req-11-24: Die Datenbank zur Verwaltung der Kundendaten wird mit Oracle 10 realisiert. Offensichtlich sind dies zwei Anforderungen an die Datenhaltung, die aus verschiedener Perspektive beschrieben sind, nämlich Nutzung und Realisierung. Nun könnte aber auch der Kunde bereits eine technische Anforderung zur Realisierung haben, da er eine mySQL-Umgebung einsetzt und Kompati- bilität sowie günstigere Lizenzkosten will. Er spezifiziert: M-Req-11-19: Die Datenbank zur Verwaltung der Kundendaten wird mit mySQL realisiert. Nun wird aus der bisherigen Komponentenanforderung (K-Req-11-24) eine Marktanforderung (M-Req- 11-19). Gleichermaßen gibt es Situationen, wo das Lastenheft und die Geschäftsanforderungen so vage sind, dass das Pflichtenheft auch als Problembeschreibung fungiert. Anstatt über solche Feinhei- ten zu debattieren, ist es wichtig, dass die Anforderungen immer mit ihrer jeweiligen Quelle spezifiziert werden. Dann ist zu jedem Zeitpunkt klar, wie es zur Anforderung kam, und welche Freiheitsgrade für eine Änderung bestehen, so dies die Realisierung erleichtert. M-Req-11-19 lässt sich sehr viel schwe- rer beeinflussen als die konzeptionell gleiche K-Req11-24, da die M-Req-11-19 direkt vom Kunden stammt, und daher unsere Lösung bereits definiert. Requirements Engineering Requirements Engineering (RE) ist das disziplinierte und systematische Vorgehen (d.h. "Engineering") zur Ermittlung, Strukturierung, Spezifikation, Verifikation, Analyse, Evolution und Verwaltung von An- forderungen unter kundenorientierten, technischen, wirtschaftlichen und erfolgsorientierten Vorgaben. Gutes Requirements Engineering macht den Unterschied aus zwischen einem erfolgreichen Produkt und einer Feature-Sammlung Requirements Engineering beschreibt die Disziplin innerhalb der Softwaretechnik und der System- technik, die sich mit den gewünschten Eigenschaften und Einschränkungen von Softwaresystemen befasst. Damit ist gutes Requirements Engineering eine unabdingbare Voraussetzung für gutes Pro- jektmanagement:  Das Ziel von Requirements Engineering ist es, qualitativ gute – nicht perfekte – Anforderungen zu generieren, die es erlauben, das Projekt mit einem akzeptablen Risiko zu beginnen.
  • 7. 6  Der Zweck des Requirements Engineering ist es, ein Einverständnis zwischen dem Kunden und dem Softwareprojekt (also dem Lieferanten) über jene Anforderungen zu erreichen, die durch das Softwareprojekt abgedeckt werden. Requirements Engineering ist damit eine sehr bunte und spannende Disziplin. Sie reicht weit über die Softwaretechnik hinaus. Sie bedient sich der Erfahrungen aus der Systemtechnik, der Psychologie, der Betriebswirtschaftslehre, dem Marketing, dem Produktmanagement, dem Projektmanagement und natürlich der Informatik. Durch Requirements Engineering werden Ziele konkretisiert, Wünsche ge- weckt und Realitäten geschaffen. Da es keine absoluten Wahrheiten gibt, kommt dem Requirements Engineering die einmalige Aufgabe zu, Wahrnehmungen und Ziele zu entwickeln. Requirements En- gineering stellt sicher, dass der Projektmanager das Projekt zu jedem Zeitpunkt unter Kontrolle hat – ohne dass die Eigendynamik aus Kundenbeziehungen, Herausforderungen in der Realisierung und den zahlreichen politischen Risiken ihn zu einem Spielball externer Interessen machen. Requirements Engineering ist die systematische Vorgehensweise (Abb. 3), um alle Anforderungen (also Prozessanforderungen, funktionale und nichtfunktionale Produktanforderungen)  zu ermitteln,  zu spezifizieren  zu validieren,  zu analysieren,  zu vereinbaren und einem Projekt zuzuweisen,  im Projekt zu verwalten und Änderungen konsistent umzusetzen. Requirements Engineering und Management Ermittlung Analyse Vereinbarung Bedürfnisse, Vision, Einschränkungen Markt-, Einflüsse, Prioritäten Projekt, Produkt Marktan- Produkt- Aufwand, Zeitpunkte forderungen anforderungen, Risiko Status Modelle Spezifikation Validierung Komponenten- anforderungen Abhängigkeiten Status Spezifikationen, Testfälle Verwaltung Abb. 3 Aktivitäten und Ergebnisse im Requirements Engineering Wir haben hier bewusst keinen Prozess (also eine Abfolge von Schritten über die Zeit) dargestellt, denn der hängt von den Randbedingungen an das Projekt ab (Abb. 4). Beispielsweise fordert ein agi- les Requirements Engineering mehr Flexibilität und Kundenbeteiligung als ein relativ starres Vorgehen in Konsortien verschiedener Unternehmen. Die Abbildung impliziert aber eine gewisse Ordnung, die unabhängig vom Vorgehensmodell gilt. Offensichtlich kommt die Analyse der Anforderungen nach deren Ermittlung. Unterschieden wird eher dabei, wie viele Anforderungen sinnvollerweise ermittelt sein müssen, um ein Projekt zu schätzen oder zu starten. Dies erklärt im oberen Teil die Sequenz von Schritten. Der untere Teil der Spezifikation/Verifikation sowie Verfolgung/Änderungsmanagement ist zeitlich nicht limitiert. Änderungsmanagement muss es bis zum Projektende geben, und der Bedarf dafür wird im Laufe des Projekts eher größer. Standardisierte Prozesse schaffen Wiederholbarkeit, Transparenz und Effizienz. Aber, so wenig es einen einzigen überall gültigen Entwicklungsprozess aus dem Buch gibt, so wenig passt ein einziger Prozess für das Requirements Engineering. Markterfordernisse, Produkte und Projekte sind zu unter- schiedlich, um alle Prozesse über einen Kamm zu scheren. Allerdings kann und sollte es für bestimm- te Projekttypen im Unternehmen definierte Prozess für das Requirements Engineering geben. Wenn Sie beispielsweise eine Produktlinie haben, die sowohl eine Plattform als auch Varianten davon für Kunden produziert, dann macht es sicherlich Sinn, die Variantenproduktion durch einen definierten
  • 8. 7 Prozess zu steuern. Ein solcher Prozess könnte beispielsweise Zugriff auf alle existierenden Funktio- nen der ganzen Produktlinie bieten, so dass Entscheidungen zu Durchführbarkeit und Aufwand ver- einfacht und reproduzierbar werden. Prozesse sind durch die Dokumente oder Arbeitsergebnisse am Eingang und Ausgang von Prozess- schritten definiert (Abb. 5) [1,5]. Jeder Prozess bearbeitet bestimmte Dokumente, verändert sie und führt damit schrittweise zum endgültigen Produkt. Definierte Meilensteine und Freigabekriterien in der Verifikation und Validierung sichern eine ausreichende Qualität dieser Dokumente. Die Meilensteine im Produktlebenszyklus prüfen, ob diese Dokumente frei gegeben sind. Im Requirements Engineering werden verschiedene Dokumente erzeugt beziehungsweise bearbeitet, auf die nachher weitere Ent- wicklungsschritte aufbauen. Abb. 5 bildet die wesentlichen Arbeitsergebnisse auf die Aktivitäten des Requirements Engineering ab. Anforderungen werden frühzeitig Anforderungen Anforderungen vereinbart. Änderungen erfordern viele ändern sich noch im werden im Projekt Abstimmungen. Projekt. entwickelt. Komplexität Großes Projekt Lange Lebensdauer Hoher Wartungsanteil Wasserfall- Inkrementelle Viele Varianten / modell, Entwicklung Releases V-Modell Mehrere Standorte / Prototyping, Lieferanten evolutionär Kleines Projekt Kurze Lebensdauer Agile Prozesse Ein Standort Unsicherheiten Anforderungen stabil Anforderungen volatil, unbekannt Wenig Kundeneinfluss Starke Kundenbeteiligung Abb. 4 Vorgehensmodelle und deren Eignung in Abhängigkeit von Projekteigenschaften Mit diesen Herausforderungen und dieser zahlreichen externen Einflüssen ist Requirements Enginee- ring aber auch sehr schwierig in der erfolgreichen Umsetzung! Betrachten wir ein einfaches Beispiel, die Änderungen von Anforderungen. Eine gemeinsame Eigenschaft jeglicher Software und damit auch von Softwareanforderungen ist, dass sich die Anforderungen im Lebenszyklus ständig ändern. Anfor- derungen sind in aller Regel unsicher. Sie ändern sich mit einer monatlichen Rate, die 1-5 Prozent des gesamten Projektaufwands betragen kann [1,4]. Das heißt, dass sich von Anforderungen, die mit insgesamt 100 Personenwochen Projektaufwand ursprünglich abgeschätzt wurden, pro Monat Anfor- derungen im Umfang von bis zu 5 Wochen ändern. Diese 5 Wochen relative Änderung sind nicht im- mer mit 5 Personenwochen Aufwand zu erledigen. Stellen Sie sich vor, dass die Änderung erst kommt, nachdem die Anforderung bereits integriert ist. Dann kann eine Änderung ein Vielfaches des ursprünglich dafür nötigen Aufwands betragen. Diese Hebelwirkung unterstreicht den Geschäftsnut- zen eines systematischen Requirements Engineering. Was über diesen 5 Prozent Änderungsrate pro Monat liegt, gefährdet den Projektverlauf massiv und kann eigentlich nur mit evolutionären Vorge- hensweisen abgefangen werden. Gutes Requirements Engineering stellt sicher, dass der Projektmanager zu jedem Zeitpunkt aus Kun- densicht weiß, welche Anforderungen bereits implementiert, getestet oder freigegeben sind. Er muss dies wissen, um bei Gefahr von Terminüberschreitungen rechtzeitig niedrig priorisierte Anforderungen verschieben zu können. Requirements Engineering ist vor diesem Hintergrund eine Sisyphusarbeit, denn es ist bereits früh klar, dass es Verluste gibt, wenn man nicht aufpasst. Ob die Verluste letztendlich in Ihrem Unterneh- men auftreten oder auf der Kundenseite, ist nahezu egal. Ein Projekt kennt in der Regel nur Gewinner oder Verlierer. Ein Kunde, der zu lange warten muss und der nicht erhält, was er will, ist unzufrieden –
  • 9. 8 selbst, wenn das Projekt im Budget abgeschlossen hat. Er wird diese Unzufriedenheit auf vielfältige Art zum Ausdruck bringen. Requirements Engineering muss also versuchen, diese verschiedenen Interessen und Sichtweisen unter einen Hut zu bringen. Es hat sehr viel weniger technische Aspekte und sehr viel mehr „politische“ und psychologische Aspekte, als man gemeinhin wahr haben will. Ermittlung Analyse Validierung Verein- Verwaltung Arbeitsergebnis barung Vision x Use Case / x Szenario Bewertung x x x x Lastenheft x x x x x Projektplan x x x x Teststrategie x x x Lösungsmodell x x x Pflichtenheft x x x x Releaseplanung x x x Produktkatalog x x Vertrag x x x Abnahme x x Abb. 5 Arbeitsergebnisse und Dokumente im Requirements Engineering Projekterfahrungen in der Medizintechnik Software-intensive medizinische Systeme stehen in einem immensen Marktdruck. Während sie tech- nologisch und hinsichtlich ihrer Sicherheit kompromisslos innovativ sein müssen, fordern die Kranken- häuser und auch Gesundheitskostenreformen eine immer kürzere Zykluszeit bei gleichzeitig ange- spannten Budgets. Requirements Engineering hat eine Schlüsselstelle als Erfolgsfaktor im Gesund- heitswesen. Traditionelle Entwicklungsprozesse, die Innovation und Qualität über einen schwerfälligen Prozess erreichten, sind nun mehr selten zeitgemäß. Viele Unternehmen der Industrie ändern ihre Entwicklungsansätze in Richtung iterativer und concurrent Engineering Ansätze [6]. Diese Fallstudie zeigt Erfahrungen und bietet Orientierung hin zu Requirements Engineering in medizinischen Syste- men. Die Innovationsrate im Gesundheitswesen beschleunigt sich ständig, und entsprechend wachsen die Anforderungen auf die Medizintechnik. Heute sind ein drittel aller Produkte jünger als drei Jahre, Ten- denz steigend. Beispielsweise stieg die Verbreitung von medizinisch-technischen Geräten um 52% im Zeitraum von 2000 bis 2009. Software ist heute die Schlüsselkomponente in der Automatisierung von klinischen Abläufen schlechthin. Der Softwaregehalt eines medizinisch-technischen Geräts lag im Jahr 2000 etwa bei 30%. Heute (2011) umfasst der Anteil der Software bei einem Anteil größer 60%. Es geht dabei zunehmend um lösungsorientierte Interoperabilität klinischer Informationssysteme im Inter- esse kosteneffizienter medizinischer Workflows ( Abb. 6). Während die Medizingeräteentwicklung global entwickelt ausgerichtet ist, müssen regulatori- sche Freigaben pro Markt erreicht werden. Ohne ein systematisches Requirements Engineering ist die Wahrscheinlichkeit hoch, dass ein Projekt scheitert. Werden beispielsweise die Qualitätsanforderungen missverstanden, entstehen z.B. Proble- me in der Benutzbarkeit und der Performanz. Ärzte und Krankenpfleger sind Entscheidungsträger für oder gegen ein Produkt. Ist das Produkt Portfoliomanagement von der Entwicklung entkoppelt, passen die Funktionen nicht zu den Marktanforderungen. Anforderungsänderungen werden erst zu spät er- kannt und führen zu unnötigen Non-Conformance Kosten. Da klinische Abläufe aufgrund der hohen kombinatorischen Komplexität und einer eher geringen Standardisierung sowie ihres ad-hoc Charak-
  • 10. 9 ters nur schwer zu modellieren sind, muss das Requirements Engineering spezifische Techniken für die Medizintechnik und das Gesundheitswesen entwickeln. Wir wollen den Nutzen des systematischen Requirements Engineering anhand der Entwicklung der Benutzerschnittstelle für ein klinisches Abrechnungssystem darstellen. Das Projekt wurde mit vierzig Mitarbeitern in sechs Scrum Teams (Requirements Ingenieure, UI Designer, Architekten, Produkt Ma- nager, Subject Matter Experten) umgesetzt. Die Dauer war achtzehn Monate. Projektziele waren das Redesign der Schnittstelle hin zu bessere Benutzbarkeit, da dies das Schlüsselkriterium der Kaufent- scheidung bei klinischen Informationssystemen darstellt. Lean Development wurde mit Requirements Engineering kombiniert, um die Anforderungen kundenorientiert zu spezifizieren und schrittweise zu verfeinern. Zudem musste ein innovativer klinischer Workflow beispielsweise für das Bettenmanage- ment umgesetzt werden. Im Projekt wurden fünfzehn End-to-End Abläufe mit 160 Lines of Code in Java implementiert, und die neue Benutzerschnittstelle realisiert [9]. In einem zweiten Projekt von einem anderen Geschäftsgebiet wurde Produktlinien Requirements En- gineering für die Entwicklung einer bildgebenden Plattform syngo.via eingeführt mit Einsatz von meh- reren hundert Entwicklern an unterschiedlichen Standorten weltweit. Dieses Projekt umfasste mehr als fünftausend Anforderungen. Auch hier wurden die Ergebnisse erreicht. Fortan bildet der Produktlinien Engineering Ansatz auch die Grundlage für weitere Verbesserungsmaßnahmen wie etwa die Verkür- zung der Produktentwicklungsdurchlaufzeit über einen Scrum-basierten Entwicklungsansatz. Weiter zeigt eine durchgeführte Kosten-Nutzen Rechnung, dass dieser Ansatz mehrere Millionen Euro an Effizienzsteigerung gesamtheitlich in der Produktdefinition (~25%), Projektplanung (~ 23%), Architek- tur (~ 7%) sowie in der Verifikation (~ 45%) bringt. In den beschrieben Projekten wurden die folgenden Erfahrungen (Best Practices) gemacht, die auch in anderem Kontext nutzbar sind. 1. Saubere Trennung von Problem- und Lösungsraum. Die Entwicklung einer Lösung beeinflusst die Sicht auf eine Problemstellung – und dann somit zu falschen Lösungen führen (vgl. Abb. 2). Mit der sauberen Trennung des Problem- und Lösungsraumes, werden die späteren Änderungswünsche effektiv reduziert. Weiters liefert diese Praktik, die Möglichkeit, eine Impact Analyse durchzuführen, damit die Änderungen in der Architektur abgeschätzt werden können. 2. Entwickeln eines geeigneten Verständnisses von Kundenanforderungen. Kunden haben oft implizites komplettes Verständnis für die Anforderungen. Jedoch sind diese manchmal schwer in der Lage, diese präzise zu artikulieren. Sie wollen einen Nutzen erreichen, der allerdings noch in Spezifi- kationen umgesetzt werden muss. Dazu sollten Anforderungen sollten so früh wie möglich verfeinert werden. Wir nutzen dazu ein Glossar, das immer den Bezug zur Nutzersprache gewährleistet, sowie Rapid Prototyping zur Erstellung von Benutzerschnittstellen Konzepten. 3. Nutzung von Storyboards für Workflows mit hohem User Interface Anteil. Dabei dient das Storyboard als Container für Anforderungen, User Interface Visualisierung sowie Testfälle. Es erlaubt, den Erfolgsfall sowie die Fehlerfälle darzustellen und wird mit Timeboxing iterativ verfeinert. Typi- scherweise kann Microsoft PowerPoint als Werkzeug zur Erstellung der Spezifikation verwendet wer- den. 4. Verwendung strukturierter Anforderungen zur Planung und Budgetierung. Am Projektanfang muss der Aufwand zur Strukturierung spendiert werden. Entsprechend der eignen Erfahrung sollten Projektleiter etwa acht bis zehn Prozent des Projektbudgets veranschlagen. Damit werden Abhängig- keiten zwischen Funktionen besser verstanden und damit Fehler aus unverstandener Komplexität ver- ringert. Nach unseren Erfahrungen ergibt sich die geeignete Anforderungsstrukturierung nach der drit- ten bis vierten Verfeinerung. Damit erreicht man eine Stabilität für die weitere Entwicklung des Projek- tes. Die Anforderungen sollten am besten entlang bestimmter funktionaler (z.B. klinischer) Domänen hierarchisch organisiert werden [6]. 5. Entwicklung eines geeigneten Traceability Modells. Ad-hoc Verknüpfungen zwischen Anforde- rungen und Ergebnissen von der Spezifikation bis zu den Testfällen und der Dokumentation ohne kla- re Strategie reduziert die Qualität und erhöht Nacharbeiten. Daher muss die Traceability mit einer kla-
  • 11. 10 ren Zielstellung und inhaltlichen Orientierung aufgebaut sein (vgl. Abb. 5). Sie sollte die nötigen Arte- fakte, die verknüpft werden müssen definieren, deren Granularität vorgeben, sowie Mechanismen zur Methodik und deren Umsetzung in Werkzeuge beschreiben. Dies ist bei medizinisch-technischen An- wendungen von entscheidender Bedeutung für die Zulassung zum Markt. Wesentlich ist die Pflege der Abhängigkeitsbeziehungen. Wir empfehlen, die Verantwortungen vorab festzulegen, und den nöti- gen Aufwand einzuplanen. Damit ist eine frühzeitige Einflussanalyse möglich sowie Fortschrittsmes- sung, Kostenkontrolle (Earned Value) und Testfortschritt auf Basis der Abdeckung erreichter Anforde- rungen möglich. 6. Disziplinierter Einsatz von Standards und Reviews. Nur mit klaren internen Vorgaben zum Requirements Engineering, den Arbeitsergebnissen sowie Vorgehensweisen und Verantwortungen sind die Ergebnisse nachher konsistent und können produktübergreifend für die Lösungsentwicklung, wie sie im klinischen Bereich heute üblich ist, wirtschaftlich genutzt werden. Wir empfehlen den Ein- satz von Industriestandards, die an die Notwendigkeiten des Projektes angepasst werden. Dokumen- tenvorlagen erlauben die Einhaltung von Dokumentationsstandards. Zudem stellen Standards die nö- tige Routine für die Reviews von Anforderungen sicher, die häufig im Projektdruck vernachlässigt werden – mit aufwändiger und zeitraubender Nacharbeit. Requirements Engineering hat eine Schlüsselstelle als Erfolgsfaktor im Gesundheitswesen. Traditio- nelle Entwicklungsprozesse, die Innovation und Qualität über einen schwerfälligen Prozess erreichten, sind nicht mehr zeitgemäß. Unsere Studien zeigen, dass in der Medizintechnik die Kosten für Nachar- beiten über den Produktlebenszyklus hinweg durch eine Verbesserung des Requirements Engineering um 30-50% gesenkt werden können. Abb. 6 Integrierte Klinische Workflows (Onkologie Workflow) Zusammenfassung Die Einführung und systematische Umsetzung von Requirements Engineering braucht Aufwand so- wohl in der Entwicklung als auch an ihren Schnittstellen, also Produktmanagement, Produktmarketing und Vertrieb. Häufig wird dieser Aufwand als zu hoch und zu zeitraubend gesehen, so dass die Anfor- derungen weiterhin ad-hoc in das Projekt hineinpurzeln und dort bruchstückhaft und mit vielen Na- charbeiten umgesetzt werden, bis einmal mehr das Projekt seine Ziele verfehlt oder abgebrochen werden muss. Aus unserer Beratungspraxis sowie den Industrieerfahrungen der Medizintechnik ken- nen wir das Dilemma: Verbesserungen in Methodik, Prozessen, Ausbildung und Werkzeugen werden nicht angegangen, da der Anfangsaufwand, um diese Verbesserungen anzustoßen als zu hoch be- trachtet wird. Daher wollen wir zum Schluss die Nutzen eines systematischen Requirements Enginee-
  • 12. 11 ring quantitativ unterstreichen und vor allem konkrete Hinweise geben, wie Sie in Ihrer eigenen Um- gebung den Nachweis führen können, dass sich der Aufwand für das Requirements Engineering lohnt. Eine weitaus umfangreichere Darstellung der ROI-Konzepte und zugrunde liegenden Projekt- aufwandsdaten findet sich in [1,4,6]. Der Nutzen eines guten Requirements Engineering kann an verschiedenen Faktoren festgemacht werden. Im Folgenden geben wir Anhaltspunkte für die eigene Nutzenrechnung, die wir aus verschie- denen Kundenprojekten in unterschiedlichen Branchen konkret realisiert hatten [1,4,6].  Produktivitätsverbesserung. Typischerweise werden 30-50% des Entwicklungsaufwands für Feh- lerbehebung und nicht entwicklungsbezogene Aktivitäten eingesetzt. Die Hälfte der Fehler kommt direkt aus unzureichenden Anforderungen und unkontrollierten Änderungen. Im Systemtest sind es 80% der Fehler, die von unvollständigen (31%) oder falschen (49%) Anforderungen resultieren.  Verbesserte Projektplanung und Ressourcen-Einteilung, weniger Verzögerungen vor Projektstart, eine schnellere Anlaufphase sowie Termintreue aufgrund von bekannten Anforderungen und kla- ren Verantwortungen im Projektteam und im Vertrieb. Mehr Aufwand für Entwicklung und konse- quente Umsetzung und Test der Anforderungen schafft eine Verbesserung der Termintreue und reduziert Verzögerungen auf unter 20%.  Kürzere Durchlaufzeiten durch Fokus auf jene Aktivitäten und Inhalte, die Wert schaffen. Über die Hälfte aller Funktionen eines Softwaresystems werden nicht genutzt. Das gilt sowohl in der IT wie auch in technischen Produkten. Weniger Anforderungen reduzieren die Komplexität und machen damit die Projekte verlässlicher sowie die Qualität besser.  Weniger Nacharbeiten von inkonsistenten Anforderungen durch Einflussanalyse bei sich ändern- den Anforderungen und Verfolgbarkeit zu den betroffenen Arbeitsergebnissen. Werden die Anfor- derungen so umgesetzt, wie sie vom Kunden oder Benutzer beschrieben werden, führt das zu Nacharbeiten, die im Schnitt 45% des Projektaufwands ausmachen.  Wiederverwendung von Anforderungen und davon abgeleiteten Arbeitsergebnissen, beispielswei- se Mechanismen zur Systemsicherheit und zur Benutzbarkeit.  Bessere Kundenzufriedenheit durch konsistentes Verständnis über die wirklichen Anforderungen und Entwicklung einer Lösung für die wirklichen Bedürfnisse. Einige dieser Faktoren, wie Termintreue oder weniger Nacharbeiten, schaffen einen unmittelbar greif- baren Nutzen. Andere, wie beispielsweise die Kundenzufriedenheit sind eher opportunistisch und werden in Form nachhaltig guter Kundenbeziehungen und weiterer Projekte greifbar. Insgesamt zei- gen unsere Erfahrungen, dass eine Verdoppelung des Aufwands für Requirements Engineering hin zu 10% des Projektaufwands in den Bereichen Methodik, Prozesse, Training und Werkzeugunterstüt- zung konkret realisierbarem Projektnutzen von über 20% schaffen. Das ist ein ROI von mehr als 4, und damit sind nur die direkt messbaren Vorteile berücksichtigt. Genügend Gründe, dass Sie Ihr eige- nes Requirements Engineering hinterfragen und optimieren. Sidebar: Tipps für die Praxis Trennen Sie bei der Anforderungsentwicklung zwischen der externen Sicht (Marktanforderungen, Be- dürfnisse, Problembeschreibung) und der internen Sicht (Produktanforderungen, Lösungskonzeption, Komponentenanforderungen). Bilden Sie in der Spezifikation der Anforderungen drei Typen von Anforderungen, nämlich Marktanfor- derungen, Produktanforderungen und Komponentenanforderungen. Vermischen sie nicht diese drei verschiedenen Sichtweisen, denn sie helfen bei der Strukturierung und Entwicklung der späteren Lö- sung und bei der sauberen Behandlung von Änderungen auf einer dieser drei Abstraktionsebenen. Vermischen Sie niemals das Was und das Wie. Beginnen Sie nicht zu früh mit der Lösung, solange noch nicht klar ist, was die wesentlichen Bedürfnisse sind. Modellieren Sie beim Übergang von der Problembeschreibung (z.B. Lastenheft) zur Lösungskonzepti- on (z.B. Pflichtenheft) sowohl die Systemumgebung als auch die zu entwickelnde Systemarchitektur.
  • 13. 12 Beim Übergang zu den Komponentenanforderungen muss die Systemarchitektur bereits hinreichend detailliert sein, um Auswirkungen von Entwurfsentscheidungen (z.B. Partitionierungen) bewerten zu können. Antworten Sie immer auf der Basis der Konsequenzen auf den Projektplan, falls es zu Änderungsvor- schlägen kommt. Begeben Sie sich nie in eine Situation, in der Änderungswünsche isoliert von den Auswirkungen im Projekt und der Rückwirkung auf andere Funktionen behandelt werden. Berücksichtigen Sie alle Anforderungen. Fragen Sie relevante Interessenvertreter, ob etwas überse- hen worden ist. Machen Sie dabei klar, dass die Ermittlung von Anforderungen noch keine Garantie für deren Lieferung ist. Geliefert wird nur, was vereinbart und bezahlt wird. Betrachten Sie Requirements Engineering als projektbegleitend. Requirements Engineering ist nicht mit dem Erfassen von Anforderungen abgeschlossen. Als Prozess begleitet es die weitere Entwick- lung bis zum Projektabschluss und darüber hinaus in die Betriebs- und Wartungsphase – bis zum Le- bensende. Setzen Sie Methodik und Werkzeuge im Requirements Engineering situativ ein. Ein Werkzeug allein bringt keine Verbesserung. Die Basis für gute Ergebnisse ist Systematik und Disziplin. Zuerst muss ein schlanker Prozess für das Requirements Engineering für alle Projektbeteiligten (auch Vertrieb) verpflichtend vereinbart werden. Der Prozess kann durch sehr einfache Spreadsheets unterstützt werden. Werkzeuge werden dann eingeführt, wenn sie einen messbaren Vorteil bringen. Überlegen Sie sich gut, was Sie mit einem Werkzeug erreichen wollen. Was billig aussieht, bleibt es nicht. Hausgemachte Werkzeuge auf der Basis von Datenbanken wachsen oftmals in einen Bereich, wo ein kommerzielles Werkzeug im unteren Kostenbereich sehr viel günstiger gewesen wäre. Grund- sätzlich gilt heute, dass kein Unternehmen mehr solche Werkzeuge selbst machen sollte – außer Sie wollen es anschließend verkaufen oder aber im Bereich von kundenspezifischen Dienstleistungen einsetzen. Optimieren Sie das Requirements Engineering, und Sie werden in den Projekten beträchtlichen Auf- wand sparen. Systematisches Requirements Engineering reduziert Nacharbeiten, Zusatzaufwände durch Inkonsistenzen und vor allem Fehler, die erst spät entdeckt werden. Literatur [1] Ebert, C.: Systematisches Requirements Engineering und Management. Dpunkt-Verlag, Heidel- berg, Germany, dritte überarbeitete Auflage 2010. [2] Standish Group: Chaos Report 2009. http://www.standishgroup.com. Zitiert: 14.02.2011. [3] Lawrence, B., Wiegers, K, Ebert, C.: The Top Risks of Requirements Engineering. IEEE Software, Vol. 18, No. 6, pp. 62-63, Nov. 2001. [4] Ebert, C. und R. Dumke: Software Measurement. Springer, Heidelberg, New York, 2007. [5] Davis, A. M.: Just Enough Requirements Management. Dorset House, New York, USA, 2005. [6] Berenbach B., Paulish D., Kazmeier J., Rudorfer A.: Software Systems Requirements Engineering, McGraw Hill, 2009.