Projektarbeit
- Projektmanagement organisieren
- Zusammenarbeit und Verhaltensregeln
- Individuelle Verantwortungsbereiche und Einzelaufgaben
- Gruppenweites Code-Review (Team-Review)
- Siehe auch
Projektmanagement organisieren
- Organisieren Sie Ihr Projekt bzw. Team,
- verteilen Sie in der zweiten Woche die Einzelaufgaben,
- definieren Sie eine Reihenfolge für die Übernahme der Moderation und des Protokolls (z.B. nach Alphabet)
- die Tagesordnung ist vom Moderator mindestens einen Tag vorher zu erstellen (dafür ggf. die Gruppe nach weiteren TOPs fragen)
- definieren Sie Standards für Dokumente (LaTeX, UTF-8, ...)
- Führen Sie ein Projekttagebuch (im Wiki)
- Dokumentieren Sie immer alle Ergebnisse der Gruppe, wie
- Protokolle,
- Ausarbeitungen,
- Präsentationen,
- Software-Dokumente, etc.
- mit einer Zuordnung zu Personen in GitLab. Verwenden Sie dafür die Wiki-Funktion von Gitlab (https://docs.gitlab.com/user/project/wiki/).
- Geben Sie die Einzelaufgaben an
- Stellen Sie ein Gruppenbild (mit Namen) ein! Ideal ist es für mich und die Tutoren, wenn in dem Bild die Namen direkt als Text enthalten sind.
- Überlegen Sie sich für Ihre Aufgaben eine "Definition of Ready" und eine "Definition of Done", d.h. was muss für eine Aufgabe erledigt sein, bevor sie als erledigt angesehen werden kann. (siehe z.B. https://www.scrum-events.de/was-ist-die-definition-of-done-dod.html)
- Erstellen Sie basierend auf den Vorgaben der Veranstaltung eine Produktvision. (vgl. z.B. https://www.wibas.com/scrum/product-vision/de)
Sprints allein gewährleisten noch keine langfristige Orientierung. Definieren Sie deshalb zusätzliche Meilensteine, zu denen konkrete fachliche Ergebnisse erreicht sein sollen. Einige sind vorgegeben (vgl. Meilensteine). Verwenden Sie zur Meilensteindefinition nicht nur die Präsentationstermine!
Zusammenarbeit und Verhaltensregeln
- Allgemeine Regeln innerhalb der Gruppe
- alle
- sind vorbereitet und nehmen aktiv teil
- erledigen ihre Aufgaben vollständig und pünktlich
- übernehmen aktiv Aufgaben
- beachten Gruppenstandards
- sind bereit, ihre Arbeit auf Fehler untersuchen zu lassen
- Grundsätzliche Kritik bitte zunächst unmittelbar an eine Person, dann Gruppe, dann Tutor, dann Dozent
- Es gibt in jeder Gruppe einen Konfliktbeauftragten (siehe Anforderungen Einzelleistungen) geben
- Diskriminierung wird in keinster Form geduldet! (siehe Spielregeln)
- Konsequenzen bei Nichterfüllung von übertragenen Aufgaben festlegen?
- Jeder übernimmt Teile bei
- Dokumentation und
- Implementierung
- keine „Doku-Sklaven“!
- alle
- Kommunikationsregeln innerhalb der Gruppe
- Es sollte stets ein respektvoller Umgangston herrschen.
- Jedes Gruppenmitglied hat das Recht auf freie Meinungsäußerung und wird in Gesprächen,
Diskussionen oder Vorstellungen nicht unterbrochen. - Gespräche und Diskussionen jeglicher Art finden stets auf einer sachlichen Ebene statt. Beleidigungen
jeglicher Form werden nicht toleriert. - Zwischenmenschliche Probleme werden direkt offen und nicht hinter dem Rücken des betreffenden
Gruppenmitgliedes kommuniziert.
- Verhaltensregeln innerhalb der Gruppe
- Alle Gruppenmitglieder werden stets mit Respekt behandelt.
- Kritik wird stets konstruktiv auf einer sachlichen Ebene geäußert.
- Im Sinne der Projektarbeit kann der Fall eintreten, dass persönliche Ansichten zurückgestellt
werden müssen. Es wird somit ein hohes Maß an Kompromissbereitschaft vorausgesetzt. - Meinungen, welche von den eigenen Ansichten abweichen, werden stets toleriert.
- Bei verursachten Fehlern wird stets die volle Verantwortung für das eigene Handeln übernommen.
Keine Tolerierung von Diskriminierung jeglicher Art
Leider sind wir im Rahmen des „Software Projektes“ auf eine Reihe von Vorfällen aufmerksam geworden, bei denen es um sexualisiertes Verhalten oder Herabwürdigung aufgrund des Geschlechtes geht. Diese Vorfälle reichen von vermeintlich harmlosen „dummen Sprüchen“ bis hin zu direktem unerwünschtem körperlichem Kontakt.
Ich möchte noch einmal ausdrücklich darauf hinweisen, dass wir als Department für Informatik und natürlich auch als Universität Oldenburg jede Art von Diskriminierung in keiner Weise tolerieren. Ein solches Vorkommnis kann bis zum Ausschluss von der Veranstaltung, in weitergehenden Fällen sogar bis zur Exmatrikulation führen!
Wir wissen, dass dies in der großen Masse lediglich Einzelfälle sind, und es geht auf keinen Fall darum, das gesamte „Software Projekt“ zu beschuldigen. Wir möchten jedoch jeden Einzelnen und jede Einzelne dafür sensibilisieren, auf solche Situationen zu achten und gegebenenfalls entschärfend einzuwirken.
Die Betroffenen bitte ich darum, das Thema nicht mit sich herumzutragen, sondern die möglichen Kontaktmöglichkeiten zu nutzen. Nur dann, wenn das Thema offensiv angegangen wird, besteht die Chance, dass die Sensibilität für das Thema steigt!
Nachfolgend werden einige Informationen über Diskriminierung & Gewalt, dessen "Alarmglocken", Präventionsmöglichkeiten, Handlungsempfehlungen und die Aufgaben der Erstberatung zur Verfügung gestellt.
Kontaktmöglichkeiten
- Tutor/Tutorin der Gruppe
- Dozent der Veranstaltung
- Fachschaft Informatik: https://fachschaft-informatik.de/
- Dezentrale Gleichstellungbeauftragte der Informatik: https://uol.de/informatik/department/gremien-beauftragte/beauftragte
- Direktor/Direktorin des Departments: https://uol.de/informatik
- Erstanlaufstelle Antidiskriminierung des AStA: Donnerstags: 10:30 - 13:30 Uhr de/eng/farsi im AStA Trakt, Raum M1-157, beratung@asta-uol.de,
- conTakt: https://uol.de/contakt-beratungsstelle
Individuelle Verantwortungsbereiche und Einzelaufgaben
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. Die Rollen sind als Querschnitts- und Serviceaufgaben zu verstehen. Wenn in einem Zeitraum für einen Verantwortungsbereich wenig Bedarf besteht, soll nicht künstlich Arbeit erzeugt werden; die Person unterstützt dann die reguläre Projektarbeit oder andere Verantwortungsbereiche. Entscheidend ist, dass es für das jeweilige Thema eine klar benannte Person gibt, die sich zuständig fühlt, bei Fragen unterstützen kann und darauf achtet, dass die vereinbarten Anforderungen berücksichtigt werden. In den Einschätzungen der Tutoren gibt es dafür auch ein Feld, welche die Felder "erfüllt", "nicht erfüllt" oder "war nicht notwendig" enthält.
Die kurzen Einführungen zu den Verantwortungsbereichen des ersten Blocks sollen im ersten Semester, möglichst innerhalb der ersten sieben Wochen, durchgeführt werden.
Die Einzelaufgaben sollten erst beim zweiten Treffen vergeben werden. Vorher sollte sich jeder darüber informieren, was die Einzelaufgabe beinhaltet.
Kurzvortrag
Jeder muss einen Kurzvortrag halten, i.d.R. bezogen auf die Rolle
- Umfang ca. 10 Minuten
- Bezug auf die Gruppe und das SWP
- Vortrag muss hinterher im Gitlab-Wiki abgelegt werden
Verantwortungsbereiche / Rollen
Falls alle Rollen vergeben sind, können noch folgende ergänzend dazu kommen.
- Spielregeln
- Frontend (z.B. JavaFX oder Web-Frontends)
- Spezielle Rolle für REST, WebSockets und OpenAPI und dafür in der obigen Rolle (OpenAPI, REST und Spring) nur noch Spring
- Programmierkonzepte
- z. B. Dependency Injection mit Spring
- DB-Zugriff:
- Installation/Überwachung der DB
- Spezialisten für verschiedene Teilthemen:
- Netzwerkkommunikation
- Regeln des aktuellen Spiels
- Weitere Frameworks
- GUI
Projekttagebuch
Im Projekttagebuch werden kurz und knapp die Ergebnisse der Sprints festgehalten und der Ablauf der Projekte als Ganzes dokumentiert.
Für jeden Sprint wird hier geschrieben,
- welche Stories umgesetzt wurden.
- wie das Review gelaufen ist.
- wie die Retrospektive gelaufen ist und welche Maßnahmen ergriffen worden sind, um Probleme im nächsten Sprint zu reduzieren.
Außerdem:
- Wann wurden Meilensteine erreicht
- Wann wurden Meilensteine verschoben und (ganz wichtig!) was waren die Gründe dafür
- Wann wurden andere wichtige Zwischenziele erreicht
- Welche besonderen Dinge hat es gegeben, die wesentlichen Einfluss auf das Projekt oder die Gruppe hatten
Wechselnde Aufgaben innerhalb der Gruppe
Diese Aufgaben wechseln wöchentlich:
- Sitzungsleitung und Moderation
- Leitung der Gruppensitzung (Wichtig!!), Support durch Scrum-Master
- Tagesordnung definieren (vorher)!!
- Ein Moderator ist dafür zuständig, dass die Sitzungen geregelt ablaufen, d.h. insbesondere muss ein Moderator darauf achten, dass die Teilnehmer sich an die Regeln (siehe: Spielregeln) halten, jeder Sprechzeit bekommt und eine Kommunikation möglich ist, d.h. im Zweifelsfall auch Diskussionen zu unterbrechen.
Hier gibt es weitere Hinweise zu der Aufgabe eines Moderators: https://www.openpr.de/news/1231293/Was-sind-die-Aufgaben-eines-Moderators.html
- Protokollführung
- Erstellung eines Protokolls der Gruppensitzung
- Hier reicht i.d.R. ein Ergebnisprotokoll
- Protokolle müssen direkt im Wiki abgelegt sein (nicht als PDF, damit sind die einfacher lesbar)
- Zu Beginn jeder Gruppensitzung („Daily Scrum“):
- findet ein kurzes „Briefing“ („Blitzlicht“) statt, in der jede/r berichtet, was sie/er in der letzten Woche für das Projekt getan hat.
- Am Ende jeder Sitzung neue Aufgabenverteilung
- Tickets (wer macht was)
- Leitung/Protokoll (Liste!)
- Tutor ist nur Berater, leitet keine Sitzungen, kann aber um Rat gefragt werden (und greift (zu Beginn mehr und Ende weniger) ein, wenn es zu sehr „aus dem Ruder läuft“, erlaubt aber auch Fehler …)
Gruppenweites Code-Review (Team-Review)
Neben den üblichen Pull-Request-Reviews soll im Projekt mindestens ein gruppenweites Code Reviews durchgeführt werden. Dieses dienen nicht primär der Fehlersuche, sondern dem gemeinsamen Verständnis, der Diskussion von Lösungsansätzen und dem Lernen im Team.