2009-09-24 12 views
7

Przez jakiś czas pracowałem jako niezależny programista php i zajmowałem się wszystkimi aspektami programowania. Chociaż pracowałem z graficznym desingererem, całe kodowanie zostało zrobione przeze mnie.jak obsługiwać projekt php z zespołem?

W dzisiejszych czasach dostaję pracę w zespole przy programowaniu niektórych projektów.

Tak więc, obawiam się tego nowego rozwoju. Jak zarządzać zespołem i dzielić pracę, śledzić zmiany.

Będę szukać kompletnych rozwiązań.

+0

Będziesz liderem zespołu lub członkiem zespołu? – Michelle

+0

lider zespołu .. – assaqqaf

Odpowiedz

9

To jest dobre pytanie; Jestem pewien, że wielu z nich staje w obliczu przejścia z freelancera z powrotem w środowisko zespołowe.

Po pierwsze, nie bój się! Twoi rówieśnicy sprawią, że będziesz lepszym programistą, narażając się na wyjątkowe sposoby robienia rzeczy. Będziesz mieć teraz wielkie zasoby, na które można się oprzeć, kiedy po prostu nie możesz znaleźć tej literówki, która przez wiele godzin Cię zaintrygowała.

Praca nad tym samym projektem nie musi być trudna. Podziel go na moduły. Zacznij od skonfigurowania konturu, zdefiniuj wejścia/wyjścia między różnymi funkcjami/metodami/segmentami kodu, a następnie podaj każdej osobie "czarną skrzynkę" do wypełnienia kodem.

W miarę jak uczymy się słabych stron, można powierzać zadania ludziom w oparciu o ich mocne strony, aby spełnić ważne kamienie milowe lub w oparciu o ich słabości, aby pomóc im w rozwijaniu umiejętności.

Zastosuj kontrolę wersji tak szybko, jak to możliwe, i zainwestuj tyle, ile potrzeba, aby nauczyć się jej dobrze używać. Upewnij się, że rozumiesz, jak tworzyć, używać i łączyć gałęzie. Każdy system kontroli wersji będzie działał ... Polecam albo SVN (Subversion) albo CVS. Wolę Subversion.

Opracuj system śledzenia błędów i do śledzenia list rzeczy do zrobienia dla nowych funkcji. Nie musi być ochotę na pracę. Jeśli jesteś nową, małą operacją, możesz to zrobić w coś tak prostego, jak udostępniony arkusz kalkulacyjny google doc. Jeśli masz gotówkę do wydania, Atlassian JIRA i FogBugz to świetne systemy śledzenia problemów.

Co najważniejsze, słuchaj i szanuj to, co mają do powiedzenia Twoi nowi rówieśnicy, nawet jeśli są martwi. Nigdy nie zapominaj, że są sprzymierzeńcami, a nie przeciwnikami.

Miłej zabawy! I powodzenia.

+5

'git' to wspaniały system wersjonowania, który warto zauważyć. – brianreavis

0

Polecam lekturę książek na temat skutecznego zarządzania zespołem. Oto dobry punkt wyjścia:

Successful Team Management by Nicky Hayes

Uwaga: Nigdy nie czytałem tej książki. Nie wiem nawet, czy to dobrze. Inne osoby w tej samej kategorii mogą ci pomóc.

0

Zdecydowanie musisz zacząć używać systemu kontroli wersji, jeśli jeszcze go nie masz - dobrym rozwiązaniem jest git (wyjątkowo szybki i w pełni funkcjonalny, http://git-scm.com/) lub bzr (znacznie wolniejszy, ale łatwiejszy w użyciu, http://bazaar-vcs.org/)

2

Joel Test służy jako godnej zarys zarządzania zespołem najlepszych praktyk

  • kontrola Zastosowanie źródło
  • Za pomocą systemu śledzenia zadanie
  • Utrzymanie harmonogram
  • Dokument projektowania
  • test
2

Ważną częścią zespołowego programowania PHP jest podział funkcjonalności na wiele plików. Większość programistów PHP wpada w dwa obozy; Deweloperzy, którzy potrzebowali nauczyć się języka po stronie serwera, i inżynierów oprogramowania, którzy przechodzą do tworzenia stron internetowych. Te pierwsze mają tendencję do pisania całego kodu w potwornych skręconych plikach, a te ostatnie używają PHP do pisania czysto wyglądającego kodu, ale często nie potrafią opanować układu bez tabel.

Aby dobrze współpracować z PHP, ważne jest, aby zrobić to dobrze. Rozwój zespołu wymaga oddzielenia różnych części funkcjonalności i interfejsu w różne pliki, poprzez uwzględnienie lub użycie frameworka. Zauważ jednak, że zarówno strona programowa, jak i strona internetowa mają to samo rozwiązanie; oddzielenie modelu od kontrolera od widoku, separacja treści od układu.

Jeszcze jedno: Typowa struktura katalogów kontrolnych wersji trunk/branch nie działa tak dobrze z działaniem sieci. Zazwyczaj mam strukturę devel i strukturę katalogów na żywo. Twoi programiści pracują w gałęzi devel, a kiedy chcesz zastosować zmiany w witrynie na żywo, musisz po prostu powiedzieć programowi kontroli wersji, aby wprowadził tam te same zmiany (w tym przypadku Subversion jest bardzo dobra).

Powodzenia.

0

Będę szukać kompletnych rozwiązań.

dobrze, tylkokompletny rozwiązaniem jest wynajęcie profesjonalnego menedżera tworzenia oprogramowania.

Jeśli nadal masz nadzieję sobie poradzić, będziesz musiał zapomnieć o pisaniu kodu samemu. Konieczne będzie skoncentrowanie się na zarządzaniu zadaniami, kodem źródłowym i jakości oprogramowania (testowanie). Oczywiście są narzędzia, ale narzędzia nie są kompletnymi rozwiązaniami (bez względu na to, jak dobre są te narzędzia). Oto metafora: jeśli masz dobry młotek, niekoniecznie oznacza to, że wszystkie paznokcie będą gładkie i nigdy się nie ugną.

W ten sposób zarządzanie zespołem programistycznym wymaga wiedzy i doświadczenia, a nie tylko narzędzi. To jest bardzo różne od pisania aplikacji na własną rękę.

I bądź odważny!

0

Jedną z interesujących pomysłów, o których słyszałem w tym temacie, jest zastosowanie Test Driven Development (TDD), w którym piszesz testy za pomocą PHPUnit lub SimpleTest, a następnie przekazujesz je zespołowi programistów. Po przejściu testów zadanie uznaje się za wykonane.

1

Zacząłem używać Trac, gdy zacząłem pracować z innym programistą w aplikacji. To świetny sposób na przypisywanie zadań, śledzenie błędów i funkcji, wersji itp. Używam wraz z Subversion.Jak wspomina wiele innych osób, potrzebujesz sposobu na przypisanie zadań, śledzenie błędów i oczywiście kontrolę wersji, co jest bardzo ważne.

Komunikacja jest najważniejsza! E-mail, nadchodzący Google Wave, darmowy serwer IRC, coś, co jest łatwo dostępne, a użytkownicy będą z niego korzystać. Wszyscy muszą być na tej samej stronie, nic gorszego niż praca nad funkcją lub blokiem kodu, aby dowiedzieć się, że ktoś inny zajmuje się tym samym problemem.

Powodzenia! To zupełnie inna atmosfera, gdy prowadzisz i zarządzasz. Bądź otwarty na sugestie zespołu.

Powiązane problemy