In diesem kleinen Slidedeck habe ich meine ganze Erfahrung im Requirements Engineering aus mehr als 10 Jahren als Entwickler, Projektleiter, Berater und Trainer auf die wichtigsten Erfolgsfaktoren eingedampft. Es ist meine sehr persönliche Sicht, worauf es im Umgang mit Anforderungen ankommt und was erfolgreiche Teams anders machen.
Wenn Sie mehr zu dem Thema wissen oder mir Ihre Erfolgsfaktoren im Anforderungsmanagent mitgeben möchten, schreiben Sie mir einfach ein Mail an markus.unterauer@software-quality-lab.com. Würde mich sehr über Ihr Feedback freuen :-)
"Das Reiten eines hässlichen Pferdes ist verboten" - Gesetze aus Sicht eines ...
Erfolgsfaktoren im Requirements Engineering
1. 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
3. 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
4. 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
7. 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
8. 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
11. 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
12. 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
13. 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
14. 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
15. 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…
16. 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
17. 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
18. 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,
…
19. 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
20. 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!
21. 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)
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
Editor's Notes
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.
Beschreiben, was die Anwender mit dem Systenm tun wollen
Requirements-Engineering ist meist einfach nur harte Arbeit, die man jedoch im Sinne des Projekterfolgs investieren muss!
Wenn es kritisch wird, Funktionen weg und nicht weniger Testen
Von Vorneherein mit steigenden Funktionen rechnen (ca. 15%)
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
Keine Zeit die Axt zu schärfen, ich muss ja Holz hacken!