W poście prezentuję pełne środowisko developerskie PHP w którym kiedyś rozwijałem stronę. Co sądzisz o tym schemacie, czy czegoś na nim brakuje? A moze masz własne pomysły jak poszczególne etapy projektu powinny być realizowane?
Na poniższym obrazku przedstawiłem przykładowe środowisko pojedynczego webdevelopera:
Jak widać mamy tutaj podział na kilka obszarów:
- Obszar programowania
- Obszar kontroli wersji
- Obszar testowania
- Obszar produkcyjny
- (Obszar dokumentacji)
Obszar programowania
Dla programisty PHP takim środowiskiem jest Eclipse PDT. Programowanie polega na zmianie plików PHP oraz bazy danych. W tym poście nie będzie jednak temat baz danych poruszany.
Obszar kontroli wersji
Jako kontrola wersji może posłużyć SVN + Tortoise SVN (+ Subversive do Eclipse PDT). Za pomocą wybrania Commita wszystkie zmiany programisty trafiają na zewnętrzny serwer kontroli wersji, gdzie pliki są zabezpieczone. Takim serwerem może być np. strona Unfuddle.com. Jeżeli dołączy więcej programistów można małym kosztem objąć ich wszystkich kontrolą wersji.
Obszar testowania
Po napisaniu nowej wersji programu czas wrzucić go na stronę. W tym celu dobrze jest mieć specjalny podkatalog na wersję beta np. mojastrona.com/beta. Warto by było też zadbać o to, żeby proces wysyłania nowej wersji na serwer odbywał się za jednym naciśnięciem przycisku, aby nie zniechęcało to przed wykonywaniem wystarczająco często tego procesu.
Oprócz tego potrzebne jest narzędzie do komunikacji z testerami strony (wynajętymi albo użytkownikami). Do tego może posłużyć uservoice.com. Można tam dodawać sugestie i głosować na najlepsze.
Kolejne przydatne narzędzie to takie, które by organizowało nam listę zadań, które uznaliśmy za ważne do wykonania (nasz wewnętrzny system). Do tego może posłużyć RememberTheMilk albo już dedykowany Trac.
Obszar produkcyjny
Kiedy wersja jest już wytestowana, wrzucamy ją na głowną stronę. Ta operacja też powinna być wykonywana za jednym klikiem.
Obszar dokumentacji
Obszar dokumentacji nie jest wyszczególniony na rysunku. Mimo dodatkowego nakładu czasu potrzebnego na przygotowanie dokumentacji warto to robić. Dlatego, że pisząc samemu projekt stracisz niezmiernie dużo czasu żeby później wdrożyć kolejnego programistę. Mając dokumentację drugi i kolejni programiści szybciej wejdą w projekt i będą mogli to zrobić w czasie, kiedy Ty będziesz też dalej rozwijał stronę.
Czas poświęcony kiedy jest względny spokój zwróci się podczas wzrostu popularności strony, kiedy będzie trzeba w szybkim czasie naprawiać i dostosowywać stronę do potrzeb nowych użytkowników i wszystkich problemów z tym związanych (wydajność, skalowalność, błędy, luki itd.).
Podsumowanie
Wiem, że ten post nie wyczerpuje tematu. Ma on za zadanie zachęcić o przemyślenia jak chcesz zrealizować powyższe procesy w swojej pracy. Możliwe że u Ciebie ten diagram będzie wyglądał inaczej, jeżeli tak, polecam serwis pdcliparts.org, gdzie można znaleźć kliparty potrzebne do zrealizowania takiego diagramu.

tak dla porządku – chodzi o http://www.pdclipart.org/ (bez ‘s’)
sam niewiele programuję, raczej opieram się o gotowe CMSy, a to co robiłem sam było na tyle małe, że nie wymagało svn ani takich wygibasów 🙂