Requirements Engineering in hybriden Projekten
Transcript of Requirements Engineering in hybriden Projekten
.consulting .solutions .partnership
Requirements Engineeringin hybriden ProjektenScrum trifft Realität
Einleitung: Klärung der Begriffe
Scrum
© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen 2
• Zentrale Elemente von Scrum sind die direkte
Kommunikation und die direkte
Zusammenarbeit mit den Kunden.
• Die Rolle des Product Owners ist hierbei die
wichtigste Schnittstelle zu allen Stakeholdern.
Product Owner priorisieren die Anforderungen
und stellen sicher, dass das Produkt zu jedem
Zeitpunkt den höchstmöglichen Wert hat.
• Scrum schätzt funktionierende Software mehr
als umfassende Dokumentation.
Einleitung: Klärung der Begriffe
Festpreisprojekt
3
• Die Anforderungen an das Produkt liegen bereits zu Projektbeginn detailliert in Form des Fachkonzepts vor.
Nur so lässt sich ein Projekt als Gewerk anbieten.
• Änderungen durchlaufen einen expliziten Change-Request-Prozess.
Beispiel Prozesslanschaft
Unternehmens-
ziele definieren
Strategie
erstellen
Planung vorbereiten
Leistungs-
Struktur erstellen
Absatz- und Preisplanung
durchführen
Entwicklung und Projekte planen
Retrograde
Auflösung durchführen
Materialbedarf retrograd ermitteln Leistungsbedarf retrograd ermitteln Kapazitäten abgleichen Investitionen u. Beschaffung planen Simulation u. Umwertung durchführen
Kostenplan
für KST erstellen
Kostensätze für KST erstellenPersonalplan erstellen
(Anz. MA)
Kostenstellen-planung strukturell
anpassen
Einkaufspreise planen Plankalkulation durchführen
Deckungsbeiträge ermitteln Ergebnis-rechnung erstellen Plan-GuV und Planbilanz erstellen
Liquidität
ermitteln
Ergebnis mit Unternehmens-zielen
abgleichen
Planung verabschieden
G H I J K
M N O P Q
S T U V Y
L
R
Z
A B C D E F
einmalig automatisch manuell
© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen
Einleitung: Klärung der Begriffe
1. Mehr Flexibilität durch iterative Softwareentwicklung
2. Nutzung von Scrum-Artefakten im Rahmen des V-Modells XT
Hybrides Vorgehen
© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen 4
„Hybride Vorgehen kombinieren agile Methoden in Teilprojekten mit einem
übergeordneten, klassischen Projektaufbau.“
Herausforderungen
Herausforderungen in hybriden Projekten
© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen 5
fixed
Scope / Requirements Time / Cost Quality
Time / Cost Quality Scope / Requirements
variable
Traditional
Projects
Agile Projects
Herausforderungen
Herausforderungen in unserem hybriden Projekt
© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen 6
• Umfangreiche Anforderungsbeschreibung
800-seitiges Fachkonzept, zwei Jahre vor Start der Entwicklung erstellt
• Fachkonzept war teilweise überholt, teilweise nicht ausreichend detailliert durchdacht
• Schwergewichtige Change-Management-Prozesse
• Hierarchische Kundenbeziehung
• Schlechte Verfügbarkeit der Ansprechpartner beim Kunden
• Kombination aus Festpreis und Fachkonzept – fest definiertes Budget und Features.
Verhandlungen über Inhalte sind schwierig
• Umsetzung nach Scrum, Auslieferung in kurzen Iterationen und schnelles Go-Live gewünscht.
• Business-Analysten waren keine Mitglieder der Scrum-Teams.
Rolle des Business-Analysten in hybriden Projekten
Aufgabenbeschreibung für Product Owner aus unserer Ausschreibung
© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen 7
„Wir suchen Business-Analysten, die aus dem Fachkonzept
einzelne User Stories schneiden und mit dem Scrum-Team umsetzen.“
Fachkonzept vs. User Story
© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen 8
Problemanalyse
Titel
Als <Rolle>
möchte ich <Funktionalität>,
so dass <fachlicher Wert, wirtschaftlicher Nutzen>
Problemanalyse
1. Beck and Fowler, 2005
Warum eigentlich User Stories?
© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen 9
• User Stories laut XP: „A story should be understandable to customers, developer-testable, valuable to the
customer and small enough that the programmers can build half a dozen in an iteration.“
• User Stories unterstützen die kreative Zusammenarbeit in der Softwareentwicklung.
A promise for a conversation
Brief statement of intent
that describes something the
system needs to do for the user
independentI
negotiableN
valuableV
estimableE
smallS
testableT
guidelines
for good user
stories
Product Owner vs. Business-Analyst
© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen 10
Problemanalyse
Was verantwortet
ein Product Owner
im Scrum-Team?
Was verantwortet
ein Business-
Analyst in einem
Projekt?
Product Owner vs. Business-Analyst
© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen 11
Problemanalyse
1. Boris Gloger; IEE, IREB; xtronic
Das Richtige bauen
Backlog-Pflege
Austausch mit Scrum-
Team
Austausch mit
Stakeholdern
Business Value
PO
How we failed …
© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen 12
Problemanalyse
Problemanalyse
Retrospektive
© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen 13
• Traveling User Stories
• Viele Lücken in der Software, weil die Abhängigkeiten zwischen Funktionen in Jira verloren gehen:
Das Lastenheft wurde in Puzzle-Stücke zerlegt.
• Entwickler hatten User Stories vor dem Sprint nicht verstanden.
• Diskussionen zwischen Entwicklungsteam und Business-Analysten fanden erst während des Sprints statt.
• Umsetzung: Zuerst Core-Funktion. Der Value folgte am Ende des Sprints und stand nicht im Mittelpunkt.
• Epics wurden horizontal geschnitten: Dialog – Funktion – DB
• Akzeptanztests fehlten.
• Inhalt der User Stories: Referenzen auf Seiten im Lastenheft.
Wie haben wir die Kehrtwende geschafft?
© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen 14
Problemanalyse
Agile Best Practices
anwenden
Agile Best Practices
Sichtbare Produkt-Vision fokussieren!
© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen 15
Vision und Ziel
Warum wird das Produkt gebaut?
Für wen bauen wir das Produkt?
Wann und wie sollte das Produkt geliefert werden?
Agile Best Practices
Agile Artefakte nutzen!
© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen 16
Thema
Produktvision/
IdeaRoadmap
Epic1
User Story
Epic2 Epic..
User Story
User Story
User Story
• Task 1
• Task 2
• …
• Task n
Story Mapping
Big View
Pre-View
Details /
Sprint-Backlog
Feature 1
Release-Plan
Sprint Plan
Continuous Product Delivery etablieren!
© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen 17
Agile Best Practices
1. Agile@adobe
User Story 1 User Story 2
……
Sprint 53
Inkrement
Sprint 54 Sprint 55
Agile Best Practices
User Stories vertikal schneiden!
© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen 18
Vertikal End-to-End schneiden, soweit es möglich ist!
Der Business Value treibt das Product Backlog!
Feature-Teams ersetzen Component-Teams!
Datenbank
Server
Anwendungslogik
Client
Agile Best Practices
1. Jeff Patton, A Better way to work with User Stories http://jpattonassociates.com/user-story-mapping/
Story Mapping: Den Durchstich identifizieren!
© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen 19
• Das „Walking Skeleton“ ist eine Minimalversion des Systems, die einen kleinen aber kompletten
End-to-End abbildet.(1)
Buch auswählen Warenkorb Versandarten Zahlung …..
Bücher auflisten
Bücher
auswählen
Bücher
suchen
Bücher
filtern
Notwendig
Zeit
In Warenkorb
legen
Warenkorb
löschen
Standard-
Versand
Versand
Adresse
Rechnung-
Adresse
Zahlen per
Kreditkarte
Pay Pal Zahlung
Walking Skeleton
Nice to
have
User Stories strukturieren!
© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen 20
Agile Best Practices
1. Ellen Gottesdiener: A Visual Nutshell for Amplifying Product Discovery
data
quality attributeinterface
control
action
user
As a Super Fan concert goer
I need to search for
concert-related dining discounts
so I can enhance my concert experience
Only “current“ dining discounts can be…
Interface with concert goer
Mobile
Available 95% of time
back of card
environment
Agile Best Practices
Backlog iterativ verfeinern!
© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen 21
• Gute Fragen fürs Refinement: Welche weiteren Informationen benötigt ihr noch?
Wo seht ihr Schwierigkeiten?
Ist die Reihenfolge aus technischer Sicht sinnvoll?
Seht ihr Risiken?
Passt die Story in einen Sprint?
• Gutes Backlog: DEEP Detailed Appropriately
(erst kurz vor Umsetzung Anforderungen detailliert)
Estimated
Emergent (ständig in Überarbeitung)
Prioritized (priorisiert nach Geschäftswert)
Delete items
Refine items
Reprioritize items
Estimate
SizeItem
Original large item
3
Insert item
Agile Best Practices
1. Requirements Engineering Best Practice Einführung in einer agilen Umgebung, Petra Schwenk und Michael Eisenbarth, Hamburg 2010,
Refinement of User Story: Beispiel aus XING
© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen 22
User Story
Verfeinerung der
User Story Umsetzung
Agile Best Practices
Definition of Ready für User Stories festlegen!
© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen 23
• User Stories sind klein:
Eine User Story wird innerhalb einer Woche von max. zwei Entwicklern fertig umgesetzt.
• User Stories sind schätzbar:
Wir haben die User Story verstanden!
• User Stories sind testbar:
Der Akzeptanztest ist klar definiert und die Testdaten sind vorhanden.
• User Stories sind abgestimmt mit dem Entwicklungsteam
mit den IT-Architekten
Agile Best Practices
Kunden-Feedback einbeziehen!
© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen 24
Der Kunde sollte MVPs sehen und bewerten!
Kunden-Feedback bei der Weiterentwicklung
und Verbesserung einbeziehen!
Kostenlosen Change erlauben!
Fazit
Anforderungen mit den Kunden schrittweise definieren und umsetzen!
© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen 26
• Konversation und Zusammenarbeit zwischen Scrum-Team und Kunde ersetzen Fachkonzept.
• Der Kunde schreibt User Stories!
As a <user>
I need to <action>
so <reason>
Fazit
1. Roman Pilcher, Business Analysten in Scrum
Business-Analyst findet seine Rolle in Scrum-Team
© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen 27
• Business-Analyst wird tatsächlich zum
Product Owner und übernimmt die
Verantwortung für das Produkt
• Business-Analyst wird Mitglied des
Entwicklungsteams und übernimmt die
Verantwortung für die Produktqualität.
Business-Analyst als
Product Owner Entwicklungsteam
Scrum Master
Product Owner Business-Analyst im
Entwicklungsteam
Scrum Master
Weitere Infos
Literatur
© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen 28
• KEN SCHWABER, JEFF SUTHERLAND: Software in 30 Tagen, Wie Manager mit Scrum
Wettbewerbsvorteile für ihr Unternehmen schaffen, dpunkt.verlag, 2013.
• DEAN LEFFINGWELL: Agile Software Requirements: Lean Requirements Practices for Teams, Programs,
and the Enterprise, Addison-Wesley, 2010.
• ROMAN PICHLER: Agiles Produktmanagement mit Scrum, Addison-Wesley, 2012.
• ELLEN GOTTESDINER, MARY GORMAN: Discover to deliver: Agile Product Planning and Analysis, EBG
Consulting, 2012.
• B. RAMESH, L. CAO, R. BASKERVILLE: Agile Requirements Engineering Practices: An Empirical Study,
Information Systems Journal, 449-480.
• Roman Pichler Consulting: www.romanpichler.com
.consulting .solutions .partnership
Nastaran Matthes
Senior Business Consultant
msg systems ag
Robert-Bürkle-Str. 1
85737 Ismaning
Germany
www.msg.group
Cornelia Seraphin
Senior Business Consultant