Softwaretechnik - Übung

Anforderungsentwicklung​​​​​​​




​​​​​​​03.11.2017, WS 2017



​​​​​​​
Konrad Abicht
Link zur Uni Leipzig

Lernziele


​​​​​​​

- Rolle des Product Owners im Scrum besser verstehen

- Feedback zu Anforderungen im Scrum besser verstehen

- Erarbeitung von Anforderungen aus Beispieltexten

- Überführung von Anforderungen in ein Lastenheft und Backlog

Link zur Uni Leipzig

Aufbau der Übung

​​​​​​​
Teil 1: Anforderungsverwaltung am Beispiel von Scrum

Teil 2: Praktische Übung - Erarbeitung von Anforderungen aus Beispieltext

Teil 3: Übertragung der Anforderungen in ein Lastenheft

Teil 4: Übertragung der Anforderungen in Backlog (Task Board)

Teil 5: Auswertung und Gegenüberstellung

Link zur Uni Leipzig




​​​​​​​Teil 1

​​​​​​​
Anforderungsverwaltung am Beispiel von Scrum

Link zur Uni Leipzig

Scrum: Product Owner

​​​​​​​Charakterisierung:
- besitzt Kenntnisse über den Zielmarkt und Zielgruppen

- besitzt Erfahrung im Projektmanagement bzw. Marketing


Aufgaben (bezogen auf Anforderungsentwicklung):
- Entwicklung einer klaren Produkt-Vision (Das Was)

- Aufbau und Pflege des Produkt Backlogs

- Ansprechpartner für Team

Link zur Uni Leipzig

Initiale Anforderungserhebung: Sprint Zero​​​​​​​​​​​​​​​​​


​​​​​​​
Link zur Uni Leipzig

Initiale Anforderungserhebung: Sprint Zero​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

Link zur Uni Leipzig

Die Organisation um User Stories

Link zur Uni Leipzig

Erstellung von Anforderungen: User Stories



​​​​​​​Aufbau einer User Story: 

     Als [ROLLE] möchte ich [ZIEL](, um damit [GRUND]).



Anforderungen an User Stories:

- kurz und präzise (1 Satz) 

- Notierung auf Karteikarten o.ä.

Link zur Uni Leipzig

Erstellung von Anforderungen: User Stories
 

Beispiele:

1. Als [User] möchte ich meine [komplette Festplatte sichern] können.


2. Als [Besucher] möchte ich [im Shop Produkte bestellen können], um mich [nicht anmelden zu müssen].

Link zur Uni Leipzig

Verwaltung von User Stories über Task Board​​​​​​​

Link zur Uni Leipzig

Umsetzung einer User Story

Link zur Uni Leipzig

Auswertung eines Sprints (Review Meeting)

Link zur Uni Leipzig




​​​​​​​Teil 2: Praktische Übung

​​​​​​​
Erarbeitung von Anforderungen aus Beispieltext

Link zur Uni Leipzig

Beispiel

Basiert auf Modellierungsaufgabe aus der SWT-Prüfung 2016


​​​​​​​Sheldon Cooper möchte mit seinem Podcast „Spaß mit Flaggen“ mehr Leute erreichen und die Community glauben lassen, sie könnten Einfluss auf seine Folgen haben. Dazu möchte er seinen Podcast Feed mit einem neuen Webservice namens „Spaß mit Flaggen Beobachter“ verknüpfen.




​​​​​​​Bildquelle: https://goo.gl/d5LdZ9

Link zur Uni Leipzig

Umgang mit dem Beispiel


- es folgen Zusammenfassungen der Inhalte aus einem 
  Treffen mit Sheldon Cooper, nach Schwerpunkten geordnet


- pro Schwerpunkt ist ein Text zu analysieren und aus ihm 
  funktionale und nicht-funktionale Anforderungen


- pro Text ca. 10 Minuten Zeit um Anforderungen zu ermitteln


​​​​​​​- am Ende Zusammenführung ermittelter Anforderungen


- Übertragung in Lastenheft und Scrum Task Board

Link zur Uni Leipzig

Form der Erfassung (Beispiele)


​​​​​​​4. Produktfunktionen

1. Folgenliste


/LF0100/ - Ein beliebiger Internetnutzer kann sich am System 
registrieren. Folgende Daten sind dafür anzugeben: Vor- und 
Nachname, E-Mail und Passwort.


/LF0110/ - ….

Link zur Uni Leipzig

Form der Erfassung (Beispiele)


​​​​​​​5. Produktleistungen


1. Folgenliste


/LL0100/ - ...


/LL0110/ - ….

Link zur Uni Leipzig

Schwerpunkt: Folgenliste

​​​​​​​

Sheldon Cooper will seinen geschätzten Zuhörern eine 
Webseite mit Übersicht aller bisherigen Folgen bereitstellen. 
Darüber sollen sich Nutzer über die Folge, geladene Gäste 
und die vorgestellten Länder gemeinsam mit ihren Flaggen 
(Bild + Binärformat) informieren können. Da auf Klingonisch 
einfach alles besser klingt, soll eine entsprechende 
Übersetzung jeweils verlinkt werden.

Link zur Uni Leipzig
/LF01xx/
/LD01xx/
/LL01xx/

Schwerpunkt: Nutzerver-
                               waltung

​​​​​​​

Fehler werden passieren, Sheldon Cooper weiß das. Daher
will er zu jedem Nutzer entsprechende digitale Kontaktdaten.
Weil nur verlässliche Informationen gute Informationen sind, 
müssen die Kontaktdaten verifiziert sein. Sheldon betonte, 
dass er nichts mehr hasst, als anonyme Leute die seinen 
Feed mit Kommentaren vollspamen. 

Sheldon will über jeden Nutzer und sein Verhalten auf der 
Seite informiert sein: ID des Endgerätes, seine 
Kommentarqualität sowie der letzte Login.

Link zur Uni Leipzig
/LF02xx/
/LD02xx/
/LL02xx/

Schwerpunkt: Kommentare
​​​​


​​​​​​​Sheldon wünscht, dass Nutzer über eine Kommentarfunktion
mitteilen können, wie toll sie eine Folge fanden. Um dem sehr
unwahrscheinlichen Fall vorzubeugen, dass es zu kritischen 
Kommentaren kommt, müssen Kommentare freigegeben 
werden. Weiterhin wird als unerlässlich die Festlegung der 
Kommentarqualität erachtet. Eine Genauigkeit auf 2 Stellen 
nach dem Komma sollte vorerst ausreichen. 

Um Sheldon mehr Zeit für seine Arbeit an der String-Theorie 
zu geben, sollen sich Kommentare zu vergangenen Folgen
einfach als „veraltet“ markieren lassen.

Link zur Uni Leipzig
/LF03xx/
/LD03xx/
/LL03xx/

Sonstiges
​​​​

Niemand soll lange warten müssen, daher ist die Folgenliste 
innerhalb von maximal 1 Sekunde aufzubauen. Ungeachtet,
ob 1, 100 oder 10^6 Benutzer auf der Seite gleichzeitig 
unterwegs sind.


Neben infiniter Skalierbarkeit ist die Webseite fehlerfrei aus-
zuliefern. Daher ist bereits vor der Onlinestellung sicher zu
stellen, dass die Software fehlerfrei ist.
 

Link zur Uni Leipzig

Teil 4:

Übertragung der Anforderungen in Backlog (Task Board)
​​​​

https://git.informatik.uni-leipzig.de/softwaretechnik/uebung-2017/boards

 

Link zur Uni Leipzig

Teil 5:

Auswertung und Gegenüberstellung

Link zur Uni Leipzig

Auswertung und Gegenüberstellung

Lastenheft

Backlog (Task Board)

mit User Stories und Features

- hoher Grad an Strukturierung 
(Zielstellung, ...)

- Klare Zuordnung der Anforderungen (Funktional, ...)

- Aufwand der Pflege steigt erheblich mit Umfang

- Abhängigkeiten in Dritt-Systeme umständlich zu verwalten

- Darstellung aller Aufgaben auf einem Blick
- Darstellung, welche Aufgaben sich in welchem Stadium befinden
- Format der User Stories nicht formalisiert

Entweder, oder? Oder beides?

- Lastenheft und Backlog können koexisitieren


- Lastenheft kann auch mithilfe von Scrum erarbeitet werden


​​​​​​​- agilen Methoden können helfen, die Grobplanung bereits am Anfang präziser zu gestalten

Fragen, Anmerkungen?

Vorlesung Systemmodellierung



Nächster Termin: 10.11.2017

Author: konrad.abicht

Contributors: 

Licenced under the Creative Commons Attribution ShareAlike licence (CC-BY-SA)

This deck was created using SlideWiki.