From b191400d1c8c010f665096a457a4f99a9c6eb88c Mon Sep 17 00:00:00 2001 From: mistangl Date: Fri, 10 Apr 2026 21:14:25 +0200 Subject: [PATCH] Erste Fassung Doku zu Cockburn --- doc/Cockburn.md | 215 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 215 insertions(+) create mode 100644 doc/Cockburn.md diff --git a/doc/Cockburn.md b/doc/Cockburn.md new file mode 100644 index 0000000..c934e68 --- /dev/null +++ b/doc/Cockburn.md @@ -0,0 +1,215 @@ +--- +marp: true +html: true +paginate: true +style: | + @import url('https://fonts.googleapis.com/css2?family=Ubuntu:wght@300;400;700&display=swap'); + section { + font-family: 'Ubuntu', sans-serif; + padding-top: 55px; + font-size: 30px; /* Normaler Text */ + } + .columns { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 2em; + } + .grau, .grau p, .grau li, .grau ol { color: #888 !important; } + section h1 { + position: absolute; + top: 0; + left: 0; + right: 0; + margin: 0; + padding: 8px 30px; + font-size: 1.0em; + background-color: #2c3e50; + color: white; + } + section::after { + content: "S." attr(data-marpit-pagination) " / " attr(data-marpit-pagination-total); + position: absolute; + bottom: 15px; + right: 30px; + font-size: 0.75em; + color: #666; + } + +--- + + + +# Zentraler Projekt-Anker: Use Cases (Epics, Sollprozesse ...) + +## Notwendige Inhalte: + +1. Story/ Kurzbeschreibung + +2. Liste aller Akteure (Stakeholder) und deren Interessen/Ziele + +3. Standard-Ablauf (primäres Erfolgsszenario) + +4. Beschreibung aller Ausnahme-Szenarios + +--- +# Titel, Story, Beispiele + +## Barabheben vom Geldautomat + +- Bankkunde hebt an einem Geldautomaten einen beliebigen Geldbetrag von einem Konto ab. + +## Designer creates CAD Document + +- Designer creates a new CAD document from a template. + +## Tester führt Testcase durch + +- Tester fuhrt die Schritte eines Test Case durch und bewertet. + +--- +# Stakeholder und Interessen, möglich Losung + +## Kunde + +- will jederzeit einen möglichst beliebigen Betrag komfortabel abheben +- will, dass Ort und Zeit seiner Abhebung aus dem Kontoauszug ersichtlich sind +- will, dass kein anderer von seinem Konto abheben kann +- mochte optional eine Sprache und Stückelung vorgeben + +## Bank + +- muss nur auszahlen, wenn der Betrag durch das Kunden-Konto gedeckt ist +- muss sicherstellen, dass der GA nicht missbräuchlich benutzt wird +- mochte mögliche Haftungsrisiken bei Missbrauch minimieren + +--- +# Beispiel Standardablauf fur UC: Barabheben vom Geldautomat + +1. Kunde fuhrt EC — Karte in Geldautomat (GA) ein +2. GA identifiziert und validiert Karte und Kontodaten, verlangt +Transaktionsauswahl und PIN +3. Kunde wählt Barabhebung und gibt PIN ein. +4. GA validiert PIN und präsentiert gängige Beträge zur Auswahl +5. Kunde wählt Betrag +6. GA sendet Betrag und Kontodaten zur Abhebung an Hauptsystem, erhält Freigabe und neuen Kontostand +7. GA stellt EC-Karte und Geldbetrag in beliebiger Stückelung zur Verfügung und zeigt aktuellen Kontostand. +8. Kunde entnimmt Geldbetrag und Karte +9. GA archiviert Transaktionsinformationen + +--- +# Für jeden Schritt im Standard-Ablauf (main flow) ... + +1. Kunde führt EC-Karte in Geldautomat (GA) ein: + + 1.1 Kunde wählt andere Sprache (X) * + +2. GA identifiziert und validiert Karte und Kontodaten, + -> verlangt Transaktionsauswahl und PIN: + + 2.1 Karte oder Konto nicht bekannt oder Karte nicht lesbar + -> Kunde informieren, Karte zurückgeben, Vorgang abbrechen, loggen + + 2.2 Karte oder Konto gesperrt + -> Kunde informieren, Karte einbehalten, Vorgang abbrechen, loggen + + 2.3 Hauptsystem nicht erreichbar + +Identifizieren von Ausnahmen, Erweiterungen (X), Optionen (X) per Brainstorming + +--- +# Beispiel **Ausnahmen** für UC: Barabheben — Schritte 1–4 + + + +
+
+ +1. Kunde führt EC — Karte in GA ein +2. GA identifiziert und validiert Karte und Kontodaten, verlangt Transaktionsauswahl und PIN +3. Kunde wählt Barabhebung und gibt PIN ein +4. GA validiert PIN und präsentiert gängige Beträge zur Auswahl + +
+
+ +1.1 Kunde wählt andere Sprache (X) +2.1 Karte, Konto nicht bekannt oder Karte nicht lesbar +2.2 Karte oder Konto gesperrt +2.3 Hauptsystem nicht erreichbar +3.1 Kunde wählt andere Transaktion (X) +3.2 Kunde bricht ab (X) +4.1 PIN falsch +4.2 PIN 3x falsch + +
+
+ +--- +# Beispiel **Ausnahmen** für UC: Barabheben — Schritte 5–9 + + + +
+
+
    +
  1. Kunde wählt Betrag
  2. +
  3. GA sendet Betrag und Kontodaten zur Abhebung an Hauptsystem, erhält Freigabe und neuen Kontostand
  4. +
  5. GA stellt EC-Karte und Geldbetrag in beliebiger Stückelung zur Verfügung und zeigt aktuellen Kontostand
  6. +
  7. Kunde entnimmt Geldbetrag und Karte
  8. +
  9. GA archiviert Transaktionsinformationen
  10. +
+ +
+
+ +5.1 Kunde möchte spezifischen Betrag (X) +5.2 Kunde wählt spezielle Stückelung (X) +5.3 Kunde bricht ab (X) +6.1 Konto nicht gedeckt, keine Freigabe +6.2 Hauptsystem nicht erreichbar +7.1 gewünschter Betrag nicht mehr verfügbar +7.2 gewünschte Stückelung nicht vorhanden +8.1 Karte wird nicht entnommen +8.2 Geldbetrag wird nicht entnommen +9.1 Hauptsystem nicht erreichbar + +
+ +
+ + +--- +# Verblüffende Neben-Effekte + +- Fokus, Priorität +- Prozess-Verständnis +- Sämtliche Test Case Pfade fix und fertig +- Implizit optimiertes, einfacheres Datenmodell +- Implizite Stabilität und Performance für den Standardpfad +- Freiheiten für die Umsetzung bewahrt + +die Trennung in primäres Erfolgsszenario und Ausnahmeszenario + +--- +# 7 Schritte zum finalen Use Case ... + +C: Kunde / Project Owner +M: Dev Team Member +T: Dev Team + +1. Titel /Teaser, Prosa Story (C) + +2. Stakeholder / Interessen (Anwender Ziele) (T) + +3. Standard Ablauf entwerfen (M) + +4. Ausnahmen und Erweiterungen sammeln (T) + +5. Ausnahme / Behandlung detaillieren, Schneiden in Userstories (M) + +6. Schätzen BV / Schätzen Aufwand (T) + +7. Review / Prüfe alle Interessen , DOR (C) + + +Draft liefert: genügend Details für Schätzungen (Aufwand, Termine, Budget)