Det låter som att det är ett rätt litet projekt med bara ett par medverkande, men du frågade efter hur större projekt löser det, så jag utgår ifrån det nedan. Vissa delar kan ses som irrelevanta, eller åtminstone mindre viktiga, i ett litet hobbyprojekt.
Detta är som alla förstår ett extremt vanligt problem som uppkommit otaliga gånger i historien: hur samarbetar man med koden? Lösningen som programmerare tagit fram heter versionshantering, som nämnts ovan.
Distribuerade versionshanteringssystem så som Git/Mercurial är rätt vedertagna för utveckling idag, och jag vet egentligen inget projekt som håller kvar vid centraliserade system som CVS/SVN/etc. på tekniska meriter, utan snarare av vana eller specifik kompetens. Även om man bara jobbar lokalt så har distribuerade system fördelar. Är man fri att välja så bör/ska man välja ett modernt distribuerat versionshanteringssystem. Google använder Perforce som är ett betalverktyg. Facebook använde SVN, men har gått över till Git. Det finns andra varianter som Darcs och Bazaar, men, tja. Jag ser ingen direkt anledning att använda dessa före Git/Mercurial om man inte har något speciellt krav. Git eller Mercurial är ganska jämnt skägg i mina ögon då de erbjuder väldigt likartad funktionalitet och båda har stora användarbaser. Går man in på finlir så är Git nog det kraftfullare alternativet, samtidigt som jag kan tycka att Mercurials gränssnitt är mer intuitivt i början.
Om man inte använder versionshantering överhuvudtaget så har man ett fantastiskt verktyg kvar att upptäcka . Det handlar inte bara om att registrera projektets historik (även om det i sig vore mer än skäl nog), utan att man "tvingas" applicera struktur på utvecklingen, och se kod för vad det egentligen är: samverkande instruktioner snarare än flytande skönlitteratur. Detta är som du märkt extra viktigt vid samarbete, men det hjälper starkt även vid personliga projekt. Att ha signerad commithistorik med korta förklaringar över varje kodsnutt gör också att frågor som "vad gör denna kodbit och vem #¤% skrev den?" får sitt svar på sekunder.
Gällande kodningen så är det av hyfsad vikt att ha någon sorts schema för att undvika dubbelarbete. Är det ett gigantiskt projekt så krävs betydande planeringstid i förväg för att få någon fart på arbetet. Är det ett mindre projekt så kanske det räcker att kontinuerligt kommunicera vad man gör, t ex genom att samla utvecklarna i en IRC-kanal. En enkel detalj som kan hjälpa mycket är att köra en IRC-bot som vidarebefordrar centrala commitmeddelanden till kanalen.
Utöver detta väljer många projekt att ha en maillista eller liknande, men det kan substitueras av en gemensam bugtracker av något slag. Maillistan har fördelar i teknisk enkelhet, men en tracker har många förenklande funktioner. Dessutom så om man startar projektet på Github eller liknande större sida så får man detta integrerat i versionshanteringssystemet på köpet.
Gällande din fråga om att arbeta multipla personer med samma programkod i realtid så är det inget som direkt används då det dras med en himla massa problem. Vad man i stället gör är att man jobbar på varsin kopia. Person 1 programmerar sin del och registrerar ändringarna på ett bestämt centralt ställe. När person 2 som jobbat parallellt vill registrera sina ändringar, så om det inte är någon konflikt med vad person 1 har gjort så fixar versionshanteringssystemet sammanslagningen (moderna system är klart smartare gällande detta än äldre). Om det råkar vara en konflikt så startar systemet ett diffverktyg som visar konflikterna och ber användaren att lösa dessa innan registrering. Genom att registrera och även kontrollera vad andra registrerat ofta så blir det en väldigt sömlös upplevelse. Om man har kommunikation inom projektet så bör det sällan uppstå konflikter.
Du nämner att du sitter i Dreamweaver och de andra i Notepad++ — det känns som ett recept på problem. Grafiska verktyg har en förmåga att ändra mycket i koden (även om just Dreamweaver till en början blev stort mycket pga att det var bättre i detta hänseende än konkurrenterna), vilket kan göra det svårt att passa in i ett vettigt versionshanteringsflöde. Jag har inte använt Dreamweaver på många år dock, och ser att de lagt till stöd för åtminstone SVN direkt i programmet, så visst arbete har de gjort för att rätta till dess brister.
Om det är så att någon av er jobbar med layout, någon med funktioner och någon med t ex databaserna så är det läge att separera dessa delar kodmässigt och titta på buzzword:et MVC. Med genomtänkt design så kan ni då jobba mer eller mindre helt självständigt på var sin del, utan att designern behöver kunna Python eller vad man nu kodar funktionaliteten i.
För att återgå till ett "mindre" projekt så skulle jag trots allt säga att versionshantering är så pass nyttigt att det kan ses som ett krav. En IRC-kanal för utveckling är väldigt smidigt, men ni kanske har något annat sätt att kommunicera. Notera dock att om ni är fler än två så kan det vara väldigt bra att ha just en allmän kanal så som IRC för att inte kommunikationen ska fastna mellan fyra ögon.