Erstprojekt Kickoff


Projekttypen

Wasserfallmodell

Ein Projektmodell, bei dem die Entwicklung strikt in aufeinanderfolgende Phasen gegliedert ist (z. B. Analyse → Entwurf → Implementierung → Test → Betrieb), wobei jede Phase vollständig abgeschlossen sein muss, bevor die nächste beginnt.

Wasserfallmodell

  • Vermutungen / Diskussion

    • Welche Phasen gibt es?

    • Welche Rollen gibt es?

    • Welche Dokumenttypen gibt es?

Wasserfallmodell - Projektphasen

  1. Anforderungsanalyse

  2. System- und Softwareentwurf

  3. Implementierung

  4. Integration und Test

  5. Abnahme

  6. Betrieb und Wartung

Wasserfallmodell - Typische Rollen

  • Projektleitung

    • Projektleiter a.k.a. Projektmanager

  • Auftraggeberseite

    • Auftraggeber

    • Fachlicher Ansprechpartner

Wasserfallmodell - Typische Rollen

  • Analyse und Planung

    • Systemanalytiker

    • Requirements Engineer

  • Entwurf

    • Softwarearchitekt

    • Systemdesigner

Wasserfallmodell - Typische Rollen

  • Implementierung

    • Softwareentwickler

    • Datenbankentwickler

  • Qualitätssicherung

    • Tester

    • Testmanager

  • Abnahme und Betrieb

    • Abnahmeverantwortlicher

    • Systemadministrator

Wasserfallmodell - Typische Dokumenttypen

  • Anforderungsdokumente

    • Lastenheft

    • Pflichtenheft

    • Use-Case-Beschreibung

  • Entwurfs- und Designdokumente

    • Architekturdiagramm

    • Systementwurf

    • Klassendiagramm (UML)

    • Schnittstellenbeschreibung (API-Dokumentation)

  • und viele, viele mehr 😉

Wasserfallmodell

  • Diskussion

    • Welche Vor- und Nachteile hat das Modell?

    • In welchen Kontexten finden wir dieses Modell vor?

Agile/Scrum

Ein iteratives und inkrementelles Projektmodell, bei dem Anforderungen in kurzen Entwicklungszyklen (Sprints) umgesetzt werden, sich während des Projekts ändern dürfen und durch regelmäßiges Feedback kontinuierlich verbessert werden.

Agile/Scrum

  • Vermutungen / Diskussion

    • Welche Phasen gibt es? Gibt es überhaupt welche?

    • Welche Rollen gibt es?

    • Welche Dokumenttypen gibt es?

Agile/Scrum - Typische Schritte / Zyklen

  1. Produktvision und initiale Planung

  2. Product Backlog Pflege

  3. Sprint Planning

  4. Sprint (Entwicklung)

  5. Daily Scrum

  6. Sprint Review

  7. Sprint Retrospektive

  8. Produktinkrement / Release

Agile/Scrum - Rollen

  • Product Owner

    • Verantwortlich für Produktvision und Product Backlog

    • Priorisiert Anforderungen

Agile/Scrum - Rollen

  • Scrum Master

    • Achtet auf die Einhaltung des Scrum-Prozesses

    • Beseitigt Hindernisse (Impediments)

Agile/Scrum - Rollen

  • Entwicklungsteam

    • Softwareentwickler

    • Tester

    • Architekt / Designer

In der Realität haben Entwickler meist alle "Hüte" auf !

Agile/Scrum - Rollen

  • Stakeholder

    • Auftraggeber

    • Anwender

    • Management

Agile/Scrum

  • Diskussion

    • Welche Vor- und Nachteile hat das Modell?

    • In welchen Kontexten finden wir dieses Modell vor?

    • Welche Aufgaben (Fangfrage!) hat insbesondere der Projektleiter?

Kreatives Chaos

Ein Projekt ohne klar definierte Strukturen oder Prozesse, in dem ein einzelner Entwickler oder „Held“ die meiste Verantwortung für Planung, Umsetzung und Problemlösung trägt, während andere Teammitglieder nur begrenzt involviert sind. Entscheidungen werden spontan getroffen, Dokumentation ist minimal, und der Projektverlauf ist stark abhängig von der Expertise und Motivation des Einzelnen.

Kreatives Chaos

  • Diskussion

    • Welche Vor- und Nachteile hat das "Modell"?

    • In welchen Kontexten finden wir dieses "Modell" vor?

  • Suggestivfragen

    • Warum ist dieses "Modell" für unser Erstprojekt denkbar ungeeignet?

    • Warum werdet Ihr während des Projektes dazu neigen, in dieses "Modell" zu verfallen?

Entscheidungen

Projektorganisation

  • Diskussion

    • Welches Projektverfahren soll verwendet werden? Warum entscheiden wir uns für Agile/Scrum? 😉

    • Welche Rollen sollen wem zugeordnet werden?

      • Scrum Master

      • Product Owner

      • Entwickler

      • Stake Holder

    • Sollen die Zuordnungen statisch oder dynamisch sein?

Projektorganisation

  • Diskussion: Scrum Events - ob - wann - wie

    • Sprints wöchentlich?

    • Daily Scrum?

    • Sprint Planning?

    • Sprint Review?

    • Wer pflegt den Kalender?

    • Sonstiges?

Technische Rahmenbedingungen

Organisation im Rahmen des ersten Sprints !

Artefakte

  • Diskussion

    • Welche Zielplattform für das Projekt-Artefakt?

      • Lokal in der IDE?

      • Fat JAR / Standalone?

Build System

  • Diskussion

    • Welches Build System?

      • IntelliJ Nativ?

      • Maven?

      • Gradle? Kotlin oder Groovy?

JDK

  • Diskussion

    • Welches JDK?

    • Eclipse Temurin?

    • LTS 25? Alternativ 21?

KI

  • Diskussion

    • IDE Integration? Continue Plugin?

    • cp Ollama?

    • ChatGPT? Welches Modell?

    • Anthropic Claude? Welches Modell?

    • Gemini? Welches Modell?

    • Grok Code Fast?

Ziele für den späteren Kundeneinsatz

Wünsche des Betreuers

  1. Vermittlung Basiskenntnisse in JIRA und BitBucket Git

  2. Basiskenntnisse des Verhaltens im Team (Kommunikation / Interaktion)

  3. Basiskenntnisse bei Code-Integration → Pull Request Verfahren

  4. Basiskenntnisse in QS → Einfache (!) JUnit-Tests

  5. Keep it simple

Erste Schritte

Vision

Eine klare, übergeordnete Beschreibung des angestrebten Produkts, die Zweck, Nutzen und Zielrichtung vorgibt und dem Team als langfristige Orientierung für alle Entscheidungen dient.

Vision - Beispiel

Wir entwickeln eine realistische, aber verständliche Simulation einer Ameisenkolonie, die zeigt, wie einfache individuelle Verhaltensregeln zu komplexem, kollektiven Verhalten führen. Die Simulation umfasst Königin, Brut und Brutpflege, Futtersuche, Pfadfindung und die Kommunikation der Ameisen untereinander und soll sowohl anschaulich als auch erweiterbar sein.

Vision - Erstprojekt

  • Diskussion

    • Formuliert eine Vision für das Erstprojekt

Features / Epics

Basierend auf der Vision werden grobgranular Features a.k.a. Epics formuliert - Beispiele:

  • Koloniestruktur und Brutpflege

    • Simulation von Königin, Brutstadien und Pflegeverhalten der Arbeiterinnen

  • Futtersuche und Pfadfindung

    • Ameisen erkunden die Umgebung, finden Futterquellen und etablieren effiziente Laufwege

  • Kommunikation und Schwarmverhalten

    • Ameisen kommunizieren über einfache Signale (z. B. Pheromone) und koordinieren ihr Verhalten kollektiv

Features / Epics

👉 Epics und Features sind keine offiziell normierten Scrum-Begriffe. Sie dienen der Strukturierung des Product Backlogs. Epics, User-Stories im Backlog etc. finden sich alle im JIRA Workflow für Entwicklungsprojekte wieder!

Features / Epics - Erstprojekt

  • Diskussion

    • Formuliert Features / Epics für das Erstprojekt

Initiales Product Backlog (1/3)

Basierend auf den Epics werden feingranulare User Stories formuliert - Beispiele:

IDUser StoryPrioritätAufwand (Story Points)

PB-01

Als Simulation möchte ich eine Königin besitzen, die Eier legt, damit die Kolonie wachsen kann.

Hoch

8

PB-02

Als Arbeiterameise möchte ich Brut pflegen, damit sich Eier zu Ameisen entwickeln.

Hoch

5

Initiales Product Backlog (2/3)

IDUser StoryPrioritätAufwand (Story Points)

PB-03

Als Arbeiterameise möchte ich die Umgebung erkunden, um Futterquellen zu finden.

Hoch

8

PB-04

Als Ameise möchte ich Pheromonspuren legen und folgen, damit effiziente Wege entstehen.

Mittel

13

Initiales Product Backlog (3/3)

IDUser StoryPrioritätAufwand (Story Points)

PB-05

Als Beobachter möchte ich das Verhalten der Ameisen visualisiert sehen, um die Simulation verstehen zu können.

Mittel

8

PB-06

Als Simulation möchte ich Parameter (z. B. Anzahl Ameisen, Futtermenge) anpassen können, um verschiedene Szenarien zu testen.

Niedrig

5

Weitere Schritte

Mögliche Aufgaben für den ersten Sprint

  1. Aufsetzen JIRA/BitBucket (alternativ GitHub) mit Standard Entwicklungs Workflow

  2. Aufsetzen IDE mit LTS JDK

  3. Planung Epics und User Stories im Backlog

  4. Initialisieren eines Git-Repositories remote und lokal (als User Story)

  5. Sprint Planung

Feedback