Thread Programmieren und Teamwork (5 answers)
Opened by leo11 at 2011-01-29 18:12

topeg
 2011-01-30 09:39
#145178 #145178
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Ich habe die Erfahrung gemacht, dass es nicht so gut funktioniert, wenn mehr als zwei Leute zur selben Zeit an dem selben Codeabschnitt arbeiten. Da kommt es zu häufig zu doppelter Arbeit, weil die Kommunikation nicht gut genug ist. (kann durchaus auch an mir liegen :-/ )

Viele Projekte lassen sich in Module zerlegen, die dann Eigenverantwortlich implementiert werden können. Dazu bedarf es einen oder zwei die diese Module zusammen führen (bei großen Projekten lassen sich Module nochmal Bündeln (UI, Backend, etc.)) Diese haben auch das letzte Wort, wenn es Uneinigkeiten gibt.
Da ist eine gute Definition der Schnittstellen genauso wichtig, wie eine klare Aufgabenverteilung. Alle müssen genau wissen wer für welches Modul zuständig ist und wer welche Module nutzt. Änderungen an Modulen/Schnittstellen müssen mit allen Beteiligten diskutiert werden. Dazu bieten sich neben einer Mailingliste auch Foren und Blogs an, da hier eine Entwicklung leichter verfolgbar und übersichtlicher ist. Ich meine Kommentare in den CV-Systemen eignen sich für einen groben Überblick, sind aber mehr oder weniger ungeeignet die Gedanken des Entwicklers klar zu machen. Es fehlt da an der Diskussion.

Natürlich sind auch Tests wichtig. Jedes Modul braucht Beispiele der Nutzung, welche auch alle Funktionen testen. Zu Fehlern sollte es ein Test geben der diesen prüft. Tests können die Größe eines Moduls um den Faktor 10-100 übersteigen (besonders wenn eine Plattformunabhängigkeit verlangt wird, oder das Modul sehr komplex ist)

Es muss in regelmäßigen Abständen Treffen geben, in denen direkt zu Problemen und Fortschritten vorgetragen und diskutiert werden. Das kann auch über Chat oder Telefonkonferenz erfolgen. (Wobei direkte Treffen am dynamischsten sind und "erfolgreichsten" sind, wie ich finde.)

Wirklich wesentlich für den guten Ablauf von Projekten sind die Verwalter. Sie müssen sich nicht nur mit der Programmierung auskennen, sondern auch mit Menschen (Programmieren) umgehen können. Schnelles Entscheiden und Umplanen wird ebenso verlangt, wie auch die Fähigkeit eigene Fehler zuzugeben.

View full thread Programmieren und Teamwork