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.
Vermutungen / Diskussion
Welche Phasen gibt es?
Welche Rollen gibt es?
Welche Dokumenttypen gibt es?
Anforderungsanalyse
System- und Softwareentwurf
Implementierung
Integration und Test
Abnahme
Betrieb und Wartung
Projektleitung
Projektleiter a.k.a. Projektmanager
Auftraggeberseite
Auftraggeber
Fachlicher Ansprechpartner
Analyse und Planung
Systemanalytiker
Requirements Engineer
Entwurf
Softwarearchitekt
Systemdesigner
Implementierung
Softwareentwickler
Datenbankentwickler
Qualitätssicherung
Tester
Testmanager
Abnahme und Betrieb
Abnahmeverantwortlicher
Systemadministrator
Anforderungsdokumente
Lastenheft
Pflichtenheft
Use-Case-Beschreibung
Entwurfs- und Designdokumente
Architekturdiagramm
Systementwurf
Klassendiagramm (UML)
Schnittstellenbeschreibung (API-Dokumentation)
und viele, viele mehr 😉
Diskussion
Welche Vor- und Nachteile hat das Modell?
In welchen Kontexten finden wir dieses Modell vor?
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.
Vermutungen / Diskussion
Welche Phasen gibt es? Gibt es überhaupt welche?
Welche Rollen gibt es?
Welche Dokumenttypen gibt es?
Produktvision und initiale Planung
Product Backlog Pflege
Sprint Planning
Sprint (Entwicklung)
Daily Scrum
Sprint Review
Sprint Retrospektive
Produktinkrement / Release
Product Owner
Verantwortlich für Produktvision und Product Backlog
Priorisiert Anforderungen
Scrum Master
Achtet auf die Einhaltung des Scrum-Prozesses
Beseitigt Hindernisse (Impediments)
Entwicklungsteam
Softwareentwickler
Tester
Architekt / Designer
In der Realität haben Entwickler meist alle "Hüte" auf !
Stakeholder
Auftraggeber
Anwender
Management
Diskussion
Welche Vor- und Nachteile hat das Modell?
In welchen Kontexten finden wir dieses Modell vor?
Welche Aufgaben (Fangfrage!) hat insbesondere der Projektleiter?
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.
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?
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?
Diskussion: Scrum Events - ob - wann - wie
Sprints wöchentlich?
Daily Scrum?
Sprint Planning?
Sprint Review?
Wer pflegt den Kalender?
Sonstiges?
Diskussion
Setzen wir ein JIRA auf? Mit Standard-Entwickler-Workflow?
Setzen wir zusammen mit JIRA ein BitBucket (Git) auf? Oder wählen wir GitHub?
Welche IDE soll verwendet werden?
IntelliJ IDEA Community Edition?
Organisation im Rahmen des ersten Sprints !
Diskussion
Welche Zielplattform für das Projekt-Artefakt?
Lokal in der IDE?
Fat JAR / Standalone?
Diskussion
Welches Build System?
IntelliJ Nativ?
Maven?
Gradle? Kotlin oder Groovy?
Diskussion
Welches JDK?
Eclipse Temurin?
LTS 25? Alternativ 21?
Diskussion
IDE Integration? Continue Plugin?
cp Ollama?
ChatGPT? Welches Modell?
Anthropic Claude? Welches Modell?
Gemini? Welches Modell?
Grok Code Fast?
Wünsche des Betreuers
Vermittlung Basiskenntnisse in JIRA und BitBucket Git
Basiskenntnisse des Verhaltens im Team (Kommunikation / Interaktion)
Basiskenntnisse bei Code-Integration → Pull Request Verfahren
Basiskenntnisse in QS → Einfache (!) JUnit-Tests
Keep it simple
Eine klare, übergeordnete Beschreibung des angestrebten Produkts, die Zweck, Nutzen und Zielrichtung vorgibt und dem Team als langfristige Orientierung für alle Entscheidungen dient.
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.
Diskussion
Formuliert eine Vision für das Erstprojekt
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
👉 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!
Diskussion
Formuliert Features / Epics für das Erstprojekt
Basierend auf den Epics werden feingranulare User Stories formuliert - Beispiele:
| ID | User Story | Priorität | Aufwand (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 |
| ID | User Story | Priorität | Aufwand (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 |
| ID | User Story | Priorität | Aufwand (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 |
Mögliche Aufgaben für den ersten Sprint
Aufsetzen JIRA/BitBucket (alternativ GitHub) mit Standard Entwicklungs Workflow
Aufsetzen IDE mit LTS JDK
Planung Epics und User Stories im Backlog
Initialisieren eines Git-Repositories remote und lokal (als User Story)
Sprint Planung