Neben der eigentlichen Softwareentwicklung gibt es spezielle Aufgaben, die von den Teammitglieder als Querschnittsaufgaben übernommen werden müssen. Diese Spezialisten und Verantwortlichen arbeiten sich in das Thema ein, beraten die Mitglieder der Gruppe und sorgen dafür, dass die Anforderungen an diese Aufgabe eingehalten werden. Die Aufgaben können dabei von einzelnen Personen oder auch zu zweit übernommen werden.
Einzelaufgaben (müssen vergeben sein)
- Scrum-Master:
- Sorgt dafür, dass der Scrum-Prozess am Laufen bleibt
- Product Owner (etwas anders als in Scrum: Das Team zusammen mit den Tutor)
- Jira und Projektplanung:
- Projektplan erstellen, aktualisieren
- Meilensteine überwachen
- Projekttagebuch führen
- Stundenzettelpflege überwachen
- Konfigurationsmanagement
- Erstellen eines KM-Handbuchs, KM-Knigge
- Überwachung des Bitbucket-Workflows (Branches und Pull-Requests)
- Testbeauftragter:
- Erstellung Testplanung, Musterdokumente, Vorlagen, Kontrolle der Tests, JUnit, Mockito
- Nicht dafür da, die Tests zu schreiben!
- Dokumentations- und Backupbeauftragter, Confluence, LaTeX-Beauftragter
- Sorgt dafür, dass die passenden Dokument erstellt, mitgepflegt und gesichert werden (kein Doku Sklave!)
- Erstellung/Anpassung von Vorlagen, Hilfe
- Musterdokumente, Standards, Ablagestrategie, Qualitätssicherung, Bereitstellungsstrategie
- Codequalitätsbeauftragter
- Überwachung von Codierungsstandards und „Code-Smells“
- Review- und Cruciblebeauftragter
Patternbeauftragter (ggf. auch zwei)
Wichtige Pattern (wie MVP, Observer, Command-Pattern)
Einzelaufgaben (je nach Bedarf)
- Programmierparadigmen
- z.B. Dependency Injection mit Guice
- Netzwerkkommunikation
- JavaFX und ControlsFX
- Google Guava
- DB-Zugriff:
- Installation/Überwachung der DB
- JDBC/Hibernate?
- Entwicklungsumgebung, Ant, Maven, Gradle
- Einrichtung, Beratung und Zusammenspiel
- Spezialisten für verschiedene Teilthemen:
- Regeln
- Weitere Frameworks
- …