outsourcing team

Outsourcing Drupala - jak znaleźć najlepszy zespół?

10.07.2018

Drupal jest fantastycznym systemem dla wszelkiego rodzaju stron i aplikacji webowych. Sprawdza się zwłaszcza w dużych, złożonych projektach. Jeśli znasz się na rzeczy, znacznie możesz skrócić czas developmentu w porównaniu do czasu potrzebnego przy użyciu innych narzędzi stworzonych w tym samym celu.

Uniwersalność Drupala jest jednak obosiecznym mieczem. Wielka elastyczność, obszerne API i mnóstwo modułów tworzonych przez społeczność sprawiają, że potrzeba czasu, aby programista nabrał wprawy w jego używaniu. Czasem zwyczajnie projekt musi być zbyt szybko, aby przebijać się przez stromą krzywą uczenia się Drupala.  

Im bardziej doświadczony jest Twój zespół, tym więcej korzyści przyniesie Ci Drupal i tym mniej długu technicznego nabędziesz po drodze i tym większy sukces ostatecznie odniesie projekt. 

W poszukiwaniu Drupalowego zespołu 

Kiedy rozważasz outsourcing projektu na Drupalu, powinieneś rozważyć kilka kluczowych czynników: 

Doświadczenie całego zespołu i jego członków

Aby zostać mistrzem Drupala, potrzeba czasu. Jeśli tworzysz rozbudowaną aplikację, dobrze jest mieć przynajmniej jednego naprawdę doświadczonego developera lub architekta oprogramowania (z trzema latami pracy z systemem lub więcej), który w tym czasie ukończył kilka większych projektów. Ta osoba będzie Twoim architektem i stróżem projektu. Do jego codziennych obowiązków należeć będzie planowanie architektury systemu, wybór modułów contribowych, przegląd kodu oraz pomoc mniej doświadczonym programistom. 

Pozostała część  programistów także powinna mieć przynajmniej styczność Drupalem, chyba że możesz poświęcić nieco czasu na trening zespołu. Drupal 8 jest nieco łatwiejszy do podchwycenia przez osoby, które wcześniej pracowały z frameworkami MVC jak Symfony czy Laravel, to jednak za mało, aby początkujący drupalowiec mógł usiąść i kodować. Sześć miesięcy dla małych projektów i rok-dwa dla dużych aplikacji powinny być w tym wypadku wystarczającym doświadczeniem. 

Czy zespół już pracował razem?

Niekoniecznie krytyczny element, ale warto upewnić się, czy wybrany zespół używa podobnych do Twoich narzędzi i jakie standardy pracy stosuje.  To duży krok w kierunku zapewnienia płynności pracy budowanej aplikacji. Zespoły zbierane “na jeden projekt” zazwyczaj radzą sobie dużo gorzej niż te, które miały czas na doszlifowanie pracy pomiędzy członkami zespołu przy innych projektach. 
Możesz ominąć wiele przeszkód wynikających z rozproszenia zespołu  poprzez stabilny proces rozwoju. Jeśli wszyscy programiści już mieli możliwość się z nim zapoznać, wprowadzenie takiego niełatwego procesu będzie o wiele prostsze. W Droptica bardzo ważnym czynnikiem wpływającym na jakość wykonywanej pracy jest automatyzacja procesów, która przekłada się na większe zadowolenie i pewność klienta.

Komunikacja

Jak się będziesz porozumiewać z zespołem? Upewnij się, że masz możliwość bezpośredniej komunikacji z całym zespołem i wszystkimi jego członkami. Nie ma nic gorszego niż projekt z długimi łańcuchami komunikacji, które wypaczają informację i wydłużają jej czas przepływu. 

Zaufanie

Czy można budować zaufanie? Przy długich projektach podstawą jest stworzenie relacji opartej na zaufaniu między Tobą a zespołem. Jeśli czujesz, że istnieją jakieś przeszkody czy pojawiają się niejasne sytuacje, lepiej wyjaśnić je nim projekt się rozpocznie. 

Dostępność i skalowanie zespołu

Czy wielkość zespołu może być regulowana? Często projekty startują skromnie, ale z czasem rozrastają się i potrzeba więcej zasobów. Czy w takim wypadku będzie można powiększyć zespół, czy będziesz musiał raczej poszukiwać ludzi z zewnątrz?

Z drugiej strony jest jeszcze fluktuacja kadrowa. W firmach informatycznych  wynosi ona przeciętnie 10-20%. To oznacza, że jeśli projekt trwa około roku i zajmuje się nim pięć osób, jest prawie pewne, że któraś z nich go opuści. Czy firma zapewni programistę, który szybko będzie mógł przejąć obowiązki brakującej osoby?

Dostęp do specjalistycznej wiedzy

Jeśli zatrudniasz zespół drupalowych programistów, warto sprawdzić, czy mają także inną wiedzę i umiejętności, z których mógłbyś skorzystać. 
Niektóre zadania w projekcie stawianym na Drupalu mogą wymagać także:
specjalistów DevOps (np. ustawianie środowisk, serwerów lub infrastruktury CI)
specjalistów UX/designu
testerów zapewniających jakość oprogramowania poprzez testy manualne i automatyczne Twojej aplikacji. 

Stawianie projektu i zarządzanie jego rozwojem

Kiedy wybrałeś zespół, nadchodzi czas rozpoczęcia projektu. Napisałem obszerny post na blogu o tym, jak można zorganizować pracę, tak, aby dostarczanie kolejnych elementów projektu przebiegało gładko, nawet jeśli pracują nad nim różne zespoły. Jesteśmy propagatorami automatyzacji. Redukuje znacznie ilość pracy potrzebną, aby wszystkie zainteresowane osoby znały bieżący stan kodu. 

Polecamy także używanie metodologii zwinnych, które stanowią fantastyczne podejście do zarządzania projektem dotyczącym oprogramowania. Możesz o nich więcej przeczytać w naszym poście o zdalnych zespołach SCRUM.

Podsumowanie

Outsourcing oprogramowania może przynieść wiele korzyści, takich jak redukcja kosztów, dostęp do określonych umiejętności lub wypełnienie braków kadrowych spowodowanych niedoborami specjalistów na rynku. 
Wybór porządnego zespołu jest niełatwym procesem. Rozsądnie jest rozejrzeć się za właściwym teamem, zamiast wybierać pierwszy lepszy na podstawie ceny. Z wartościowym zespołem uniknąć można ryzyka, jakie pojawia się przy zatrudnianiu zewnętrznych dostawców, np. niedopasowania kulturowego, problemów z komunikacją, braku motywacji. Twój produkt ukończony zostanie szybciej i taniej. 
 

Porozmawiajmy o Twoich projektach

Napisz do nas!