====== Werkzeuge für Kollaboration ====== Ein guter Austausch und Überblick über das noch zu Erledigende erhört die Erfolgschancen eures Teams dramatisch. Im Nachfolgenden wollen wir ein paar simple Werkzeuge vorstellen, die euch dabei helfen können. ===== Gemeinsamer Speicherort für Code und Daten ===== Einigt euch auf //einen// gemeinsamen Speicherort, an dem ihr... * Code * Messdaten * Bilder ablegt. **Ladet spätestens am Ende jeder Session euren aktuellen Code auf diesen Ort hoch!** Besonders geeignet ist hier z.B. die TUB-Cloud: [[https://tubcloud.tu-berlin.de]]. Eine Anleitung zum einrichten findet ihr hier im Wiki: [[techniken:gitlab-dienst|Versionsverwaltung mit Git+GitLab]]. ===== Aufteilung in Module und Schnittstellen ===== Legt als Erstes eine Wiki-Seite für Aufteilung und Schnittstellen an. ==== Einigt euch dann auf eine Aufteilung des Systems in Module und sprecht darüber, wie diese miteinander interagieren. ==== * Erarbeitet gemeinsam eine Zeichung, in der die Aufteilung des Gesamtprojekts in Hard/Software/Berechungs-Module dargestellt ist. * Verbindet Module, die miteinander interagieren (z.B. Navigation und Motorsteuerung) mit Pfeilen. * Schreibt an die Pfeile, welche Informationen vom anderen Modul angefordert bzw. welche Aktionen veranlasst werden. * Scannt die Zeichnung ein und packt sie auf die Wiki-Seite. ==== Legt fest, wer welches Modul baut ==== * Legt Überschriften für jedes Teilteam an. * Listet alle Module, die dieses Teilteam bearbeitet unter dieser Überschrift auf. ==== Spezifiziert die Schnittstellen zwischen den Modulen im Detail ==== Teilteams, deren Module Schnittstellen zueinander besitzen... * Setzen sich zusammen und diskutieren, was ihr Modul jeweils von der anderen Seite erwartet * Legen dafür einen Abschnitt auf der Wiki-Seite an * Beschreiben darin **im Detail**, welche Daten übergeben bzw. welche Funktionen bereitgestellt werden. (Also z.B. Aufrufparameter einer Funktion inkl. verwendeten Maßeinheiten und erwartetem Ergebnis) * Redet noch einmal miteinander, wenn sich Änderungen ergeben oder die Implementation unmittelbar bevorsteht. * Haltet Änderungen schriftlich im Wiki fest und informieren die andere Seite darüber. **TODO: Beispiel** ===== ToDo-Liste ===== Führt eine für alle Teammitglieder einsehbare ToDo-Liste, auf der alle gerade anstehenden Arbeiten aufgelistet sind. Eure Wiki-Seite ist ein guter Ort dafür. In jedem Eintrag sollte stehen: * Was ist zu tun? * Wer hat die Aufgabe übernommen? (das könnt ihr auch tun, indem ihr getrennte Listen für die Teilteams führt) * Wann rechnet ihr mit einer Fertigstellung? ===== Wöchentliches Meeting ===== Besprecht einmal Wöchentlich (z.B. zu Beginn des Labortermins) für ca. 5-10min folgende Themen: * Was hatten wir uns letzte Woche alles vorgenommen und wo stehen wir damit? (ToDo-Liste) * Benötigt eines der Teilteams in absehbarer Zeit die Funktionen eines anderen Moduls, um weiterzumachen? (Dann solltet ihr zusammen noch einmal über die Schnittstelle sprechen) * Was nehmen wir uns bis nächste Woche vor? (neuer Eintrag in ToDo-Liste)