Jak skalować zespół techniczny o 30% w 3 miesiące: studium przypadku krok po kroku
Opublikowany: 2022-05-04W dzisiejszych czasach trudno sobie wyobrazić, że z łatwością można zatrudnić zespół składający się z pięciu do dziesięciu wewnętrznych programistów z wymaganymi umiejętnościami. Zaciekła walka o talenty na rynku i intratne oferty konkurencji wcale tego nie ułatwiają.
Czemu? Kluczową kwestią jest niedobór talentów IT, który stał się jednym z szybko rosnących wąskich gardeł, z jakimi borykają się współczesne firmy. Zatrudnianie specjalistów od technologii to teraz prawdziwe wyzwanie. I nie ma niespodzianki. W ciągu ostatnich dziesięciu lat liczba firm B2B SaaS wzrosła 50-krotnie i wciąż rośnie. W samych Stanach Zjednoczonych istnieje ponad 15 000 takich firm. Co więcej, giganci, tacy jak Google i Amazon, nieustannie wybierają branżowy rynek pracy.
Co więcej, pandemia COVID-19 doprowadziła do szalejącej cyfryzacji biznesu. W ten sposób rozwijający się rynek startupów przerodził się w prawdziwą walkę o zatrudnianie i utrzymanie najlepszych talentów technologicznych, aby dołączać do firm i startupów niezwiązanych z IT. W efekcie oferowanie kandydatom zbyt wysokich wynagrodzeń powoduje chaos na rynku.
Prawda jest taka, że nawet jeśli Twojemu startupowi udało się pozyskać imponujące fundusze, Twoje wyzwania kadrowe są dalekie od rozwiązania.
Nie jest to jednak dobry powód do rezygnacji. Świat się oddalił. Twoje wewnętrzne możliwości kadrowe już Cię nie ograniczają. Co więcej, Twoja lokalizacja też nie jest przeszkodą.
Tutaj podzielę się rzeczywistym przypadkiem, w którym nasza firma, Aspirity, pomogła w jak najkrótszym czasie skalować zespół techniczny i ujawnić doświadczenie zdobyte przez obie strony.
Wewnętrzna VS. Zdalny vs. Zespoły rozproszone
W dzisiejszych czasach pojawiło się wiele nowych podejść i modeli kadrowych, dzięki czemu dostęp do globalnej puli talentów jest prawdziwą perspektywą dla osób poszukujących bardziej elastycznych i wydajnych rozwiązań.
Przyjrzyjmy się najczęstszym typom zespołów deweloperskich pod kątem ich lokalizacji.
Zespoły wewnętrzne: jak wiele się zmieniło
Wiele firm uważa zespoły wewnętrzne za najbardziej stabilne, łatwe w zarządzaniu i niezawodne rozwiązanie. Oto najbardziej rozpowszechnione argumenty przemawiające za modelem wewnętrznym:
- Bezpośrednia kontrola nad przepływem pracy.
- Możliwość zbudowania ufnego i przejrzystego środowiska biurowego.
- Komunikacja twarzą w twarz.
- Brak różnic w strefach czasowych i barier językowych.
Jednak podczas pandemii zmieniło się nastawienie ludzi. Dziś koncentrację całej pracy zespołowej w jednym biurze można uznać za przestarzałą. Według badań Gartnera, po wybuchu COVID-19 82% pracodawców pozwala swoim pracownikom pracować przez pewien czas zdalnie, podczas gdy 47% liderów firm popiera pracę całkowicie zdalną.
Ze względu na te zmiany wady wewnętrznego rozwoju znacznie przewyższają ich korzyści. Mając znacznie uboższą pulę talentów, trudno będzie Ci konkurować z gigantami zatrudniającymi najlepszych lokalnych specjalistów. Dlatego skalowanie własnego zespołu programistów i dodanie niezbędnej wiedzy może być zbyt trudne.
Zespoły zdalne: nowa rzeczywistość
Rozwiązania zdalne są świetną alternatywą dla rozwoju własnego. Możesz znaleźć potrzebny talent z dostępem do globalnego rynku IT. Możesz także wybrać strefę czasową, która najbardziej Ci odpowiada i zatrudnić specjalistów, których potrzebujesz.
Potencjalne ryzyko zatrudniania pracowników zdalnych polega na tym, że możesz mieć trudności z szybką integracją ich z zespołem, który już pracuje nad projektem. Ponadto niektórzy pracownicy zdalni mogą potrzebować więcej czasu na wdrożenie, ponieważ od razu nie poczują się integralną częścią zespołu wewnętrznego.
Zespoły rozproszone: alternatywne rozwiązanie
Co zatem może zrobić firma, aby zatrudnić zręcznych specjalistów zdalnych i sprostać potencjalnym wyzwaniom związanym z ich wdrażaniem i zaangażowaniem? Bazując na naszym doświadczeniu, budowanie rozproszonego zespołu jest świetnym rozwiązaniem.
Przede wszystkim rozproszony zespół składa się z profesjonalistów, którzy już się wzajemnie rozumieją i potrafią skutecznie ze sobą współdziałać. Znają swoje mocne i słabe strony i potrafią zbudować proces współpracy w mgnieniu oka, nie wymagając od Ciebie żadnego wysiłku.
Co więcej, takie zespoły prawdopodobnie mają ugruntowane i sprawdzone metody utrzymywania baz danych i nie będą miały problemów z wdrażaniem nowych pracowników, jeśli trzeba szybko skalować.
Również przy zatrudnianiu rozproszonego zespołu należy przeprowadzić skuteczny onboarding. Niezbędne jest przekazanie głównej idei projektu i sprawienie, aby nowi członkowie poczuli pasję do Twojego produktu.
Oczywiście proces adaptacji zajmie trochę czasu. Firma zwracająca się do modelu rozproszonego powinna wziąć pod uwagę różnicę stref czasowych i specyfikę kulturową. Jeśli jednak potrzebujesz skutecznego skalowania, wszystkie te czynniki raczej nie staną się przeszkodą. W tym celu trudno znaleźć opcję bardziej nastawioną na wyniki.
Porównanie cen
Koszt opracowania zależy od wielu czynników. Liczy się nie tylko poziom kwalifikacji programistów zaangażowanych w projekt. Kolejnym ważnym aspektem jest lokalizacja Twojego zespołu programistów. W większości zależy to od warunków ekonomicznych regionu, średnich zarobków, podatków i nie tylko.
Tutaj porównamy koszt poszczególnych usług programistycznych w różnych częściach świata. Da ci to przybliżone wyobrażenie o średnich stawkach inżynierów oprogramowania, jeśli zdecydujesz się zlecić rozwój produktu do innego kraju lub zatrudnić specjalistów na własną rękę.
Pamiętaj, że zatrudniając pracowników zdalnych, będziesz musiał uporać się z wieloma pułapkami, takimi jak system podatkowy w danym kraju. Tymczasem, jeśli przejdziesz do modelu zespołu rozproszonego, dostawcy prawdopodobnie poradzą sobie z tymi problemami bez twojego wysiłku. Takie czynniki znacząco wpływają na skalę i budżet projektu.
Ameryka północna | Wschodnia Europa | Ameryka Południowa | |
Reagować | 59,8$ | 50,9 zł | 49,6 zł |
Reaguj natywnie | 73,9 USD | 54,6 zł | 53,1 USD |
JavaScript | 78,6 $ | 49,3 zł | 51,0 zł |
Node.js | 63,5 | 47,5 | 50,3 zł |
W biurze a zdalnie: nasze doświadczenie
Nasza firma Aspirity zdobyła solidne doświadczenie w pracy zdalnej oraz w modelu rozproszonego zespołu. Podczas pandemii nasi pracownicy przystosowali się do nowej rzeczywistości pracy w domu. Więc teraz nie więcej niż 10% z nich wraca do pracy w biurze. Z naszego doświadczenia wynika, że praca zdalna jest jeszcze bardziej wydajna, ponieważ eliminuje hałas w biurze i inne czynniki rozpraszające, umożliwiając pracownikom zanurzenie się w procesie pracy.
Co ciekawe, niektórzy z naszych pracowników postanowili rozpocząć pracę zdalną i dołączyć do rozproszonych zespołów jeszcze przed wybuchem pandemii. Jesienią 2019 roku do swojego projektu zgłosił się do nas startup z Doliny Krzemowej. W tamtym czasie chcieli zbudować innowacyjny produkt, ale rozumieli, że będzie to wymagało dużo czasu i zasobów, których im brakowało. Tak więc klient szukał jednocześnie od trzech do pięciu pracowników, którzy mieliby umiejętności do obsługi części front-endowej, w tym projektowania. I postanowiliśmy rozpocząć współpracę.
Dla nas było to również nowe doświadczenie, aby być odpowiedzialnym tylko za konkretną część projektu. W rezultacie ustaliliśmy format pracy, który teraz nazywamy zespołem rozproszonym.
Zwykle onboarding w takim projekcie trwa kilka miesięcy. Jednak naszemu zespołowi udało się to zrobić znacznie szybciej. Teraz zdradzę, czego nauczyliśmy się pracując razem w rozproszonym zespole.
Poszukiwanie zespołu
Pierwszym pytaniem, jakie może napotkać firma lub startup, jest to, jak znaleźć rozproszony zespół, który spełni ich cele i oczekiwania. Oto kilka kluczowych czynników, które należy wziąć pod uwagę.
- Pula talentów. Aby zbudować wyjątkowo innowacyjny produkt, prawdopodobnie będziesz musiał uzyskać dostęp do co najmniej 1-2% najlepszych talentów na świecie. Jednak znalezienie i zatrzymanie wykwalifikowanych specjalistów w USA jest dość trudne ze względu na brak talentów IT. Rozproszony model zespołu umożliwi Ci dostęp do najlepszych specjalistów w innych regionach, takich jak Azja Południowo-Wschodnia, Europa Wschodnia i Ameryka Południowa.
- Powiązania osobiste. Nie zaniedbuj opinii osób, które znasz i którym ufasz. Dobra reputacja często wyprzedza najlepsze zespoły, niezależnie od ich lokalizacji.
- Podobieństwa kulturowe. Ważne jest, aby wziąć pod uwagę mentalność i wartości zatrudnianego zespołu. Niezbędne jest znalezienie partnerów, którzy mogą zagłębić się w Twoje pomysły biznesowe i stać się integralną częścią Twojego projektu. Pomoże Ci nawiązać lepszą komunikację z zespołem, nawet nie zauważając różnicy między zdalnymi specjalistami a pracownikami wewnętrznymi.
- Wpływ strefy czasowej. Dla wielu firm różnice w strefach czasowych mogą wydawać się istotną wadą zatrudniania rozproszonego zespołu. Możesz jednak zamienić to w korzyść. Na przykład, zatrudniając dostawcę z Europy Wschodniej, możesz uruchamiać poszczególne procesy prawie 24/7. Co najważniejsze, znajdź czas na rozmowy i spotkania, które będą wygodne dla wszystkich.
Jak zweryfikować zespół
Po znalezieniu zespołu, który wydaje się odpowiedni, nadszedł czas, aby zweryfikować jego wiarygodność. Istnieje wiele sposobów na sprawdzenie, czy kandydat odpowiada Twoim potrzebom. Najczęstsze są następujące:
- Sprawdź portfolio firmy i case studies.
- Przeczytaj opinie ich klientów.
- Zwróć uwagę na ocenę reputacji dostawców na wyspecjalizowanych stronach internetowych, takich jak Clutch i GoodFirms.
Lepiej też nie polegać na obietnicach kandydatów, że spełnią najwyższe standardy. Istnieją setki dostawców, a każdy twierdzi, że oferuje najlepsze usługi.
Dlatego rozmowa techniczna jest kluczowa. Pomoże Ci oszacować możliwości techniczne zespołu kandydata, wiedzę w określonej dziedzinie i adekwatność wiedzy eksperckiej.
Co więcej, lepiej nie przeceniać wyboru stosu technologicznego. Zamiast tego nadaj priorytet zespołowi z doskonałymi umiejętnościami w określonej technologii, nawet jeśli nie jest to ta, którą brałeś pod uwagę. To o wiele lepsze niż zatrudnianie tak zwanych tak-mężczyzn, którzy zawsze będą podążać za Twoimi wymaganiami, bez względu na ich uzasadnienie, zamiast oferować bardziej efektywne rozwiązania.
Co najważniejsze, upewnij się, że wybrany stos technologiczny jest przyszłościowy i ma dość dużą społeczność programistów.
Kolejnym krytycznym czynnikiem jest interakcja między zespołami backendu i frontendu. W naszym przypadku klient miał już swój zespół backendowy. Musieli więc upewnić się, że specjaliści od frontendu zrozumieją pewne specyfiki backendu. Poszukiwali specjalistów znających podstawy, takie jak praca z fałszywymi danymi, interfejsami API itp. Nauka takich podstaw w biegu może znacznie zmniejszyć produktywność i tempo rozwoju.
Stawanie się wspólnym zespołem
Kiedy rozproszony zespół zaczyna ze sobą współpracować, jego członkowie potrzebują trochę czasu na stworzenie wspólnego przepływu pracy. W naszym przypadku członkowie wewnętrznego zespołu klienta chcieli, abyśmy przed rozpoczęciem procesu rozwoju zagłębili się w istotę projektu i główne idee. Tak więc początkowo badaliśmy, jak zarządzać projektem, mając na uwadze potrzeby użytkowników, jak powinien być zaprojektowany i jakie wykresy są wymagane.
W tym celu poświęciliśmy miesiąc na analizę produktów konkurencji. Przeanalizowaliśmy różne pulpity nawigacyjne, aby zrozumieć, czego użytkownik oczekuje od podobnych produktów, przeszukaliśmy je i przetestowaliśmy oraz wykonaliśmy wiele zrzutów ekranu. Na koniec zebraliśmy i uporządkowaliśmy wszystkie te informacje, aby odnieść się do nich podczas procesu projektowania.
Na początku członkowie naszego zespołu nie mieli dużego doświadczenia w zakresie projektu klienta. Wstępne badania pozwoliły nam uzyskać niezbędne referencje, na których mogliśmy polegać przy projektowaniu produktu. Ponadto proces dochodzenia pomógł nam głębiej zagłębić się w sam projekt. I to był pierwszy niezbędny krok.
Kolejnym ważnym aspektem było zarządzanie projektami, które pomogło nam nawiązać skuteczną komunikację między zespołami, zaplanować spotkania, zorganizować wspólny przepływ pracy i uniknąć wzajemnych wyzwań w pracy.
Oto kilka kluczowych spostrzeżeń, które nasz rozproszony zespół uzyskał i metod, które wymyśliliśmy.
- Komunikacja. Chociaż zaczęliśmy od pewnych problemów i nieporozumień, szybko osiągnęliśmy niezbędne kompromisy i zwiększyliśmy naszą efektywność. Teraz nasz zespół korzysta z kilku kanałów Slack i czatów grupowych do natychmiastowych dyskusji i terminowego dostarczania ważnych informacji. Nasi kierownicy projektów są w stałym kontakcie, a nasz lider techniczny zawsze wie, jak zastąpić pracowników podczas wakacji lub w nieprzewidzianych okolicznościach. Pozwala nam to utrzymać nieprzerwane tempo przepływu pracy.
- Spotkania i rozmowy. Praca rozproszonego zespołu wymaga regularnych sesji online w celu omówienia wyników, sprawdzenia rezultatów, ustalenia planów i sprintów, dzielenia się problemami itp. Dlatego regularnie organizujemy liczne spotkania w różnych celach:
- Codzienne spotkania zespołu front-endowego z właścicielem produktu.
- Cotygodniowe spotkania z liderem zespołu z innego kraju.
- Codzienne spotkania członków naszego zespołu.
- Retrospektywne i techniczne spotkania retrospektywne co dwa tygodnie.
- Cotygodniowe spotkanie techniczne w celu omówienia nowego planu technicznego.
- Regularne spotkania zarządu.
- Przeglądy sprintów co 2-3 dni.
Każda rozmowa telefoniczna i spotkanie służą określonemu celowi, który pomaga zespołowi pozostać na tej samej stronie i zrozumieć nawzajem postępy i problemy. Jednak wiele rzeczy jest omawianych na czatach grupowych i komunikatorach, aby zaoszczędzić czas.
- Wspólna przestrzeń robocza. Na początku nasz zespół korzystał z dwóch różnych przestrzeni roboczych Jira:
- Nasz obszar roboczy UI i frontend.
- Obszar roboczy naszego klienta do zarządzania zadaniami UI, backendu, API i frontendu.
Przy takim podejściu kontrola jakości po stronie klienta zgłaszała błędy interfejsu użytkownika, a nasza kontrola jakości zgłaszała błędy interfejsu. Później przenieśliśmy się do jednego obszaru roboczego Jira, co znacznie ułatwiło proces zarządzania projektami.
Na wynos
Załóżmy, że musisz szybko i wydajnie skalować swój projekt, nie tracąc czasu na szukanie, zatrudnianie i szkolenie wszystkich niezbędnych wewnętrznych specjalistów. W takim przypadku rozproszony model zespołu jest jedną z najlepszych opcji. Zapewni Ci dostęp do globalnej puli talentów i umożliwi zatrudnienie doświadczonych programistów z ugruntowanym doświadczeniem w zakresie współpracy.
Dzięki nowoczesnym technologiom i podejściu do zarządzania projektami budowanie i organizowanie wydajnego przepływu pracy jest całkowicie osiągalnym celem. Wykorzystanie potężnych narzędzi do komunikacji, współpracy i dokumentacji minimalizuje ryzyko i staje się niezawodną podstawą przejrzystej i ukierunkowanej na wyniki wspólnej pracy.
W związku z tym wszystko, co musisz zrobić, to znaleźć godny zaufania zespół z odpowiednią wiedzą fachową i dołożyć wszelkich starań, aby przekazać im swoją pasję do produktu, który zamierzasz zbudować.
autor: Alexander Efremov (LinkedIn)