@Andwww
Widzisz to jak podzielisz prace zależy od wielkości projektu i tego jaką metodykę pracy przyjmiesz. Jeżeli nie masz z góry ustalonej żadnej metodyki najlepiej będzie jak przyjmiesz że jesteś szefem projektu i przydzielasz zadania. Wtedy (zakładając że projekt szacujesz na 3-4 msc w PHP) rozłożył bym sobie tak prace.
1. Napisanie dokumentacji projektu dzięki której osoba która ją przeczyta będzie wstanie z tobą podyskutować nad projektem. Jednak uważaj taka dokumentacja nie powinna być dłuższa niż 2-3 wieczory przy kubku kawy. Tutaj najlepszym konsultantem jest ktoś sceptyczny do twojego projektu (w moim przypadku moja kobieta która jest największym pesymistą na świecie

). Jeżeli dokumentacja przekona tą osobę to ruszasz dalej.
2. Ustalisz wymagane technologie w których zostanie napisana aplikacja (tutaj z pomocą według mnie mógłby przyjść toster/nospor ponieważ nie wydają się fanatykami swoich technologi). Ważna uwaga MUSISZ mieć tutaj konsultanta z IT ponieważ sam to wybierzesz duet MySQL + PHP w ciemno ;p Aha nie daj twojemu zespołowi później zmienić technologii niech sobie biblioteki tylko wybiorą sami.
- Baza danych (MySQL, PosgresSQL, MirandaDB, NoSQL)
- Aplikacja (backend) (PHP, Ruby, Java, Python)
- Interfejs (CSS, HTML, Applet Java*)
3. Rekrutujesz. Ważne byś miał konsultanta do rekrutacji (TYLKO 1 osoby) takiego trzonu zespołu bardzo ważne jest żebyś zatrudnił osobę która jest baaardzo dobra. Jej technologia nie ma znaczenia (ważne żeby się wspasował w jedną z ról przy projekcie). Przyjmie on obowiązki konsultanta na okres rekrutacji ponieważ dobrzy ludzie zatrudniają dobrych ludzi. Innymi słowy ten 1 człowiek będzie trzonem twojego zespołu IT (wibowit/somekid byli by tu świetni boshe jak oni cisną na 4p wszystkich ludzi którzy napiszą głupotę :]).
4. Zanim skończysz rekrutacje powinieneś mieć już na stole klepnięty wygląd aplikacji z dokumentacją. Da to twojemu zespołowi silny start ponieważ będą wiedzieli jak to zrobić.
5. Zanim zespół zacznie kodzić niech 1-2 Dni projektuje z tobą baze danych w oparciu o widoki. TUTAJ MUSISZ MIEĆ 100% czasu dla nich. To ty wiesz wszystko o projekcie więc tak naprawdę tylko ty możesz im pomóc ją zaprojektować. Później niech spojrzy na to konsultant któremu przekażesz wymagania odnośnie ilości danych i omówisz z nim projekt (polecam ci tego z bloga książki).
6. Zespół ma zielone światło na prace przy projekcie

znów (nospor + Toster niech się nimi opiekują)
Odnośnie zespołu to jeżeli chcesz mieć 2 programistów to tylko backend + frontend odzielnie. Z własnego doświadczenia wiem że jak ktoś siedzi w backendzie to będzie miał braki przy wdrażaniu czegoś zgodnego z W3C. Po za tym JS jest trudnym językiem wbrew temu co wszystkim się wydaje. Jeśli jednak masz kasę na 3 programistów to bez wachania powiększaj tych co siedzą po stronie serwera. Oni będą pracować wolniej od Frontendowca. Nie muszę mówić że możesz go zwolnić wcześniej niż zamkniesz projekt. Ważne żeby wszystko pozapinał na ostatni guzik i miał dogadany sposób komunikacji z nie istniejącymi jeszcze bebechami.
W modelu jaki ci pokazałem to świetnie spisali by się freelancerzy ponieważ oni się nie obrażą jak im zaproponujesz projekt na 3msc i później z doskoku modyfikowanie go tylko. A ty zaoszczędzisz kasę. No i oczywiście konsultantom płacisz tylko za faktyczny czas po ich normalnej pracy co również wpłynie pozytywnie na twój portfel.
Narzędzia (tylko moje propozycje)
- Dokumentacja to tylko prywatna wikipedia. Ma owiele większe możliwośći niż pliki w wordzie,
- Widoki osobiście używam pencil'a,
- Baza danych - Tutaj zależy od bazy,
- Schematy UML. Polecam Dia może i nie jest takim UML'em jaki powinien być ale wystarcza,
- IDE - Pozostaw wolną ręke programistom,
- Repo - Git / Svn (są inne ale nie miałem doczynienia),
- Serwer niech ci któryś z konsultantów go skonfiguruje (najlepiej ten od bazy). Zrobi to szybko miło i przyjemnie.
Za błędy w gramatyce sorka ale piszę z pracy i mam tak średnio czasu, a lubie takie tematy

* - Bad idea no ale opcja jest