Ralph: MySQL-Datenbank für ein Entwicklungsteam: wie am besten?

Beitrag lesen

Hallo Frank,

wow, danke dir! Sehr interessante Ansätze!

Basierend auf deinen Anmerkungen läuft jetzt Subversion zentral, die DB aber lokal. Ich hab einen Workflow implementiert, mit dem jeder bei Bedarf seine Version der DB auf den aktuellen Stand updaten kann, und diese dann entweder mit seinen eigenen Daten oder mit den zentral von mir angelegten Testdaten befüllen kann. Das Datenmodell liegt zentral in SVN, da hat also jeder dieselbe Version.
Jetzt gucken wir mal, ob das Sinn macht!

Und mit deinen weiteren Punkten werde ich michmal in Ruhe auseinander setzen!

Ralph

Hallo,

ihr habt kein Problem mit der Technik (vollkommen egal, ob da jetzt ein Windows 2000 Netzwerk ist oder irgendwas anderes) sondern mit euch selbst. Organisiert euch besser!

  1. Modularisiert eure Entwicklungsbereiche, jeder sollte so unabhängig wie möglich voneinander arbeiten
  2. Deklariert Interfaces / Schnittstellen, welche stabil bleiben und wo sich jeder dran zu halten hat
  3. checkt nur Code ein, der auch funktioniert (wenn alle auf nur einer DB hocken ist es noch schlimmer als wenn jeder seine eigene DB kaputtschiesst mit neuem Code.
  4. arbeitet mit "Sandboxen", jeder entwickler kann/soll sich seine eigene Umgebung bauen (das ist ein KANN ... kein MUSS)
  5. definiert "Release-Zyklen" zu welchen bestimmte Module/Funktionen in einer gewissen Reife allen anderen zur Verfügung gestellt werden (jeden Freitag, Montag)
  6. zu diesen Release-Zyklen erzeugt ihr auch die Umgebungen (DBs immer wieder neu)
  7. wer Änderungen an der DB macht, hackt nicht nur irgendwelche ALTER Statements zusammen sondern schreibt auch ein Migrationsscript
  8. setzt einem von euch den Hut auf, sich um die DB(s) zu kümmern
  9. macht nicht jeden Tag ein "GetLatest" von eurem Sourcecode
  10. Wer Scheisse baut und irgendwelchen Kot eincheckt und damit anderen die Umgebung zerschiesst, zahlt 5 Euro, Dollar, Franken, Birnen, Bier in die Gemeinschaftskasse

Es müssen nicht alle 10 Punkte umgesetzt werden.

Softwareentwicklung im Team ist mehr eine Frage des Prozesses als eine Frage der Tools.

Ich arbeite gleichzeitig in ca. 4 Projekten mit verschiedenen Leuten zusammen, Koordination ist mein täglich Brot. Und kostet natürlich auch Zeit, ca. 30% bis 50%.

Ein recht interessanter Ansatz ist z.b. YaM

Ciao, Frank