Requirements Engineering in hybriden Projekten

.consulting .solutions .partnership Requirements Engineering in hybriden Projekten Scrum trifft Realität Einleitung: Klärung der Begriffe Scrum • ...
Author: Artur Möller
14 downloads 1 Views 1MB Size
.consulting .solutions .partnership

Requirements Engineering in hybriden Projekten Scrum trifft Realität

Einleitung: Klärung der Begriffe

Scrum •

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.

© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen

2

Einleitung: Klärung der Begriffe

Festpreisprojekt •

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.

A

B

Unternehmens-

Strategie

ziele definieren

erstellen

C

D

E

Leistungs-

Absatz- und Preisplanung

Struktur erstellen

durchführen

Planung vorbereiten

G

H

I

F

Entwicklung und Projekte planen

J

K

L

Retrograde Materialbedarf retrograd ermitteln

Leistungsbedarf retrograd ermitteln

Kapazitäten abgleichen

Investitionen u. Beschaffung planen

Simulation u. Umwertung durchführen

Auflösung durchführen

M

N

Kostenplan

O

P

Q

Personalplan erstellen

Kostenstellen-planung strukturell

(Anz. MA)

anpassen

Kostensätze für KST erstellen für KST erstellen

S

T

Einkaufspreise planen

U

V

Liquidität Deckungsbeiträge ermitteln

Ergebnis-rechnung erstellen

Y

© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen

Plankalkulation durchführen

Z

Ergebnis mit Unternehmens-zielen Planung verabschieden

Plan-GuV und Planbilanz erstellen ermitteln

Beispiel Prozesslanschaft

R

abgleichen

einmalig

automatisch

manuell

3

Einleitung: Klärung der Begriffe

Hybrides Vorgehen

„Hybride Vorgehen kombinieren agile Methoden in Teilprojekten mit einem übergeordneten, klassischen Projektaufbau.“

1. Mehr Flexibilität durch iterative Softwareentwicklung 2. Nutzung von Scrum-Artefakten im Rahmen des V-Modells XT

© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen

4

Herausforderungen

Herausforderungen in hybriden Projekten

Time / Cost

Quality

fixed

Scope / Requirements

Agile Projects

variable

Traditional Projects

Time / Cost

© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen

Quality

Scope / Requirements

5

Herausforderungen

Herausforderungen in unserem hybriden Projekt •

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.

© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen

6

Rolle des Business-Analysten in hybriden Projekten

Aufgabenbeschreibung für Product Owner aus unserer Ausschreibung

„Wir suchen Business-Analysten, die aus dem Fachkonzept einzelne User Stories schneiden und mit dem Scrum-Team umsetzen.“

© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen

7

Problemanalyse

Fachkonzept vs. User Story

Titel Als möchte ich , so dass

© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen

8

Problemanalyse

Warum eigentlich User Stories? •

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 guidelines for good user stories Brief statement of intent that describes something the system needs to do for the user

I

independent

N

negotiable

V

valuable

E

estimable

S

small

T

testable

1. Beck and Fowler, 2005

© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen

9

Problemanalyse

Product Owner vs. Business-Analyst

Was verantwortet ein Product Owner im Scrum-Team?

© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen

Was verantwortet ein BusinessAnalyst in einem Projekt?

10

Problemanalyse

Product Owner vs. Business-Analyst

Das Richtige bauen

Business Value

BacklogPflege

PO

Austausch mit Stakeholdern

Austausch mit ScrumTeam

1. Boris Gloger; IEE, IREB; xtronic

© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen

11

Problemanalyse

How we failed …

© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen

12

Problemanalyse

Retrospektive •

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.

© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen

13

Problemanalyse

Wie haben wir die Kehrtwende geschafft?

Agile Best Practices anwenden

© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen

14

Agile Best Practices

Sichtbare Produkt-Vision fokussieren!

Warum wird das Produkt gebaut? Für wen bauen wir das Produkt? Wann und wie sollte das Produkt geliefert werden?

Vision und Ziel

© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen

15

Agile Best Practices

Agile Artefakte nutzen!

Big View

Pre-View

Produktvision/ Idea

Roadmap

Feature 1 Release-Plan Epic1

Details / Sprint-Backlog

Epic2

User Story User Story User Story

Story Mapping

Epic..

• • • •

Task 1 Task 2 … Task n

Sprint Plan

User Story Thema

© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen

16

Agile Best Practices

Continuous Product Delivery etablieren!

Inkrement

Sprint 53

Sprint 54

Sprint 55

……

User Story 1

User Story 2

1. Agile@adobe

© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen

17

Agile Best Practices

User Stories vertikal schneiden!

Vertikal End-to-End schneiden, soweit es möglich ist! Der Business Value treibt das Product Backlog!

Client

Feature-Teams ersetzen Component-Teams! Anwendungslogik

Server

Datenbank

© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen

18

Agile Best Practices

Story Mapping: Den Durchstich identifizieren! •

Das „Walking Skeleton“ ist eine Minimalversion des Systems, die einen kleinen aber kompletten End-to-End abbildet.(1)

Buch auswählen

Warenkorb

Versandarten

Zahlung

….. Zeit

Notwendig

Bücher auflisten

In Warenkorb legen

Bücher auswählen Bücher suchen Nice to have

StandardVersand

RechnungAdresse

Versand Adresse

Zahlen per Kreditkarte

Warenkorb löschen

Walking Skeleton

Pay Pal Zahlung

Bücher filtern

1. Jeff Patton, A Better way to work with User Stories http://jpattonassociates.com/user-story-mapping/

© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen

19

Agile Best Practices

User Stories strukturieren!

user

As a Super Fan concert goer I need to search for concert-related dining discounts so I can enhance my concert experience

action

data

back of card

control

Only “current“ dining discounts can be… Interface with concert goer Mobile Available 95% of time

interface

environment

quality attribute

1. Ellen Gottesdiener: A Visual Nutshell for Amplifying Product Discovery

© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen

20

Agile Best Practices

Backlog iterativ verfeinern! •

Gute Fragen fürs Refinement:     

Item

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?

Size 3

Estimate Insert item

Reprioritize items



Gutes Backlog: DEEP    

Detailed Appropriately (erst kurz vor Umsetzung Anforderungen detailliert) Estimated Emergent (ständig in Überarbeitung) Prioritized (priorisiert nach Geschäftswert)

Original large item

Refine items

Delete items

© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen

21

Agile Best Practices

Refinement of User Story: Beispiel aus XING

User Story

Verfeinerung der User Story

Umsetzung

1. Requirements Engineering Best Practice Einführung in einer agilen Umgebung, Petra Schwenk und Michael Eisenbarth, Hamburg 2010,

© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen

22

Agile Best Practices

Definition of Ready für User Stories festlegen! •

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

© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen

23

Agile Best Practices

Kunden-Feedback einbeziehen!

Der Kunde sollte MVPs sehen und bewerten! Kunden-Feedback bei der Weiterentwicklung und Verbesserung einbeziehen! Kostenlosen Change erlauben!

© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen

24

Fazit

Agiles Umdenken

© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen

25

Fazit

Anforderungen mit den Kunden schrittweise definieren und umsetzen! •

Konversation und Zusammenarbeit zwischen Scrum-Team und Kunde ersetzen Fachkonzept.



Der Kunde schreibt User Stories!

As a I need to so

© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen

26

Fazit

Business-Analyst findet seine Rolle in Scrum-Team •

Business-Analyst wird tatsächlich zum Product Owner und übernimmt die Verantwortung für das Produkt

Scrum Master

Business-Analyst als Product Owner



Business-Analyst wird Mitglied des Entwicklungsteams und übernimmt die Verantwortung für die Produktqualität.

Scrum Master

Product Owner Entwicklungsteam

Business-Analyst im Entwicklungsteam

1. Roman Pilcher, Business Analysten in Scrum

© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen

27

Weitere Infos

Literatur •

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

© msg | März 2017 | Requirements Engineering in hybriden Projektvorgehen

28

Nastaran Matthes Senior Business Consultant [email protected]

msg systems ag Robert-Bürkle-Str. 1 85737 Ismaning Germany www.msg.group

Cornelia Seraphin Senior Business Consultant [email protected]

.consulting .solutions .partnership