Pierwszy grupowy projekt wordpressowy dla klienta – case study

No więc tak. “Robię na wordpressie” już od kilku lat. Ale do tej pory tylko dla siebie. I tylko blogi.  Więc jak coś się wywali, no to trudno, się wywali. Będzie error, będzie zgrzyt, łzy, ale jakoś się przeżyje. Naprawi się, albo się nie naprawi.

Ale, ale projekt komercyjny to już nie przelewki. Tutaj trzeba działać mądrze, profesjonalnie i najlepiej według jakiegoś planu.

Na moim blogu nie ma tutoriali, bo jest ich sporo w sieci, więc co ci będę kolejny dorzucać.

Za to są moje własne, najwłaśniejsze przeżycia i odczucia, prawie na bieżąco spisywane, z emocjami wcale nie mniejszymi niż relacja z mistrzostw Europy w lekkoatletyce albo mudialu.

W tym wpisie mowa będzie o projekcie końcowym mojego webowego bootcampu, czyli grupowej pracy nad stroną dla klienta. Takie trochę kulisy pracy w zespole soon-to-be deweloperów. 

Przeczytasz?

Projekt strony na WordPressie zobaczyliśmy najpierw na prezentacji od designerów.

I oczywiście nam się nie spodobało. [musiałam to napisać, bo podobno wojna pomiędzy designerami a deweloperami jest już legendarna. Sama nie wiem, nie doświadczyłam.]

Hehe, nie było tak źle, ale projekt, no cóż, średnio nam przypadł do gustu.

I nie dlatego, że nie widzieliśmy, jak te wszystkie funkcjonalności zakodować.

I nie dlatego, że projekt był średnio ładny, bo o gustach się nie dyskutuje.

Nie spodobało nam się dlatego, że nie widzieliśmy, o czym ma być ta strona.  A jak my nie wiemy, co jest celem projektu webowego, no to nie wiem, jak mają to wiedzieć goście na stronie. 

Dostaliśmy pliki na Google Drive, z których jeden zbierał całość projektu i przedstawiał wygląd wszystkich stron razem. Szkoda, że był taki maluśki 🙁

wav_mockups_site_preview_Kasia i kod blog o nauce programowania i robienia ladnego internetu

Jak nie wiesz, co budujesz, to nawet jak wiesz, jak to ma wyglądać, budowanie jest jakieś takie dziwne.

Pierwszą rzeczą, którą zrobiliśmy po otrzymaniu mockupów od designerów było rozpisanie struktury strony.

Nie wiedzieliśmy, jak się robi taką profesjonalną site architecture, więc wzięłam na sobie przyjemny obowiązek wyguglania i napisania takowej. 

Wiedzieliśmy o hierarchii plików wordpressowych, czyli  WP template hierarchy i to na niej oparliśmy swoje założenia, co do struktury treści na stronie. 

Rozmowa z przyszłymi designerami, UX i UI specjalistami była ciekawa, a jednak nie odpowiedziała nam na pytanie, jaki typ treści jest do czego i po co. 

Patrząc na dostarczone mockupy, napisałam coś w rodzaju mapy. 

O takiej

To było pierwszego dnia pracy deweloperów.  A potem zaczęliśmy kodować.

Skorzystaliśmy z motywu deweloperskiego, przygotowanego w szkole. Ten z kolei bazował na underscore.

Dzisiaj już wiem, że trzeba było się wtedy w czerwcu podpytać naszych nauczycieli o Gutenberga, ale jakoś temat nie wypłynął.

Kodowaliśmy, co mogliśmy, w międzyczasie ucząc się pracy w zespole.

Przy pracy zespołowej, zwłaszcza, jak nie ma team leadera, łatwo jest poprosić o tylko o zadania, które się umie rozwiązać.

Bo przecież ma się na względzie dobro klienta, trzeba dowieźć produkt (czyli skończyć stronę), więc najlepiej jest, jak członkowie zespołu podzielą się między sobą zadaniami i każdy skupi się na tym, co umie najlepiej.

No tak, dla projektu i wygody to rzeczywiście lepiej, ale to wcale nie lepiej dla deweloperskiego rozwoju.

Zatem my zadecydowaliśmy od razu, że u nas nie będzie pana od php’a czy pani od stylowania, tylko podzielimy projekt na takie kawałki, żeby każdy mógł popracować nad wszystkim: i frontendem, i backendem, i emailem do klienta, jak zajdzie konieczność też.

Inne zespoły inaczej podzieliły pracę między siebie, i od razu widać było, że osoby mocniejsze i bardziej doświadczone, będą wykonywać lwią część projektu.

Nie wiem, jakie podejście proponuje scrum master i agile w zarządzaniu projektami IT. Mam nadzieję, że kiedyś się dowiem, które stanowisko jest lepsze.

Ja jestem bardzo zadowolona, że mogłam pokodować we wszystkich projektowych technologiach.

Jednoczeście kilkakrotnie w czasie projektu wypadło, że koledzy programistycznie się nie wyrobili, nasadzili baboli.

Za błędy w kodzie bynajmniej nie winiliśmy. Wkurzało nas, że ktoś z zespołu o babolach nie mówił.

Komunikacja jest najważniejsza.

My od razu założyliśmy prywatny kanał na Slacku. Stworzyłam dla nas tablicę w Trello, gdzie mieliśmy główne hasła i zadania domowe. 

Ale przy podziale zadań i monitorowaniu pracy najlepiej nam się sprawdziła zwykła tablica.

Zapisaliśmy na niej moduły do wykonania, przy nich wpisaliśmy stack, nasze imiona i (czasami) procent wykonania.

Codziennie,  co najmniej ze trzy razy, robiliśmy krótkie spotkanie (stand up), żeby na szybko powiedzieć innym, co robimy, gdzie jesteśmy, z czym potrzebujemy pomocy.

A jaka była satysfakcja z odhaczania, z wymazywania skończonych zdań! Mega uczucie, pretty nifty, jak to mówi Wes Bos. 

Przez jakiś czas nasza tablica wyglądała tak:

pierwszy_projekt_grupowy_webowy_Kasia i kod o nauce robienia ładnego internetu_biała_tablica

I tak sobie pisaliśmy kod, pisaliśmy często gęsto na Slacku, czemu czyjś kod pobruździł w naszym pliku. Pytaliśmy się, co osoba pisząca dany skrypt JS miała na myśli, skoro u niego działa, a u mnie lokalnie nie.

Niestety nie był to pair programming i bardzo żałuję, że nie miałam okazji wypróbować takiej formy programowania.

Każde z nas na kopii lokalnej pisało swój kawałek, a potem przy pomocy GITa robiło commit, push do Githuba. Potem jedno z nas robiło deployment na staging (ja wiem, źe to wygląda jak jakaś językowa mamałyga, wybacz.)

A po około 2 tygodniach nastąpiła prezentacja dla naszego klienta, czyli organizacji non profit. 

I po prezentacji właściwie pozamiatane. To, czy strona pójdzie na produkcje nie jest już monitorowane przez szkołę.  Możliwe, że się projekt nie spodoba, że klient wybierze coś innego, że zechce samemu zainstalować motyw.

Nasz klient poprosił mnie o pomoc w przebudowaniu jego strony i właśnie ta pomoc się teraz dzieje.

Ale o tym to już będzie następny post 😉

Leave a Reply

Your email address will not be published. Required fields are marked *