[ALG] Met meerdere mensen aan een (PHP) project werken *

Pagina: 1
Acties:
  • 155 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Sietse
  • Registratie: Januari 2004
  • Laatst online: 19-09 17:01
Goedenavond,

Samen met een paar vrienden ben ik van plan aan een PHP project te gaan werken dat van vrij grote omvang is. Nu loop ik echter tegen een organisatorisch probleem aan.. hoe orden je de broncode, en hoe zorg je dat iedereen de juiste bestanden bewerkt?

Voordat ik deze topic opende heb ik een kleine zoektocht ondernomen, en heb een aantal onderwerpen gevonden over projectmanagement en CVS. Projectmanagement zoals taken formuleren en deadlines stellen is niet waar ik naar op zoek ben, dat kunnen we wel regelen. Verder is CVS (volgens mij) ook niet wat ik zoek.

Wat ik me dus afvraag, hoe wordt een project waar meerdere mensen aan werken meestal georganiseerd?

Alvast bedankt,
Sietse

Acties:
  • 0 Henk 'm!

  • brokenp
  • Registratie: December 2001
  • Nu online
CVS is een versie beheer systeem, dit stelt je in staat om verschillende code revisies te beheren, je kan updates van mensen testen en terugkijken in welke versie een bug geintroduceerd is. Dit moet je zeker gaan gebruiken!!

De structuur van het project moet je zelf bepalen, je zal moeten kiezen om te gaan voor een centrale coordinatie of alles in overleg beslissen. Het is in ieder geval erg belangrijk om te zorgen voor een goed ontwerp voordat je begint.

Vaak gebruiken de grotere projecten een mailinglist waarin ze allerlei beslissingen over nemen.
Kijk anders eens op bijv sourceforge.net hoe het daar gedaan wordt.

Acties:
  • 0 Henk 'm!

  • Johannes
  • Registratie: Juni 2000
  • Laatst online: 09-07 21:03
Ten eerste: gebruik Subversion (SVN), de vervanger van CVS. Version control is onmisbaar voor elk serieus (en niet-serieus) project. Als je geen version control gebruikt zal je project mislukken.

Dat is simpel. Communicatie is dat niet. Het is niet iets dat je uit een bericht op een forum kan leren. Ik durf zelf niet eens te zeggen veel van communicatie te weten, maar hier zijn een tweetal vragen die je jezelf volgens mij zou moeten stellen:

Hoe communiceer je binnen het team?

Door Subversion te gebruiken heb je in ieder geval één probleem opgelost: iedereen heeft dezelfde code. Er valt echter nog veel meer te communiceren: wie is wat aan het doen, wat willen we doen en vooral: waarom willen we iets doen?

In het ideale geval is er regelmatig face-to-face contact tussen alle teamleden. Voor iedereen aan het werk gaat kun je bijvoorbeeld een Stand Up Meeting houden zodat men van elkaar weet waar men mee bezig is. Hoe minder face-to-face contact mogelijk is, hoe meer er opgeschreven zal moeten worden. Je zal al snel prive-emails krijgen voor die ene ontwikkelaar die er een weekje niet is. Na een tijdje krijgen die mailtjes een hele rij CC's. Op dat punt wordt het handig om bijvoorbeeld een mailinglist in te richten.

Hoe communiceer je naar buiten?

Oftewel, waar komt de feedback van je gebruikers vandaan? Als het een product is dat door iedereen gratis gedownload (bijv. open source) kan worden, dan is het prettig als je je project zo inricht dat anderen kunnen participeren. Dan wil je bijvoorbeeld publieke mailinglijsten waarop de meeste discussies over het project plaatsvinden en een publieke SVN server.

Is het daarentegen een product waarbij je rechtstreeks contact hebt met elke klant dan is dit minder belangrijk. Duidelijkheid naar buiten is nog steeds belangrijk, maar de meeste klanten willen weinig van interne discussies weten.

Uit volle borst op weg naar nergens / Zonder reden zonder doel
Met m'n zeden en m'n zonden / En mijn angstig voorgevoel
Laat mij mijn kont tegen de krib / Laat mij dit goddeloze lied
Hef jij je handen maar ten hemel / Maar red mij niet


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 15:14

Creepy

Tactical Espionage Splatterer

Johannes schreef op 09 augustus 2004 @ 06:21:
Ten eerste: gebruik Subversion (SVN), de vervanger van CVS. Version control is onmisbaar voor elk serieus (en niet-serieus) project. Als je geen version control gebruikt zal je project mislukken.
Sure, dus zonder een versie beheer systeem is het niet mogelijk om een project goed af te ronden? Nee, zeker niet. Dat een versiebeheer systeem het een stuk makkelijker maakt ben ik wel met je eens.
Dat is simpel. Communicatie is dat niet. Het is niet iets dat je uit een bericht op een forum kan leren. Ik durf zelf niet eens te zeggen veel van communicatie te weten, maar hier zijn een tweetal vragen die je jezelf volgens mij zou moeten stellen:

Hoe communiceer je binnen het team?

Door Subversion te gebruiken heb je in ieder geval één probleem opgelost: iedereen heeft dezelfde code.
Nope. Als je iets vergeet te updaten gaat het al mis. Als je stukken test code hebt die je niet in hebt gecheckt maar die bijv. om een bepaalde bug heenwerken, gaat het ook mis, etc. etc.

Een versiebeheer systeem is niet een magisch iets. Je moet er zelf ook goed mee werken, anders helpt het versiebeheersysteem je ook maar nauwelijks.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • Johannes
  • Registratie: Juni 2000
  • Laatst online: 09-07 21:03
Creepy schreef op 09 augustus 2004 @ 08:32:
[...]

Sure, dus zonder een versie beheer systeem is het niet mogelijk om een project goed af te ronden? Nee, zeker niet. Dat een versiebeheer systeem het een stuk makkelijker maakt ben ik wel met je eens.
Natuurlijk is het wel mogelijk om een project succesvol af te ronden zonder version control. Gezien het project (meerdere onervaren ontwikkelaars qua organizatie, redelijke omvang) ga ik er echter wel van uit dat dit project zal falen zonder version control.
Een versiebeheer systeem is niet een magisch iets. Je moet er zelf ook goed mee werken, anders helpt het versiebeheersysteem je ook maar nauwelijks.
Dat geldt voor alles. :)

Uit volle borst op weg naar nergens / Zonder reden zonder doel
Met m'n zeden en m'n zonden / En mijn angstig voorgevoel
Laat mij mijn kont tegen de krib / Laat mij dit goddeloze lied
Hef jij je handen maar ten hemel / Maar red mij niet


Acties:
  • 0 Henk 'm!

Verwijderd

Johannes schreef op 09 augustus 2004 @ 09:07:
Natuurlijk is het wel mogelijk om een project succesvol af te ronden zonder version control. Gezien het project (meerdere onervaren ontwikkelaars qua organizatie, redelijke omvang) ga ik er echter wel van uit dat dit project zal falen zonder version control.
Hoe kan je dat nu op voorhand zeggen zonder een TO of een FO of wat dan ook te hebben gezien :) Version control is voor mij persoonlijk onmisbaar, en ik denk persoonlijk ook in de situatie van de topicstarter omdat onderdeel van een CVS het check in, check out proces is waarmee je voorkomt dat meerdere mensen aan dezelfde bestanden werken (nu werk ik met sourcesafe, maar er staat me iets van bij dat minder bejaarde systemen ook op code niveau check in en check out hebben zodat je wel aan hetzelfde bestand kunt werken maar niet aan dezelfde code) en zo voorkom je dus problemen en frustraties mbt het per ongeluk vernielen van andermans code.

Maar op voorhand zeggen dat bij gebrek aan CVS een project zal falen is een beetje té. Het success hangt niet af van CVS, maar veel meer af van andere factoren. Er zijn denk ik meer succesvolle projecten zonder de ondersteuning van CVS, dan met CVS geschreven.

Acties:
  • 0 Henk 'm!

  • glashio
  • Registratie: Oktober 2001
  • Laatst online: 18-09 10:13

glashio

C64 > AMIGA > PC

TortoiseSVN voldoet aan mijn wensen :) ( Inhoudsopgave )
Zeker als je wil Developen'en op Linux (LAMP) en Edit'en op Win32.

> Google Certified Searcher
> Make users so committed to Google that it would be painful to leave
> C64 Gospel
> [SjoQ] = SjoQing

Pagina: 1