Świat staje się coraz bardziej cyfrowy. Wielką popularnością cieszą się software house’y. Czym one są?
W dużym skrócie software house’y to firmy, których głównym zadaniem jest wytwarzanie oprogramowania na zlecenie zewnętrznych klientów. Są odpowiedzialne za tworzenie aplikacji webowych i mobilnych, jednak zakres ich działalności może być dużo szerszy. Do ich klientów należą zarówno startupy, chcące wdrożyć i rozwinąć swój produkt od zera, jak i firmy o ugruntowanej pozycji na rynku, które planują stworzenie aplikacji dla swoich klientów. Software house’y często specjalizują się w rozwijaniu oprogramowań dla konkretnej branży. Pomagają one firmom w transformacji cyfrowej, czy pracach developerskich nad daną aplikacją. Coraz większa popularność tego typu firm jest spowodowana tym, iż stanowią najłatwiejszy sposób na zbudowanie dedykowanych rozwiązań. Klienci zgłaszają się z pomysłem, którego realizację zlecają właśnie software house’owi. To duży atut dla osób, które mają pomysł, ale nie posiadają niezbędnej wiedzy i doświadczenia.
Mimo popularności software house’ów, na rynku funkcjonują opinie, że przy pracach nad produktami cyfrowymi warto jednak zbudować własny zespół IT. Z czego może to wynikać?
Z reguły taki proces wewnątrz organizacji rozpoczyna się od zatrudnienia CTO (ang. Chief Technology Officer – przyp. red.), a więc eksperta odpowiedzialnego za rozwój technologiczny firmy, który będzie w stanie zbudować zespół oraz umiejętnie nim zarządzać. Częstą praktyką jest zlecenie znalezienia takiej osoby firmie zewnętrznej, specjalizującej się w outsourcingu procesów rekrutacyjnych, która analizując rynek, jest w stanie znaleźć osobę o największych kompetencjach pasujących do wymagań stawianych przy realizacji danego projektu. Dla osób stawiających pierwsze kroki w świecie startupów oraz nowych technologii, jest to najlepsze rozwiązanie. Ludzie ze środowiska IT zwykle szukają CTO poprzez tradycyjny networking. Dobrym rozwiązaniem jest również poszukiwanie właściwej osoby podczas meetup’ów, hackaton’ów i innych eventów branżowych.
Jakie są największe korzyści współpracy z software house’ami? Co z kolei może dać zbudowanie dedykowanego zespołu w firmie?
Miałem okazję współpracować zarówno z startupami, jak i software house’ami. Z mojego doświadczenia wynika, że współpraca z software house’ami jest dobrym rozwiązaniem podczas budowy zaawansowanych i złożonych aplikacji, wymagających dużego nakładu pracy. Warto zdecydować się na tego typu współpracę, gdy mamy w głowie już konkretną wizję naszego oprogramowania bądź chcemy stworzyć MVP (ang. Minimum Viable Product – przyp. red.), który znacznie szybciej zostanie zbudowany pod okiem software house’u. Tego typu firmy mają już na pokładzie developerów specjalizujących się w różnych technologiach, którzy realizowali wiele złożonych projektów. Dysponują know-how, czyli niezwykle istotnym elementem w kontekście budowania i rozwijania cyfrowych produktów. Własny zespół IT zapewnia z kolei zdecydowanie większe zaangażowanie w rozwijaniu projektu. Jest to związane z formą współpracy, jaką często stosują startupy. Pracownicy mają możliwość pozyskania opcji na akcje tzw. ESOP (ang. employee stock option plan – przyp. red.), stając się współwłaścicielem biznesu w którym pracują. Ich wartość rośnie proporcjonalnie do rozwoju firmy, w związku z czym, jest to dodatkowy czynnik motywujący. Własny zespół jest także w stanie szybciej zareagować na sytuacje kryzysowe, czy naprawić błędy. Należy jednak pamiętać, iż budowa własnego zespołu z CTO na czele jest kosztowna, dlatego najczęściej własne zespoły developerskie tworzą dopiero firmy, które już wyskalowały swój biznes i dysponują odpowiednim zapleczem finansowym.
Czy stopień złożoności aplikacji decyduje, którą z form wybrać?
Aplikacje mogą wykorzystywać obecnie wiele technologii bazujących np. na wirtualnej rzeczywistości, sztucznej inteligencji czy uczeniu maszynowym. Są to niezwykle skomplikowane rozwiązania, których stworzenie wymaga unikalnej wiedzy. Skompletowanie własnego zespołu o tak szerokich kompetencjach może okazać się bardzo trudne, a także niezwykle kosztowne, bądź nawet nieopłacalne. Załóżmy, że startup pracuje nad aplikacją wykorzystującą kilka z tych technologii, gdzie każda stanowi niewielką część całego rozwiązania. Praca nad nią zostanie podzielona pomiędzy poszczególnych ekspertów z danego obszaru. W przypadku zatrudnienia każdego z nich na pełen etat, generuje to wysokie koszty stałe. Dlatego te najbardziej rozbudowane aplikacje najkorzystniej tworzyć przy współpracy z software house’ami, według modelu Time&Material, w ramach którego płaci się za faktycznie wykonaną pracę na podstawie stawek godzinowych.
Czy widzisz różnice pomiędzy sposobami działania startupów a korporacjami?
Z moich obserwacji wynika, że startupy głównie decydują się na współpracę z software house’ami. Dlaczego? To rozwiązanie jest wygodniejsze, szybsze i mamy dostęp do szerokiego spektrum ekspertów z różnych dziedzin. Mało tego, szybsze stworzenie MVP przez software house daje możliwość wejścia na rynek za swoim produktem w krótkim czasie, co pozwoli na weryfikację, czy nasz pomysł się sprawdzi oraz jest zapotrzebowanie na nasze rozwiązanie. Firmy o ugruntowanej pozycji na rynku, które posiadają już swoje zespoły, mają w zwyczaju rozbudowywać je wewnętrznie o specjalistów posiadających kompetencje niezbędne do budowy aplikacji. Jest to częsta praktyka wśród firm posiadających duże budżety na swoje pomysły. Jednak nie ma reguły, zawsze są wyjątki od normy i wiele zależy od wizji autora pomysłu.
Załóżmy, że szukam pomocy w zbudowaniu aplikacji. Jakie powinny być moje pierwsze kroki?
Trudno jest nie znając oczekiwań oraz szczegółów projektu, udzielić jednoznacznej odpowiedzi na bazie której wskażemy dalsze kroki. Nie jest to łatwy wybór, dlatego, jeśli ktoś stoi przed tego typu dylematem, chętnie zapoznam się z danym pomysłem i postaram się zarekomendować konkretny scenariusz. Mając doświadczenie zarówno we współpracy z software house’ami, jak i startupami posiadającymi własne zespoły IT, będę mógł wskazać najlepsze rozwiązanie, mając na uwadze zarówno plusy, jak i minusy danego podejścia.