Lessons Learned aus Praxis und Beratung
Markus Unterauer
Berater und Trainer bei Software Quality Lab in Linz
markus.unterauer@software-quality-lab.com
+43 732 890072 438
Worauf es im Requirements
Engineering wirklich ankommt
www.software-quality-lab.com | Ihr Partner für Software Qualität und Testen
So sollte/muss es nicht ablaufen!
| Folie 2
www.software-quality-lab.com | Ihr Partner für Software Qualität und Testen
IX
VIII
VII
VI
III
IV
V
II
I
Eine Anforderung ist …
Grundbegriffe Requirements Engineering
...eine Bedingung oder Fähigkeit,
die von einem Benutzer zur
Lösung eines Problems oder zur
Erreichung eines Zieles benötigt
wird.
[Pohl&Rupp09]
| Folie 3
www.software-quality-lab.com | Ihr Partner für Software Qualität und Testen
Requirements Engineering ist…
| Folie 4
…ein inkrementeller, kooperativer Prozess zur Erhebung und Umsetzung von Anforderungen
www.software-quality-lab.com | Ihr Partner für Software Qualität und Testen
Erfolgsfaktoren für Requirements Engineering
| Folie 5
www.software-quality-lab.com | Ihr Partner für Software Qualität und Testen
Beschreiben Sie Ziele und Nutzen
Erfolgsfaktor
| Folie 6
www.software-quality-lab.com | Ihr Partner für Software Qualität und Testen
Beschreiben Sie Anwenderszenarien
Erfolgsfaktor
| Folie 7
UC 3 Angebot in Auftrag umwandeln
Auslöser Kunde möchte Fahrzeug kaufen
Akteure Verkäufer, Kunde
Ablauf 1. Finanzierungsoptionen definieren
2. Fahrzeugangebot erstellen
3. Zusatzoptionen Angebot erstellen
4. Angebot drucken
UC 1 Probefahrttermin vereinbaren
Auslöser Kunde wünscht Probefahrt
Akteure Verkäufer
Ablauf 1. Freien Termin suchen
2. Termin für Kunde reservieren
3. Auto für Termin und Kunde reservieren
4. Bestätigung drucken
UC 2 Angebot erstellen
Auslöser Kunde möchte Angebot
Akteure Verkäufer
Ablauf 1. Finanzierungsoptionen definieren
2. Fahrzeugangebot erstellen
3. Zusatzoptionen Angebot erstellen
4. Angebot drucken
www.software-quality-lab.com | Ihr Partner für Software Qualität und Testen
Erarbeiten Sie die Anforderungen systematisch
Erfolgsfaktor
 There is no complete and well defined set of Requirements
waiting to be discovered!
| Folie 8
www.software-quality-lab.com | Ihr Partner für Software Qualität und Testen
Halten Sie die Spezifikation schlank
Erfolgsfaktor
| Folie 9
www.software-quality-lab.com | Ihr Partner für Software Qualität und Testen
1 Anforderung = 1 Satz
Erfolgsfaktor
| Folie 10
www.software-quality-lab.com | Ihr Partner für Software Qualität und Testen
Trennen Sie fachliche und technische Sicht
Erfolgsfaktor
Lastenheft = Anwender/Außen-Sicht
 Fachliche Ziele, Nutzen
 Fachliche Prozesse und Abläufe
 Schnittstellen nach außen
 Gewünschte Interaktionsmöglichkeiten
 UI Entwurf
 Schnittstellen
 Vom Groben zum Feinen
Pflichtenheft = Software/Innen-Sicht
 Module und deren Kommunikation
 Felder, Datentypen
 Architektur
 Masken im Detail
 Sehr detailliert und technisch
| Folie 11
www.software-quality-lab.com | Ihr Partner für Software Qualität und Testen
+
+
-
-
Fixieren Sie Qualität statt Funktionalität
Erfolgsfaktor
| Folie 12
Funktionalität
ZeitQualität
Kosten
+
+
-
-
fixiert
ziemlich
fixiert
steigt
sinkt
www.software-quality-lab.com | Ihr Partner für Software Qualität und Testen
Sichern Sie die Qualität der Spezifikation
Erfolgsfaktor
 Qualitätskriterien für Anforderungen
 Adäquat
 Vollständig
 Widerspruchsfrei
 Verständlich
 Eindeutig
 Anforderungen müssen prüfbar sein.
Schlecht:
 „... soll eine hohe Performance aufweisen...“
 „... Ziel ist eine benutzerfreundliche Handhabung von ...“
 „... das System soll absturzsicher ausgeführt werden ...“
| Folie 13
www.software-quality-lab.com | Ihr Partner für Software Qualität und Testen
Arbeiten Sie zusammen
| Folie 14
Software-
Entwickler
Produkt-
Manager
Anwender,
Kunde
Andere Stakeholder
(Tester, Marketing, …)
Erfolgsfaktor
www.software-quality-lab.com | Ihr Partner für Software Qualität und Testen
Sorgen Sie für Transparenz und Verantwortung
Erfolgsfaktor
| Folie 15
Erkennen
• Änderungswünsche
entgegennehmen
• Problem erkennen
Kommunizieren
• Problem klarmachen
• Lösungen aufzeigen
• Konseuqenzen
darstellen
• Stakeholder um
Entscheidung bitten
Entscheiden
• Stakeholder
entscheiden
• Stakeholder
übernehmen
Verantwortung
Umsetzen
• Gewählte Lösung
umsetzen
• Konsequenzen treten
ein
Wenn Probleme und Änderungswünsche auftreten…
www.software-quality-lab.com | Ihr Partner für Software Qualität und Testen
Halten Sie den Änderungsprozess ein
Erfolgsfaktor
| Folie 16
Stand
kontrollieren
Verstehen
Einarbeiten
Ändern
Abhängig-
keiten
Aufwand
abschätzen
Wartung
www.software-quality-lab.com | Ihr Partner für Software Qualität und Testen
Rechnen Sie mit Schätzungenauigkeit
Erfolgsfaktor
| Folie 17
RelativeAufwands-/Kostenveränderung
Zu erwartende Genauigkeit der Softwarekosten-Schätzung
in Abhängigkeit von der Entwicklungsphase, in der geschätzt wird
x
1,5x
2x
4x
0,25x
0,5x
0,67x
Idea Draft Requirements Design Development Test Acceptance
www.software-quality-lab.com | Ihr Partner für Software Qualität und Testen
Planen Sie rollierend
Erfolgsfaktor
| Folie 18
Bis 6
Monate
6 bis 12
Monate
Weiter als
ein Jahr
Ferne
Zukunft
.
Req
R
Req
R
...
.
..
RR
. .
R R
Req
Req
.
.
.
.
.
..
.
.
R
R
R
R
R
R
R
R
.
Req
Req
Req
Req
Req Req
.
Idee
Idee
Ungefähre
Idee
Wenn‘s so
weitergeht,
…
www.software-quality-lab.com | Ihr Partner für Software Qualität und Testen
Werden Sie konsequent besser
Erfolgsfaktor
 Regelmäßige Verbesserung
 Probleme im RE sichtbar machen und aussprechen
 Abläufe optimieren
 Templates überarbeiten
 Zusammenarbeit verbessern
 Wissen über eigene Software austauschen
 Alle Stakeholder beteiligen
 Vertrieb
 Management
 Entwicklung
 Requirements Engineers
 Produkt Management
 Projektleiter
| Folie 19
www.software-quality-lab.com | Ihr Partner für Software Qualität und Testen
Gute Requirememts als Basis gute Software
| Folie 20
Gutes Requirements-Engineering ist einer der wichtigsten
Faktoren des konstruktiven QM und erfolgreicher Projekte!
www.software-quality-lab.com | Ihr Partner für Software Qualität und Testen
Beratung und Akademie
Requirements Engineering bei Software Quality Lab
| Folie 21
Neben individueller Beratung haben wir zu diesem Thema folgende Trainings
in unserer Software-Quality-Lab Akademie:
Anforderungs
-management
Certified Professional for Requirements Engineering (IREB CPRE-FL)
Praxis-Seminar: Professionelles Requirements Engineering & Management
Agile
Entwicklu
ng
Professional Scrum Master
Requirements Spezifikation in agilen Teams
Projekt-
Management
Professionelle Vertragsgestaltung für SW-Projekte
Risikomanagement in SW-Projekten
Project Management Professional (PMP)
Büro Linz
A-4041 Linz, Gewerbepark Urfahr 30
Büro Graz
A-8053 Graz, Wiener Straße 253
Büro Wien
A-1150 Wien, Mariahilfer Straße 136
Büro Lustenau
A-6890 Lustenau, Millennium Park 9
Büro München
D-80992 München, Agnes-Pockels-Bogen
1
Ihr Partner für Software Qualität und Testen
Software Quality Lab GmbH
[W] www.software-quality-lab.com

Erfolgsfaktoren im Requirements Engineering

  • 1.
    Lessons Learned ausPraxis und Beratung Markus Unterauer Berater und Trainer bei Software Quality Lab in Linz markus.unterauer@software-quality-lab.com +43 732 890072 438 Worauf es im Requirements Engineering wirklich ankommt
  • 2.
    www.software-quality-lab.com | IhrPartner für Software Qualität und Testen So sollte/muss es nicht ablaufen! | Folie 2
  • 3.
    www.software-quality-lab.com | IhrPartner für Software Qualität und Testen IX VIII VII VI III IV V II I Eine Anforderung ist … Grundbegriffe Requirements Engineering ...eine Bedingung oder Fähigkeit, die von einem Benutzer zur Lösung eines Problems oder zur Erreichung eines Zieles benötigt wird. [Pohl&Rupp09] | Folie 3
  • 4.
    www.software-quality-lab.com | IhrPartner für Software Qualität und Testen Requirements Engineering ist… | Folie 4 …ein inkrementeller, kooperativer Prozess zur Erhebung und Umsetzung von Anforderungen
  • 5.
    www.software-quality-lab.com | IhrPartner für Software Qualität und Testen Erfolgsfaktoren für Requirements Engineering | Folie 5
  • 6.
    www.software-quality-lab.com | IhrPartner für Software Qualität und Testen Beschreiben Sie Ziele und Nutzen Erfolgsfaktor | Folie 6
  • 7.
    www.software-quality-lab.com | IhrPartner für Software Qualität und Testen Beschreiben Sie Anwenderszenarien Erfolgsfaktor | Folie 7 UC 3 Angebot in Auftrag umwandeln Auslöser Kunde möchte Fahrzeug kaufen Akteure Verkäufer, Kunde Ablauf 1. Finanzierungsoptionen definieren 2. Fahrzeugangebot erstellen 3. Zusatzoptionen Angebot erstellen 4. Angebot drucken UC 1 Probefahrttermin vereinbaren Auslöser Kunde wünscht Probefahrt Akteure Verkäufer Ablauf 1. Freien Termin suchen 2. Termin für Kunde reservieren 3. Auto für Termin und Kunde reservieren 4. Bestätigung drucken UC 2 Angebot erstellen Auslöser Kunde möchte Angebot Akteure Verkäufer Ablauf 1. Finanzierungsoptionen definieren 2. Fahrzeugangebot erstellen 3. Zusatzoptionen Angebot erstellen 4. Angebot drucken
  • 8.
    www.software-quality-lab.com | IhrPartner für Software Qualität und Testen Erarbeiten Sie die Anforderungen systematisch Erfolgsfaktor  There is no complete and well defined set of Requirements waiting to be discovered! | Folie 8
  • 9.
    www.software-quality-lab.com | IhrPartner für Software Qualität und Testen Halten Sie die Spezifikation schlank Erfolgsfaktor | Folie 9
  • 10.
    www.software-quality-lab.com | IhrPartner für Software Qualität und Testen 1 Anforderung = 1 Satz Erfolgsfaktor | Folie 10
  • 11.
    www.software-quality-lab.com | IhrPartner für Software Qualität und Testen Trennen Sie fachliche und technische Sicht Erfolgsfaktor Lastenheft = Anwender/Außen-Sicht  Fachliche Ziele, Nutzen  Fachliche Prozesse und Abläufe  Schnittstellen nach außen  Gewünschte Interaktionsmöglichkeiten  UI Entwurf  Schnittstellen  Vom Groben zum Feinen Pflichtenheft = Software/Innen-Sicht  Module und deren Kommunikation  Felder, Datentypen  Architektur  Masken im Detail  Sehr detailliert und technisch | Folie 11
  • 12.
    www.software-quality-lab.com | IhrPartner für Software Qualität und Testen + + - - Fixieren Sie Qualität statt Funktionalität Erfolgsfaktor | Folie 12 Funktionalität ZeitQualität Kosten + + - - fixiert ziemlich fixiert steigt sinkt
  • 13.
    www.software-quality-lab.com | IhrPartner für Software Qualität und Testen Sichern Sie die Qualität der Spezifikation Erfolgsfaktor  Qualitätskriterien für Anforderungen  Adäquat  Vollständig  Widerspruchsfrei  Verständlich  Eindeutig  Anforderungen müssen prüfbar sein. Schlecht:  „... soll eine hohe Performance aufweisen...“  „... Ziel ist eine benutzerfreundliche Handhabung von ...“  „... das System soll absturzsicher ausgeführt werden ...“ | Folie 13
  • 14.
    www.software-quality-lab.com | IhrPartner für Software Qualität und Testen Arbeiten Sie zusammen | Folie 14 Software- Entwickler Produkt- Manager Anwender, Kunde Andere Stakeholder (Tester, Marketing, …) Erfolgsfaktor
  • 15.
    www.software-quality-lab.com | IhrPartner für Software Qualität und Testen Sorgen Sie für Transparenz und Verantwortung Erfolgsfaktor | Folie 15 Erkennen • Änderungswünsche entgegennehmen • Problem erkennen Kommunizieren • Problem klarmachen • Lösungen aufzeigen • Konseuqenzen darstellen • Stakeholder um Entscheidung bitten Entscheiden • Stakeholder entscheiden • Stakeholder übernehmen Verantwortung Umsetzen • Gewählte Lösung umsetzen • Konsequenzen treten ein Wenn Probleme und Änderungswünsche auftreten…
  • 16.
    www.software-quality-lab.com | IhrPartner für Software Qualität und Testen Halten Sie den Änderungsprozess ein Erfolgsfaktor | Folie 16 Stand kontrollieren Verstehen Einarbeiten Ändern Abhängig- keiten Aufwand abschätzen Wartung
  • 17.
    www.software-quality-lab.com | IhrPartner für Software Qualität und Testen Rechnen Sie mit Schätzungenauigkeit Erfolgsfaktor | Folie 17 RelativeAufwands-/Kostenveränderung Zu erwartende Genauigkeit der Softwarekosten-Schätzung in Abhängigkeit von der Entwicklungsphase, in der geschätzt wird x 1,5x 2x 4x 0,25x 0,5x 0,67x Idea Draft Requirements Design Development Test Acceptance
  • 18.
    www.software-quality-lab.com | IhrPartner für Software Qualität und Testen Planen Sie rollierend Erfolgsfaktor | Folie 18 Bis 6 Monate 6 bis 12 Monate Weiter als ein Jahr Ferne Zukunft . Req R Req R ... . .. RR . . R R Req Req . . . . . .. . . R R R R R R R R . Req Req Req Req Req Req . Idee Idee Ungefähre Idee Wenn‘s so weitergeht, …
  • 19.
    www.software-quality-lab.com | IhrPartner für Software Qualität und Testen Werden Sie konsequent besser Erfolgsfaktor  Regelmäßige Verbesserung  Probleme im RE sichtbar machen und aussprechen  Abläufe optimieren  Templates überarbeiten  Zusammenarbeit verbessern  Wissen über eigene Software austauschen  Alle Stakeholder beteiligen  Vertrieb  Management  Entwicklung  Requirements Engineers  Produkt Management  Projektleiter | Folie 19
  • 20.
    www.software-quality-lab.com | IhrPartner für Software Qualität und Testen Gute Requirememts als Basis gute Software | Folie 20 Gutes Requirements-Engineering ist einer der wichtigsten Faktoren des konstruktiven QM und erfolgreicher Projekte!
  • 21.
    www.software-quality-lab.com | IhrPartner für Software Qualität und Testen Beratung und Akademie Requirements Engineering bei Software Quality Lab | Folie 21 Neben individueller Beratung haben wir zu diesem Thema folgende Trainings in unserer Software-Quality-Lab Akademie: Anforderungs -management Certified Professional for Requirements Engineering (IREB CPRE-FL) Praxis-Seminar: Professionelles Requirements Engineering & Management Agile Entwicklu ng Professional Scrum Master Requirements Spezifikation in agilen Teams Projekt- Management Professionelle Vertragsgestaltung für SW-Projekte Risikomanagement in SW-Projekten Project Management Professional (PMP)
  • 22.
    Büro Linz A-4041 Linz,Gewerbepark Urfahr 30 Büro Graz A-8053 Graz, Wiener Straße 253 Büro Wien A-1150 Wien, Mariahilfer Straße 136 Büro Lustenau A-6890 Lustenau, Millennium Park 9 Büro München D-80992 München, Agnes-Pockels-Bogen 1 Ihr Partner für Software Qualität und Testen Software Quality Lab GmbH [W] www.software-quality-lab.com

Hinweis der Redaktion

  • #5 Das Requirements Engineering ist ein kooperativer, iterativer, inkrementeller Prozess, dessen Ziel es ist zu gewährleisten, dass … alle relevanten Anforderungen bekannt und in dem erforderlichen Detaillierungsgrad verstanden sind, die involvierten Stakeholder eine ausreichende Übereinstimmung über die bekannten Anforderungen erzielen, alle Anforderungen konform zu den Dokumentationsvorschriften dokumentiert bzw. konform zu den Spezifikationsvorschriften spezifiziert sind.
  • #8 Beschreiben, was die Anwender mit dem Systenm tun wollen
  • #9 Requirements-Engineering ist meist einfach nur harte Arbeit, die man jedoch im Sinne des Projekterfolgs investieren muss!
  • #13 Wenn es kritisch wird, Funktionen weg und nicht weniger Testen Von Vorneherein mit steigenden Funktionen rechnen (ca. 15%)
  • #18 RE ist als Basis für Projektkostenschätzung nur bedingt geeignet Die Bandbreite liegt zwischen ½ und dem 2-fachen der tatsächlichen Projektkosten Anbieter müsste einen Sicherheitsaufschlag von bis zu 100% machen Auftraggeber geht zumeist von den niedrigeren Kosten aus und kalkuliert daher das Budget oft falsch Vergleich zwischen Untersuchung von Standish Group und Analyse von Böhm zeigt, dass Projektverträge generell zu früh abgeschlossen werden. Kosten und Zeit werden oft fixiert, bevor noch klar ist, was überhaupt realisiert werden soll. Auch bei der Anforderungsspezifikation ist immer noch eine Schwankungsbandbreite von 50% gegeben. Eine mögliche Methode, um dies zu reduzieren ist, schon in der Spezifikationsphase grundlegende Testfälle zu überlegen Anmerkung: Schätzungen nach untetn verhandeln, ohen die Anforderungen zu reduzieren, bringt nurZeitdruck und Qualitätsprobleme
  • #20 Keine Zeit die Axt zu schärfen, ich muss ja Holz hacken!