Gruppenprojekte wie am besten verwalten?

S

Sicaine

Hi,

Wie verwalte ich ein Projekt übers I-net wenn ich mit mehreren an einem Teil arbeiten will? Also richtig so, dass ich mich wo einlinke wenn ich progge udn sehe wenn jemand anders zb. grad an was arbeitet etc was vieleicht auch dezentral funktioniert. Was kennt ihr was gibts?

Ach ja die sprache wäre hier einmal php und einmal cpp
 
Hi Sicaine,

Versionskontrollsysteme wären da ein ganz guter Ansatz, wobei da jedoch auch die einzelnen Entwickler mitspielen müssen, um Änderungen an einer Datei wirklich zu dokumentieren. Praktischerweise funktionieren die gängigen Systeme wie CVS (Open Source) und teilweise auch Microsofts VSS unabhängig von der verwendeten Programmiersprache, eignen sich nter Umständen sogar für andere Dinge als Programmierung. Sollten zwei Leute gleichzeitig die gleiche Datei bearbeiten und daher zwei in verschiedener Weise bearbeitete Dateien entstehen, müssen die Dateien aber vom "Projektleiter" abgeglichen und zusammengeführt werden, damit keine Probleme entstehen.
Ein anderer Ansatz ist eine Aufteilung der Aufgaben für die einzelnen Leute. Wenn jeder in jeder Source-Datei herumfummelt, ist das Chaos natürlich vorprogrammiert und auch das beste VCS bringt nichts mehr.
Falls das ganze über's Internet laufen sollte, halte ich es ausserdem noch für sinnvoll, dass in regelmäßigen zeitlichen Abständen gewisse Absprachen unter den Beteiligten gehalten werden. Nützlich hierbei sind Chatplattformen wie IRC, Messenger wie ICQ/AIM/MSN/usw., VoIP-Clients wie Skype oder unter Umständen auch primitive Technologien wie Telefonhörer oder ein persönliches Treffen. Wenn einer der Programmierer eine Datei bearbeiten will, die in den Kontext eines anderen Entwicklers fällt und daher vom Projektleiter für die anderen zur Bearbeitung gesperrt wurde, sollte jeder Entwickler im Sinne des Projektfortschrittes so viel Disziplin besitzen, vor den Änderungen zunächst den zuständigen Bearbeiter um Erlaubnis zu bitten.

Natürlich gibt es sicher noch andere Punkte, die für die verteilte Teamarbeit über das Internet zu beachten wären, aber das sind erstmal die, die mir spontan dazu einfallen. Grundsätzlich denke ich, es ist nicht unbedingt eine technologische Frage der Verwaltung, sondern ein Problem, um das sich einer aus dem Team kümmern muss, um die anderen Chaoten unter Kontrolle zu halten. ;)

Grüße, Dario
 
Hi Dario,

hm ok ts icq irc sind ja kein Problem. Nur wie läuft das mit dem CVS genau ab? Gibts auch irgendwie infos über die grundsätzliche Arbeitsaufteilung wie man so was am besten macht?
 
CVS funktioniert folgendermaßen:
Bevor jemand anfängt, Änderungen an einzelnen Dateien vorzunehmen, lädt er sich den jeweils aktuellen Stand des Projektes herunter. Nachdem man die Änderungen vorgenommen hat, wird alles wieder hochgeladen. Dabei wird jede Datei, in der sich etwas geändert hat, zusätzlich in einer weiteren Version gespeichert.
Das führt letztendlich dazu, dass die Änderungen von einem anderen Entwickler nicht mehr versehentlich überschrieben werden können. Üblicherweise kann man immer den neuesten Stand (sprich die aktuellste Version) der einzelnen Dateien benutzen, aber in manchen Fällen sind die Änderungen nicht eindeutig, weil zwei unterschiedliche aktuellste Versionen bestehen. In dem Fall müssen die beiden unterschiedlichen Dateien aufeinander angeglichen werden, bevor weitere Änderungen dazukommen.

Ein Beispiel:
Entwickler A erstellt eine neue Datei namens "index.php" und schreibt irgendwelchen Code dort hinein. Entwickler B erkennt diese Datei als für ihn relevant und fängt an, Code darin zu ändern, um den Pageflow zu optimieren. Ein paar Minuten später nimmt Entwickler A andere Änderungen irgendwo in der gleichen Datei vor. Kurz vor Feierabend laden die beiden Entwickler ihren Stand auf den Server und gehen nach Hause.
Grundsätzlich stellt sich dabei das Problem, dass am nächsten Arbeitstag die Änderungen von einem der beiden Entwickler verloren gegangen sind, was ja auch logisch ist. CVS behält aber beide Dateiinhalte in einer Art Archiv und ermöglicht so, dass die Dateien so angepasst werden, dass auch beide Änderungen gültig bleiben.

Es geht also in erster Linie darum, dass keine Änderungen verloren gehen, wenn mehrere Leute gleichzeitig an einer Datei arbeiten. Allerdings erfordert das eine erhebliche Disziplin bei den Entwicklern, denn wenn man es nicht von Anfang an konsequent durchzieht, wird hier geschlampt und da ein Update vergessen, usw.
 
Zuletzt bearbeitet:
Zurück