Jak zbudować świetny zespół deweloperski Umbraco?

Opublikowany: 2022-09-29

Twój zespół programistów ma ludzi, umiejętności i wiedzę fachową, ale skalowanie operacji zawsze stanowi wyzwanie, gdy rozpoczynasz nowy projekt lub potrzebujesz bardzo specyficznego doświadczenia na platformie. Czy powinieneś korzystać z wykonawców, czy zewnętrznych zespołów programistycznych? W tym poście przyjrzymy się opcjom, jakie Twój zespół programistów ma do zarządzania rozwojem.

Wykonawcy vs Zewnętrzne Zespoły Deweloperskie vs Zespoły Wbudowane

Nawet jeśli uważasz, że masz odpowiedni zespół programistów, Twoja firma zawsze będzie poszukiwać bardzo poszukiwanej wiedzy na temat platformy. Wszystkie organizacje zadają pytanie:

„Czy powinniśmy zatrudnić więcej pracowników do obsługi naszych bieżących i/lub nadchodzących projektów, czy inne podejście byłoby lepsze?”

Podjęcie właściwej decyzji nie zawsze jest najbardziej praktyczne, ponieważ w grę może wchodzić wiele czynników. Czy powyższe pytania brzmią znajomo?

  • Czy to tylko chwilowy wzrost, co oznacza, że ​​wszystko w końcu wróci do normy?
  • A co, jeśli następny projekt będzie wymagał innych umiejętności niż te, które posiada Twój personel?
  • Czy będziesz w stanie pokryć koszty dodatkowych członków zespołu w przypadku braku projektów w przyszłości, czy też będziesz musiał pozwolić ludziom odejść?
  • Jak możesz wspierać istniejące projekty i jednocześnie podejmować nowe bez ciągłego inwestowania w nowych ludzi (i infrastrukturę)?

#1 Wykonawcy

„Wynajmujesz” programistę (lub dwóch lub trzech) od firmy, która zapewnia im określoną ilość czasu i pieniędzy, i każesz im pracować nad jednym lub kilkoma projektami lub wspierać istniejące projekty.

Zarządzasz nimi przez czas, w którym „należą” do Ciebie, i zachęcasz ich do wykonywania dowolnej pracy, której możesz potrzebować. To sposób na sztuczne powiększanie zespołu przez krótki czas bez konieczności zatrudniania.

Zastrzeżenia związane:

Znowu będziesz musiał zająć się tam trochę HR – fakt, że inna firma zasugerowała konkretną osobę, nie oznacza, że ​​jest to zdecydowanie odpowiednia osoba do pracy. Wywiady trzeba będzie przeprowadzić, a nowy deweloper będzie musiał bardzo szybko dostosować się do tego, co trzeba mu dać – co nie zawsze się dzieje.

Na koniec powiedzmy, że wszystko idzie dobrze i praca jest wykonana. Deweloper odchodzi, a ta sama osoba może nie być dostępna, gdy będziesz jej ponownie potrzebować, co oznacza, że ​​będziesz musiał ponownie przejść przez cały proces.

#2 Zewnętrzne Zespoły Deweloperskie

Outsourcing zazwyczaj oznacza, że ​​przechodzisz przez proces znalezienia wiarygodnej firmy i przypisujesz jej projekt, oczekując rezultatów w ściśle określonych ramach czasowych, z dobrze zdefiniowanym zakresem i specyfikacjami.

Działa to najlepiej, gdy podejmujesz się projektu, w przypadku którego Twój wewnętrzny zespół nie ma znaczącej wiedzy ani doświadczenia, ale nadal chcesz się zaangażować bez inwestowania w zatrudnianie i/lub szkolenie ludzi.

Zastrzeżenia związane:

  • Będziesz musiał zweryfikować ludzi lub firmę, z którą będziesz pracować, co wymaga czasu i prawdopodobnie pieniędzy – albo po prostu będziesz musiał podjąć duże ryzyko.
  • Będziesz także musiał mieć ustalony zakres i doskonałe specyfikacje, a także prawdopodobnie przydzielić po swojej stronie kierownika projektu, który będzie obserwował i prowadził drugą stronę na każdym etapie.
  • Z powodu złej komunikacji lub źle napisanych specyfikacji sprawy mogą się łatwo pogorszyć, a tak się stało w tysiącach przypadków.

I nie mówimy tutaj o zwinnych podejściach – po prostu zapomnij o tym, chyba że pracowałeś z tymi samymi ludźmi od czasu do czasu.

#3 Wbudowany zespół programistyczny

Jest to podejście bardziej hybrydowe, w tym sensie, że nie dostajesz jednego programisty, ale raczej grupę ludzi, którzy się znają i mają doświadczenie we współpracy.

Osoby te są następnie „wbudowywane” w Twój obecny zespół wewnętrzny, postępując zgodnie z Twoimi procedurami i metodologiami, a ostatecznie zwiększając ogólną produktywność.

Zastrzeżenia związane:

Tak jak poprzednio, wprowadzisz do swojej firmy „ciało obce” i od razu będziesz chciał, aby zostało ono zintegrowane z dotychczasowym personelem – a wiemy, przynajmniej z współczesnej medycyny, że organizm – taki jak Twoja firma – integracja ciał obcych wymaga czasu, a czasem to się nie udaje.

W końcu może działać lepiej niż powyższe alternatywy, ale będziesz musiał w to zainwestować dużo wysiłku.

Nasza sugestia: Zespół programistów As-A-Service

(Lub, jak to nazywają inni, SDaaS – Software Development as a Service)

Jest to jeszcze bardziej hybrydowe podejście niż wbudowany zespół programistyczny i (naszym zdaniem) najbardziej opłacalne i przynoszące najlepsze rezultaty.

Krótko mówiąc, otrzymujesz wbudowany zespół programistów, jak poprzednio, ale tym razem nie musisz tak naprawdę dbać o wielkość zespołu ani o ich umiejętności jako jednostki – zespół początkowo będzie miał przedstawiciela, zwykle jednego z programistów , który będzie odpowiedzialny za „połączenie” z nim Twoich wewnętrznych programistów (jeśli takowych posiadasz), prowadzenie całej komunikacji i przyspieszanie współpracy ze współpracownikami.

Przydzielasz pracę temu zespołowi i płacisz za przepracowane godziny.

Oznacza to, że w przypadku pilnego zadania lub projektu kilku członków zespołu jako usługi musiałoby być zaangażowanych w celu jak najszybszego zakończenia pracy lub że mogliby podzielić między siebie mniej pilne zadania i jedna osoba to robi. Ale o to dba sam zespół.

W obu przypadkach uzyskujesz taką samą skalowalność, jaką uzyskasz w chmurze podczas uruchamiania serwera WWW — jest tam, gdy jej potrzebujesz, i nie musisz za nią płacić, gdy jej nie potrzebujesz.

Na dłuższą metę, w miarę jak zdalny zespół coraz lepiej zapoznaje się z wewnętrznymi członkami zespołu, ich własną wiedzą, Twoimi procesami i sposobem pracy, komunikacja może się poszerzyć, a wszyscy programiści mogą w niej uczestniczyć.

Do tego czasu zwykle znika potrzeba pośrednika, a Ty masz skalowalny zespół, podobny do wbudowanego, którym możesz zarządzać i używać zgodnie z potrzebami w zależności od bieżącego obciążenia.

Zastrzeżenia związane:

W przeciwieństwie do korzystania z usług w chmurze w środowisku IT, jest to bardziej stopniowy proces, który wymaga zaufania obu stron.

W większości przypadków inna firma zajmie się procesem integracji, a Ty będziesz musiał po prostu ułatwić jej życie, zapewniając dostęp i informacje tam, gdzie jest to potrzebne. Czasami może to potrwać dłużej niż oczekiwano, zwłaszcza jeśli nie jesteś przyzwyczajony do tego sposobu pracy. Ale to wszystko.