Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Architektonische Trockenübung

Architektonische Trockenübung

Weil Software Architekten üben müssen, Software Architekten zu sein.

Alexander Schwartz

February 25, 2015
Tweet

More Decks by Alexander Schwartz

Other Decks in Programming

Transcript

  1. Architectural Kata
    Weil Software Architekten üben müssen,
    Software Architekten zu sein
    Niko Köbler (Freelancer)
    Alexander Schwartz (msg systems ag)
    Entwicklertag Frankfurt 2015

    View Slide

  2. View Slide

  3. Agenda
    ● Vorstellung + Erwartungen (10min)
    ● Einführung Architektur (20min)
    ● Entwurf 1 (30min)
    ● Diskussion 1 (60min)
    ● Pause (15min)
    ● Entwurf 2 (30min)
    ● Diskussion 2 (60min)
    ● Retrospektive (15min)

    View Slide

  4. Architektur-Entwurf
    Architektur-Dokumentation
    Software-Architektur

    View Slide

  5. Anforderungen und Risiken
    ● sind die Architektur-Treiber
    ● müssen dokumentiert, bewertet und
    beobachtet werden
    ● erzeugen Kompromisse
    ● NFAs nicht vergessen

    View Slide

  6. Qualitätsmerkmale (ISO/IEC 9126)
    ● Funktionalität
    ● Zuverlässigkeit
    ● Benutzbarkeit
    ● Effizienz
    ● Änderbarkeit/Wartbarkeit
    ● Übertragbarkeit
    http://de.wikipedia.org/wiki/ISO/IEC_9126

    View Slide

  7. Verschiedene Sichten (nach arc42)
    ● Kontextsicht
    ● Bausteinsicht
    ● Laufzeitsicht
    ● Verteilungssicht
    http://www.arc42.de

    View Slide

  8. Kontextsicht

    View Slide

  9. Bausteinsicht 1

    View Slide

  10. Bausteinsicht 2

    View Slide

  11. Laufzeitsicht

    View Slide

  12. Verteilungssicht

    View Slide

  13. Die Regeln
    Das Kata

    View Slide

  14. Phase I - Teamfindung
    ● ca. 3-4 Personen je Team
    ● Teammitglieder kennen sich nicht
    ● Verschiedene KnowHow-Level
    ● Teamleiter bestimmen

    View Slide

  15. Phase II - Diskussion
    ● Fragen an den/die Moderatoren (PO’s) stellen
    ● Jede Technologie wird akzeptiert
    ● Annahmen über Technologien (die man nicht
    genau kennt) sind in Ordnung
    (müssen aber klar definiert/
    kommuniziert werden)

    View Slide

  16. Phase II - Entwurf
    ● Fachlicher Entwurf
    ○ Domänen
    ○ Prozesse
    ● Technik-Auswahl
    ○ Software
    ○ Hardware
    ○ Protokolle
    ● KEIN Projektplan!

    View Slide

  17. Phase III - Präsentation
    ● Präsentation des Entwurfs
    → Auftraggeber (PO) überzeugen
    ● Zuhörer stellen Fragen
    ● Präsentator verteidigt Entwurf
    ● Konstruktiv und sachlich bleiben!

    View Slide

  18. Phase IV - Bewertung

    View Slide

  19. Use Case 1
    Ein Veranstalter benötigt ein neues Management-Tool für seine Konferenzen
    Anforderungen:
    Die Teilnehmer können online auf den Vortrags-Zeitplan inkl. Rauminformationen
    zugreifen und Vorträge bewerten (Webseite, Mobile, E-Mail, Telefon). Die
    Speaker können online ihre Vorträge eintragen/editieren. Die Vortragsfolien sind
    online nur für die Teilnehmer verfügbar. Der Veranstalter kann die Teilnehmer
    über kurzfristige Änderungen aktiv informieren (opt-in). Jede Konferenz kann
    unterschiedlich vermarktet (“ge-branded”) werden.
    Benutzer:
    ~500 Speaker, < 100 Mitarbeiter, 10.000++ Teilnehmer

    View Slide

  20. Use Case 2
    Ein Radiosender möchte den DJ mit seinem Publikum vernetzen
    Anforderungen:
    Die Zuhörer können sich Titel wünschen, “Votes” abgeben für den gerade
    laufenden Titel, für Titel in der täglichen Playlist des DJs.
    Weitere Anforderungen: Near-Real-Time-Sync mit der gerade gespielten
    Musik. Zugriff über Mobile Devices
    Benutzer:
    Anzahl unbekannt (je nach Reichweite des Radiosenders)

    View Slide

  21. Los geht’s!

    View Slide

  22. Use Case 3
    Der Kunde möchte eine Webseite, die Internet-Trends aufspürt. Sobald
    ein neuer Trend gefunden ist, soll eine spezielle Webseite dafür erzeugt
    und promoted werden, damit Benutzer mit dieser interagieren können.
    Anforderungen: Überdurchschnittlich gute SEO, einfaches Hinzufügen von
    Inhalten für Benutzer, Inhalte sollen einfach aufzurufen und vernetzbar sein.
    Anstößiger Inhalt soll gefiltert werden. Trend-Analysen sollen einfach und
    schnell zu erzeugen sein. Es soll Foren inkl. Moderatoren geben. Die Inhalte
    müssen überall und immer erreichbar sein. Admins müssen einfach und schnell
    zu kontaktieren sein.
    Benutzer:
    1.000.000++ Leser, 1.000++ Aktive Benutzer, ca. 20-50 Admins

    View Slide

  23. Use Case 4
    Der Kunde ist ein lokaler Copy Shop, der seinen Kunden alles von
    Dokumenterstellung, -bearbeitung, -ablage und -druck bieten will.
    Anforderungen: browserbasiert, Textbearbeitung, Präsentationen,
    Dokumentenvorlagen (für neue Dokumente), Versionierung/Historisierung,
    zeitgesteuerter Druck, Zahlung elektronisch und vor Ort
    Benutzer:
    1.000+ lokale Nutzer, später ggf. 1.000.000++ überregional

    View Slide

  24. Los geht’s!

    View Slide

  25. Wie war es?
    Retrospektive

    View Slide

  26. Danke für’s Mitmachen!

    View Slide

  27. Kontakt
    Niko Köbler
    Freiberuflicher
    Berater & Trainer
    Mobil: 0172-6714839
    E-Mail: [email protected]
    Twitter: @dasniko
    Alexander Schwartz
    Principal IT-Consultant
    msg systems ag
    Mobil: 0171-5625767
    E-Mail: alexander.schwartz
    @msg-systems.com
    Twitter: @ahus1de

    View Slide

  28. Weiterführende Links
    http://www.arc42.de
    http://www.codingthearchitecture.com/
    https://leanpub.com/software-architecture-for-developers
    http://de.wikipedia.org/wiki/ISO/IEC_9126
    http://de.wikipedia.org/wiki/FURPS
    http://www.architecturalkatas.com/

    View Slide