Jak sprawdzić freelancera lub software house, zanim powierzysz im kod swojego startupu

0
17
Rate this post

Nawigacja:

Dlaczego weryfikacja wykonawcy jest tak ważna dla startupu

Decyzje, które „zacementuje” pierwszy wykonawca

Pierwszy freelancer lub software house, któremu powierzysz budowę produktu, w praktyce podejmuje za ciebie kilka strategicznych decyzji: wybiera technologie, styl architektury, sposób pracy z kodem i tempo rozwoju. Nawet jeśli nie mówicie o tym wprost, te wybory później trudno i drogo zmienić.

Stos technologiczny (np. React + Node, .NET, PHP, Flutter) wpływa na to, jak łatwo będzie znaleźć kolejnych developerów, ile będzie kosztować utrzymanie, a czasem także wydajność systemu. Architektura (czy wszystko jest „na sztywno” spięte, czy modułowe) decyduje, czy za rok dołożenie nowych funkcji będzie prostym rozszerzeniem, czy przepisywaniem połowy systemu. Nawet wybór hostingu i narzędzi CI/CD potrafi cię przywiązać do konkretnego dostawcy.

Jeśli pierwszy wykonawca wybierze egzotyczną technologię, bo ją lubi, za rok może się okazać, że nikt chętny nie chce tego dotykać, a ci, którzy się znają, są bardzo drodzy. Jeśli postawią aplikację „na szybko”, bez testów i bez podziału na moduły, każdy kolejny sprint będzie coraz bardziej kosztowny, bo trzeba będzie omijać stare błędy i obejścia.

Dlatego weryfikacja wykonawcy nie jest tylko „porównaniem cen”. To jest w praktyce decyzja o tym, jak będzie wyglądać struktura twojego produktu, ilu ludzi na rynku będzie chciało nad nim pracować i jak bardzo staniesz się zależny od pierwszego zespołu.

Najczęstsze obawy founderów i jak do nich podejść

Za decyzją o wyborze freelancera lub software house’u często stoją bardzo konkretne lęki. Pojawia się obawa przed utratą kontroli: że kod stanie się „czarną skrzynką”, a każdy drobiazg trzeba będzie załatwiać przez wykonawcę. Drugi klasyk to strach przed sytuacją, w której to wykonawca bardziej kontroluje projekt niż ty – masz wrażenie bycia „zakładnikiem” we własnym startupie. Do tego dochodzi niepokój o wyciek pomysłu czy kodu, zwłaszcza gdy twoją przewagą ma być unikalne rozwiązanie.

Te obawy są normalne, szczególnie jeśli nie masz technicznego współzałożyciela. Klucz polega na tym, aby nie paraliżowały decyzji, tylko przekładały się na konkretne kryteria wyboru: jak spiszecie umowę, jak będzie wyglądało repozytorium kodu, kto ma dostęp do infrastruktury, kiedy i w jaki sposób kod będzie przekazywany, jak zabezpieczysz własność intelektualną.

Dobrze przetestowany wykonawca nie obraża się na pytania o te rzeczy. Wręcz przeciwnie – sam podpowiada rozwiązania: proponuje pracę w twoim repozytorium, sugeruje mechanizm backupów, dba o jasne zapisy dot. praw autorskich. Uciekanie od tych tematów albo sprowadzanie ich do „nie ma się czym martwić, my wszystko ogarniemy” jest sygnałem ostrzegawczym.

Różnica między prostym zleceniem a oddaniem kodu produktu

Zlecenie prostej strony firmowej, mailingu czy jednorazowego landing page’a to coś zupełnie innego niż powierzenie kodu produktu, na którym stoi cały biznes. W tym pierwszym przypadku liczy się głównie efekt wizualny i to, czy projekt „działa”. W drugim – liczy się jakość architektury, dokumentacja, testy, bezpieczeństwo, możliwość rozwoju.

Przy prostych zleceniach zmiana wykonawcy to koszt i dyskomfort, ale nie katastrofa. Przy produkcie (MVP, SaaS, marketplace, aplikacja mobilna) źle zaprojektowany kod może zablokować dalszy rozwój. Możesz być zmuszony do przepisywania dużej części systemu dokładnie w momencie, kiedy zaczynasz łapać trakcję i powinieneś przyspieszać.

Różnica polega też na odpowiedzialności. Freelancer robiący jednorazowe zadanie rzadko myśli długoterminowo o utrzymaniu, skalowaniu, zarządzaniu incydentami. Zespół, który traktujesz jak partnera technologicznego, musi umieć zaplanować nie tylko sprint na 2 tygodnie, ale całą drogę: od MVP przez kolejne wersje po stabilny produkt na dziesiątki czy setki użytkowników równocześnie.

Historie z praktyki: projekt uratowany vs projekt zablokowany

Dobrym punktem odniesienia są realne historie. Jedna z częstszych sytuacji: startup zaczyna z freelancerem, który robi MVP „na czuja”. Kod jest chaotyczny, ale produkt w ogóle działa i pierwsze feedbacki od klientów są pozytywne. Po kilku miesiącach dochodzicie do ściany – zmiany zajmują tygodnie, każdy bug psuje pół aplikacji. Founders decydują się na zmianę wykonawcy. Nowy zespół wykonuje audyt techniczny i proponuje etapową refaktoryzację: krok po kroku porządkują moduły, dodają testy, wydzielają krytyczne elementy. Projekt zostaje uratowany, ale kosztuje to znacznie więcej niż gdyby jakość i architektura były pilnowane od pierwszego dnia.

Drugi scenariusz jest mniej optymistyczny. Startup zaczyna z agencją, która trzyma wszystko u siebie: repozytorium, serwery, konta w narzędziach. Nie ma jasnych zapisów w umowie o przekazaniu kodu i praw autorskich. Po roku współpraca się psuje, strony się kłócą o budżet i zakres prac. Agencja odmawia swobodnego dostępu do kodu dopóki nie zostaną uregulowane kolejne faktury. Produkt niby istnieje, ale założyciele praktycznie nie mają nad nim kontroli i każdy kolejny krok wymaga negocjacji. Często kończy się to budową nowej wersji od zera.

Oba przykłady pokazują jedną rzecz: im wcześniej weryfikujesz i porządkujesz zasady współpracy, tym mniej „zaskoczeń” później. Nawet jeśli projekt ostatecznie trzeba będzie przepisać, zrobisz to w kontrolowany sposób, a nie z pozycji kogoś, kto nie ma dostępu do własnego kodu.

Czego tak naprawdę potrzebuje Twój startup od wykonawcy

Jednorazowe zlecenie a długofalowa współpraca nad produktem

Przed wyborem freelancera czy software house’u warto nazwać, czego w ogóle oczekujesz: czy chodzi tylko o jednorazowe dowiezienie MVP, czy o partnera, który będzie rozwijał i utrzymywał produkt przez dłuższy czas. To dwie zupełnie różne konfiguracje.

Jednorazowe zlecenie jest sensowne, gdy:

  • chcesz szybko zbudować prototyp „do rozmów z inwestorami”, który nie musi być super skalowalny,
  • zakres jest jasno określony (np. landing + prosty panel),
  • planujesz potem zatrudnić własny zespół i projekt zostanie przejęty wewnętrznie.

Długofalowa współpraca wchodzi w grę, kiedy:

  • startup ma model oparty na produkcie cyfrowym (SaaS, marketplace, aplikacja B2B/B2C),
  • wiesz, że po MVP będą kolejne iteracje, pivoty, optymalizacje,
  • nie planujesz budowy dużego wewnętrznego działu IT w najbliższych miesiącach.

Rozpoznanie tego na początku ustawia całą rozmowę z potencjalnym wykonawcą: inny będzie wybór struktury zespołu, inna umowa, inny proces przekazywania wiedzy technicznej. Jeśli udajesz, że to tylko „małe MVP”, a w praktyce potrzebujesz wielomiesięcznej współpracy, konflikt jest kwestią czasu.

Przekładanie potrzeb biznesowych na oczekiwania wobec wykonawcy

Wielu founderów ma dobrze opisany produkt w głowie, ale dużo gorzej opisane oczekiwania wobec zespołu technologicznego. Zamiast mówić tylko „chcę aplikację X”, warto zapisać kilka twardych parametrów: horyzont czasowy (kiedy pierwsza wersja, kiedy kolejne releasy), budżet (jakie masz widełki i czy są elastyczne), poziom zaangażowania (czy chcesz, by wykonawca doradzał produktowo, czy tylko kodował).

Dla przykładu: jeśli twój kluczowy cel to zdobycie pierwszych płacących użytkowników w ciągu 3–4 miesięcy, to powiesz to wprost i zapytasz, jak wykonawca ułoży roadmapę, by to było realne. Jeśli działasz w regulowanej branży (medycyna, finanse), wspomnisz o wymaganiach prawnych i zapytasz, czy zespół ma doświadczenie z bezpieczeństwem czy audytami.

Im lepiej opiszesz swoje ograniczenia (np. „mam czas na 2 call’e tygodniowo, reszta asynchronicznie”), tym łatwiej będzie obie strony rozliczać. Dobrzy wykonawcy potrafią na tej podstawie zaproponować sensowną strukturę sprintów, cykl wydawniczy i sposób raportowania postępów.

Kiedy freelancer, a kiedy software house – praktyczne kryteria

Wybór między freelancerem a software house’em warto oprzeć na kilku prostych kryteriach. Zamiast ogólnego „agencja jest za droga” lub „freelancer jest ryzykowny”, zadaj sobie pytania o skalę projektu, ryzyko czasowe, potrzebę różnych specjalistów.

KryteriumFreelancerSoftware house
Zakres projektuMały / średni, jasno zdefiniowanyŚredni / duży, zmienny, iteracyjny
Dostępność specjalistówNajczęściej 1–2 osobyZespół (backend, frontend, UX, QA, DevOps)
Ryzyko „wypadnięcia”Wyższe (choroba, inne zlecenia)Niższe (możliwość zastępstw)
BudżetZwykle niższy startowoZwykle wyższy, ale z większym zapleczem
Skalowanie pracOgraniczone czasem jednej osobyMożliwość szybkiego zwiększenia zespołu

Jeśli projekt jest stosunkowo prosty, terminy elastyczne, a budżet mocno ograniczony, freelancer może być świetną opcją. Gdy jednak wiesz, że będziesz potrzebować UX, testów, backendu, frontendu i DevOpsa, a dodatkowo termin ma znaczenie (np. data targów branżowych), software house daje większą szansę utrzymania rytmu pracy.

Czy potrzebujesz „rąk do kodowania”, czy partnera technologicznego

Wielu założycieli startupów podświadomie czuje, że nie potrzebuje tylko kogoś, kto „napisze kod”. Potrzebują kogoś, kto wesprze ich w decyzjach produktowo-technicznych: podpowie, co wyciąć z MVP, jak uprościć przepływy, które funkcje są krytyczne, a które można zrobić ręcznie w pierwszej fazie.

Jeżeli masz mocne kompetencje produktowe lub technicznego współzałożyciela, możesz szukać głównie „rąk do kodowania”. Zadbasz o backlog, priorytety, a wykonawca skupi się na implementacji. Jeśli jednak jesteś solo founderem lub zespół jest nietechniczny, lepsza będzie współpraca z kimś, kto umie przełożyć twoją wizję na roadmapę techniczną, a później ją dowozić.

Podczas rozmów rekrutacyjnych możesz to wprost zakomunikować: „Potrzebuję od was nie tylko kodu, ale też wsparcia w decyzjach, co naprawdę powinno znaleźć się w MVP”. Obserwuj reakcję. Zespół, który się tym zajmuje na co dzień, zacznie dopytywać o model biznesowy, persony użytkowników, kanały sprzedaży. Ktoś, kto chce tylko „klepać taski”, szybko wróci do listy funkcji i wyceny godzinowej.

Skutki braku jasności po stronie foundera

Niejasność po twojej stronie często kończy się spięciami z wykonawcą. Jeśli na starcie nie powiesz, że projekt ma się przerodzić w wieloletni produkt, wykonawca nie zaplanuje architektury i procesów pod taką skalę. Jeśli nie przemyślisz, jak będziesz testować hipotezy biznesowe, możesz oczekiwać „szybkich zmian”, a zespół technologiczny będzie się bronił, bo każda zmiana rozwala im plan sprintu.

Brak jasno opisanych priorytetów sprawia, że wszystko wydaje się „mega ważne”. Zespół realizuje długą listę feature’ów, ale nikt nie wie, które z nich rzeczywiście przybliżają cię do przychodów lub kolejnej rundy finansowania. Wykonawca czuje, że ciągle gasi pożary i robi zmiany „z tygodnia na tydzień”. Ty masz poczucie, że „przepalasz budżet”.

Dlatego spisanie kilku stron prostego dokumentu – co jest celem MVP, jakie są trzy główne wskaźniki sukcesu, jakie funkcje są „must have”, a jakie „nice to have” – już na etapie szukania wykonawcy mocno zmniejsza ryzyko takich napięć. Ten dokument nie musi być techniczny, ma być zrozumiały biznesowo i spójny.

Gdzie szukać kandydatów i jak zrobić pierwszą selekcję

Miejsca, w których najlepiej szukać freelancerów i software house’ów

Dobry wykonawca rzadko spada z nieba, ale są miejsca, gdzie szanse na sensowne kontakty rosną. Najlepszym źródłem są polecenia z sieci innych founderów – osób, które już przeszły drogę od pomysłu do działającego produktu. Warto pokazać się na lokalnych meetupach startupowych, w inkubatorach, akceleratorach czy coworkingach. Często w jednym budynku masz kilku founderów, którzy mogą szczerze opowiedzieć o swoich doświadczeniach z różnymi zespołami IT.

Drugim kanałem są społeczności online: grupy na LinkedIn, Slacki branżowe, fora startupowe. Zamiast wrzucać ogólnikowe ogłoszenie „szukam programisty”, lepiej opisać krótko produkt, etap, zakres pracy i typ współpracy (MVP, dalszy rozwój, stała współpraca). Takie posty przyciągają ludzi, którym temat naprawdę pasuje.

Platformy freelancerskie (Upwork, Useme, Fiverr i inne) dają dostęp do dużej bazy, ale wymagają silniejszej filtracji. Sensownie jest traktować je jako miejsce do znalezienia kilku kandydatów do krótkiej listy, a nie jedyne źródło. W przypadku software house’ów dochodzą katalogi i rankingi (np. Clutch), ale tam również trzeba oddzielić marketing od realnych case’ów.

Jak filtrować zgłoszenia i nie utonąć w ofertach

Kiedy ogłoszenie pójdzie w świat, przychodzi fala zgłoszeń. Łatwo wtedy wpaść w chaos i rozmawiać z każdym, kto się odezwie. Zamiast tego przygotuj prosty filtr wstępny, który odsieje większość przypadkowych kandydatów, zanim jeszcze wejdziesz na call.

Dobrym krokiem jest krótkie zadanie „przedrozmowowe”. Nie chodzi o darmową pracę, ale sprawdzenie, kto naprawdę czyta opis i rozumie kontekst. Możesz poprosić, żeby w odpowiedzi kandydat:

  • krótko podsumował, jak on rozumie twój produkt i główny cel MVP,
  • podał 2–3 projekty najbardziej zbliżone do twojego (z linkami lub screenami),
  • napisał, jak zwykle wygląda start współpracy w jego przypadku (1–2 akapity).

Już po tym widać bardzo dużo. Część osób wyśle szablonową odpowiedź bez odniesienia do twojego pomysłu – spokojnie możesz je pominąć. Zostaną ci ci, którzy włożyli minimalny wysiłek w zrozumienie, w co się pakują.

Na tym etapie nie analizuj jeszcze stawek godzinowych „co do złotówki”. Skup się na tym, czy ktoś umie jasno pisać, czy jest konkretny, czy zadaje pytania zamiast obiecywać wszystko wszystkim. To dobry prognostyk na dalszą współpracę.

Jak ułożyć pierwszą rozmowę z kandydatem

Rozmowa kwalifikacyjna z freelancerem czy software house’em nie musi być technicznym przesłuchaniem. Twoim celem jest sprawdzenie dopasowania: czy rozumieją biznes, czy komunikują się klarownie, czy mają rozsądne podejście do ryzyka i zmian.

Pomaga prosty szkielet rozmowy:

  1. Krótko o twoim produkcie i etapie – 5–10 minut, bez pitch decka na pół godziny.
  2. Pytania o doświadczenie w podobnych projektach – konkretnie: „Czy robiliście już coś dla branży X / typu marketplace / SaaS B2B?”.
  3. Pytania o sposób pracy – jak planują sprinty, jak raportują, jak reagują na nagłe zmiany priorytetów.
  4. Mini-symulacja – prosta hipotetyczna sytuacja (np. „po 6 tygodniach zmieniamy kluczową funkcję”), żeby zobaczyć, jak o tym myślą.
  5. Ich pytania do ciebie – to, o co pytają, mówi dużo o tym, na czym im zależy.

Jeśli ktoś przez całe 45 minut mówi głównie o technologiach, frameworkach i strukturze bazy danych, a prawie wcale nie dopytuje o model biznesowy czy użytkowników, raczej będzie wykonawcą „tasków” niż partnerem. Nie jest to złe – pytanie tylko, czego ty w tym momencie potrzebujesz.

Programista analizuje kod na tablecie w nowoczesnym biurze startupu
Źródło: Pexels | Autor: Jakub Zerdzicki

Jak czytać portfolio i referencje, gdy nie jesteś techniczny

Na co patrzeć w portfolio poza „ładnymi ekranami”

Portfolio łatwo jest „podrasować” wizualnie. Jako founder szukasz jednak czegoś więcej niż ładny UI. Przeglądając case’y, spróbuj znaleźć odpowiedzi na kilka pytań:

  • Co dokładnie robili w projekcie? Czy byli odpowiedzialni tylko za frontend, czy za cały produkt: od analizy po wdrożenie?
  • Jak długo trwała współpraca? Pojedynczy projekt na 2 miesiące to coś innego niż 2–3 lata rozwijania produkcyjnego systemu.
  • Czy są produkty, które faktycznie żyją na rynku? Możesz wejść na stronę, założyć konto, zobaczyć, jak działa aplikacja.
  • Czy projekty są choć trochę zbliżone do twojego modelu? Jeśli robisz B2B SaaS, a portfolio to głównie proste strony firmowe, oczekiwania trzeba będzie mocno skalibrować.

Nie przejmuj się, jeśli nie rozumiesz wszystkich technicznych skrótów. Zwróć uwagę, czy opisy case’ów są osadzone w realnym kontekście biznesowym: jaki był cel klienta, jakie problemy rozwiązali, jak mierzyli sukces. To odróżnia wykonawców, którzy myślą produktowo, od tych, którzy skupiają się wyłącznie na kodzie.

Jak weryfikować, czy projekty z portfolio są prawdziwe

Naturalne jest pytanie, skąd masz wiedzieć, że wykonawca faktycznie robił to, czym się chwali. Najprostsza metoda: wejść na działające produkty i poszukać spójności z tym, co słyszysz na rozmowie.

Możesz też zadać kilka prostych pytań o jeden z projektów z portfolio:

  • Jak wyglądał punkt startowy – czy wchodzili w istniejący kod, czy budowali od zera?
  • Jakie były największe wyzwania po drodze i jak je rozwiązali?
  • Co działo się po MVP – czy były kolejne iteracje, pivot, zmiana modelu?

Osoba, która faktycznie pracowała przy projekcie, będzie mówiła o konkretnych sytuacjach, decyzjach, kompromisach. Ktoś, kto tylko „podpiął się” pod cudzą realizację, zwykle operuje ogólnikami i wraca do bezpiecznych haseł o „nowoczesnej architekturze” i „elastycznym stacku”.

Rozmowa z byłymi klientami – jak pytać, żeby dostać szczere odpowiedzi

Dobre software house’y i doświadczeni freelancerzy chętnie podają kontakty do kilku klientów, z którymi nadal mają dobre relacje. Z takiej rozmowy możesz wyciągnąć więcej niż z niejednego oficjalnego case study.

Podczas rozmowy z byłym klientem nie pytaj wprost: „Czy poleciłbyś X?”. Większość ludzi z grzeczności powie „tak”. Skup się raczej na konkretnych sytuacjach:

  • Jak wyglądał start współpracy – czy na początku coś zgrzytało, czy raczej poszło gładko?
  • Jak zespół reagował na opóźnienia lub nieprzewidziane problemy?
  • Czy budżet i terminy były raczej dotrzymywane, czy często „pływały”?
  • Jak radzili sobie z komunikacją i raportowaniem?
  • Gdybyś miał/a dziś zaczynać projekt od nowa – co byś zrobił/a inaczej w tej współpracy?

Takie pytania otwierają przestrzeń na niuanse: co działało świetnie, a co było trudne, ale do ogarnięcia. To dużo bardziej użyteczne niż binarne „dobry/zły wykonawca”.

Sprawdzenie umiejętności technicznych bez bycia programistą

Prosty przegląd kodu z pomocą zewnętrznego specjalisty

Jeśli planujesz poważniejszą współpracę, opłaca się zainwestować w krótką konsultację z niezależnym seniorem lub architektem. Nie musi to być osoba, która później przejmie projekt. Wystarczy kilka godzin, żeby zrobiła szybki code review lub oceniła plan architektury.

Taki specjalista może:

  • sprawdzić przykładowe repozytoria lub fragmenty kodu, który wykonawca może pokazać,
  • zajrzeć w propozycję stacku technologicznego i ostrzec przed egzotycznymi wyborami bez uzasadnienia,
  • zadać wykonawcy 2–3 techniczne pytania na spotkaniu, ty zaś możesz skupić się na warstwie biznesowej.

Dla ciebie to jest koszt jednego, dwóch dni konsultacji, a zyskujesz znacznie większą pewność, że ktoś z technicznym okiem obejrzał to, czego sam nie oceniasz.

Testowy mini-projekt zamiast „suchego” zadania

Zamiast prosić o teoretyczne zadania rekrutacyjne, lepiej zlecić mały, dobrze ograniczony fragment rzeczywistego produktu. Na przykład:

  • prosty moduł rejestracji i logowania z wysyłką maila,
  • prototyp jednego kluczowego ekranu w wersji klikalnej (Figma, InVision),
  • integrację z jedną z twoich zewnętrznych usług (np. bramką płatniczą).

Możesz umówić się na płatne zadanie o zakresie 1–2 tygodni. Obserwujesz wtedy nie tylko efekt końcowy, ale też:

  • jak planują pracę (czy od razu skaczą w kod, czy dopytują o szczegóły),
  • jak komunikują problemy i niejasności,
  • czy pokazują progres w trakcie, czy znika­ją na 10 dni i wracają z „gotowcem”.

Nawet jeśli później nie zdecydujesz się na danego wykonawcę, ten moduł może zostać wykorzystany lub przepisany przez kolejny zespół, więc nie jest to praca „do kosza”.

Jak rozmawiać o technologiach, gdy nie znasz stacków

Jeśli nie programujesz, rozmowa o technologiach bywa stresująca. Możesz jednak podejść do tego zdroworozsądkowo, bez udawania eksperta. Zamiast pytać „czy Node czy Python”, zapytaj:

  • Dlaczego proponujecie akurat ten stack techniczny dla mojego przypadku?
  • Jakie są plusy i minusy tego wyboru dla produktu, który ma rosnąć przez najbliższe 2–3 lata?
  • Jak łatwo będzie znaleźć innych developerów w tej technologii, jeśli będę chciał/a rozbudować zespół?
  • Jakie znacie alternatywy i dlaczego je odrzucacie?

Nie musisz rozumieć szczegółów. Słuchaj, czy odpowiedzi są spokojne, konkretne, oparte na doświadczeniu („u klienta X mieliśmy podobny problem, zrobiliśmy Y”), czy bardziej przypominają marketing konkretnego frameworka. Zbyt kategoryczne stwierdzenia „to jedyna słuszna technologia” powinny zapalić lampkę ostrzegawczą.

Czerwone flagi w zachowaniu technicznym, widoczne nawet dla laika

Nawet bez wiedzy technicznej można wyłapać pewne sygnały ostrzegawcze. Zwróć uwagę na sytuacje, gdy:

  • każde pytanie o ryzyka i ograniczenia kończy się zapewnieniem, że „nie ma problemu” i „wszystko się zrobi”,
  • kandydat nie potrafi powiedzieć, czego nie umie albo w czym nie ma doświadczenia,
  • pojawia się niechęć do jakiejkolwiek zewnętrznej weryfikacji (np. konsultacja z twoim doradcą technicznym),
  • proponują bardzo egzotyczny stack bez jasnego powodu („bo jest nowy i szybki”),
  • nie chcą mówić o tym, jak zabezpieczają kod, dane, dostęp do repozytoriów.

Jedna czerwona flaga nie przekreśla współpracy, ale jeśli zbiera ich się kilka, lepiej dopytać lub spokojnie rozejrzeć się za inną opcją.

Ocena sposobu pracy: procesy, komunikacja, odpowiedzialność

Jak wygląda ich typowy dzień i tydzień pracy nad projektem

Proces pracy to coś, co bezpośrednio odczujesz na co dzień. Podczas rozmowy poproś, aby wykonawca opisał krok po kroku, jak wygląda typowy tydzień pracy z klientem na twoim etapie rozwoju produktu.

Dopytaj o konkretne elementy:

  • kto będzie twoją główną osobą kontaktową i jak często będziecie rozmawiać,
  • jak planują sprinty (jeśli pracują „zwinne”) – czy potrafią wytłumaczyć to prostym językiem,
  • w jaki sposób pokazują postępy (demo, staging, nagrania wideo, raporty),
  • co dzieje się, jeśli nie zdążą z częścią zadań – jak to komunikują i co przestawiają.

Nie chodzi o to, żeby proces był „książkowy”, tylko żeby był świadomy i powtarzalny. Zespół, który nie potrafi opowiedzieć o swoim sposobie pracy, raczej będzie działał chaotycznie, a to ty będziesz gasić pożary.

Standardy komunikacji – co ustalić na starcie

Spora część frustracji w projektach IT wynika z tego, że nikt nie doprecyzował kanałów i rytmu komunikacji. Możesz uciąć większość problemów, zadając parę prostych pytań jeszcze przed podpisaniem umowy:

  • Jak szybko zwykle odpowiadacie na wiadomości (Slack, mail) w dni robocze?
  • Czy ktoś monitoruje komunikację w określonych godzinach (np. 9–17), czy macie „silent hours”?
  • Jak raportujecie postęp: raz w tygodniu, częściej, w jakiej formie?
  • Co robimy, jeśli po mojej stronie pojawi się blokada (brak decyzji, brak materiałów) – jak to wpływa na sprint?

Dobry wykonawca od razu doda swoje doświadczenia: np. zaproponuje stały dzień tygodnia na review, określi, jakie tematy są na Slacku, a jakie w taskach, wyjaśni, jak uniknąć „mikrozarządzania”. To sygnał, że ma za sobą wiele podobnych współprac i wyciągnął z nich wnioski.

Przejrzystość finansowa i podejście do budżetu

Model rozliczeń (time&material, fixed price, retainer) to jedno, ale równie ważne jest, jak zespół rozmawia o pieniądzach na co dzień. Zwróć uwagę na to, czy:

  • pokazują szacunkową strukturę budżetu (ile idzie na development, ile na QA, ile na PM),
  • mówią otwarcie, co robią, gdy w trakcie wychodzą nieprzewidziane zadania,
  • są w stanie zaproponować wersję MVP „na twoją kieszeń”, jasno odcinając rzeczy, które można przesunąć na później.

Jeśli już w pierwszych rozmowach słyszysz głównie „jakoś to rozliczymy” lub spotykasz się z presją, żeby od razu podpisywać duży, długoterminowy kontrakt bez możliwości przystanku po MVP, zachowaj czujność. Przejrzystość finansowa to też element odpowiedzialności.

Podział odpowiedzialności: co po której stronie

W wielu projektach IT granica odpowiedzialności między founderem a wykonawcą jest rozmyta. Jedna strona zakłada, że „to oczywiste”, że ktoś się czymś zajmie, druga ma zupełnie inne wyobrażenie. Zanim zaczniecie kodować, ustalcie wprost:

Kontrakt, zakres i odpowiedzialność biznesowa

Umowa nie jest formalnością „dla prawników”. To wasza instrukcja obsługi współpracy na gorsze dni. Zanim podpiszesz cokolwiek, przejdź przez nią wspólnie z wykonawcą linijka po linijce i zamień ogólne hasła na konkret.

Przy kluczowych punktach zadaj pytania wprost:

  • co dokładnie rozumiemy jako zakres MVP – które ekrany, funkcje, integracje,
  • kto odpowiada za specyfikację biznesową (user stories, makiety, priorytety),
  • kto dba o zgodność z prawem po stronie biznesu (RODO, regulaminy, zgody marketingowe),
  • kto przygotowuje i utrzymuje infrastrukturę (konto w chmurze, domeny, certyfikaty SSL).

Startup często zakłada, że „software house pewnie się tym zajmie”, a software house – że „biznes przyjdzie z gotowymi decyzjami”. Kilka prostych doprecyzowań w kontrakcie oszczędza tygodnie nerwów. Jeśli czegoś nie rozumiesz, poproś o wersję „po ludzku” i dopiero wtedy wpisanie tego w język prawniczy.

Własność kodu, dostępy i zabezpieczenie ciągłości prac

Techniczna jakość współpracy ma niewielkie znaczenie, jeśli nie kontrolujesz tego, co powstaje. W umowie i praktyce codziennej dopilnuj trzech obszarów: własności, dostępów i planu awaryjnego.

Najpierw własność. Ustal, że:

  • kod w repozytorium od określonego momentu jest twoją własnością (przeniesienie autorskich praw majątkowych lub odpowiednia licencja),
  • wszystkie konta w chmurze, w których działają środowiska produkcyjne, są założone na dane twojej spółki, a wykonawca ma do nich dostęp jako gość,
  • wykonawca nie może używać twojego kodu w innych projektach bez pisemnej zgody.

Następnie dostępy. Zadbaj, żeby:

  • repozytoria na GitHubie/GitLabie były założone przez ciebie lub twoją spółkę,
  • przynajmniej jedna osoba po twojej stronie miała administratorskie dostępy do narzędzi (kod, backlog, monitoring),
  • w umowie pojawił się obowiązek przekazania pełnej dokumentacji i haseł na żądanie.

Na koniec plan awaryjny. Nie chodzi o czarnowidztwo, tylko o spokój. Ustal:

  • jak długo wykonawca zobowiązuje się wspierać przekazanie projektu, jeśli zakończycie współpracę,
  • w jakiej formie dostaniesz dokumentację: architektura, infrastruktura, instrukcje deployu,
  • czy w razie nagłego zakończenia kontraktu możesz liczyć na krótki okres „podtrzymania” (np. reakcja na krytyczne bugi).

Dzięki temu nawet jeśli z różnych powodów drogi się rozejdą, nie zostajesz z „czarną skrzynką”, której nikt nowy nie potrafi uruchomić.

Jak reagują na zmiany wymagań – test elastyczności

W startupie jedno jest pewne: coś się zmieni. Jeśli wykonawca obiecuje, że „zabetonuje” zakres i już nic nie będzie ruszane, raczej broni własnej wygody niż twojego interesu.

Podczas rozmów opisz realny scenariusz: po pierwszych testach z użytkownikami okazuje się, że trzeba zmienić połowę przepływu rejestracji. Zobacz, jak reagują:

  • czy od razu mówią, że „nie da się, bo zakres”, czy raczej pytają, jak ważna biznesowo jest ta zmiana,
  • czy mają procedurę zmiany zakresu – np. krótkie oszacowanie, co wypada z backlogu, a co wchodzi w zamian,
  • czy potrafią zaproponować kompromisowe rozwiązania: wersję uproszczoną teraz, pełną później.

Elastyczność nie oznacza robienia „wszystkiego na jutro”. Dojrzały zespół zna swoje ograniczenia, umie powiedzieć „tak, ale” i wspólnie z tobą ustalić, jak nie rozwalić projektu przy każdej zmianie pomysłu.

Jak rozwiązywane są konflikty i nieporozumienia

Nawet przy najlepszej woli po obu stronach zdarzają się tarcia: inna interpretacja funkcji, spór o priorytety, rozjazd w oczekiwaniach co do jakości. Kluczowe jest nie tyle to, czy konflikt się pojawi, ale jak będzie obsłużony.

Zapytaj wykonawcę o przykłady trudnych sytuacji z poprzednich projektów:

  • kiedy ostatnio klient był niezadowolony – co poszło nie tak i jak to poukładali,
  • jak reagują, gdy coś zawalą po swojej stronie: czy mieli sytuacje, gdy pracowali „na własny koszt”, żeby coś naprawić,
  • czy w umowie istnieje procedura eskalacji – np. spotkanie zarządów, mediacja, jasny tryb zakończenia współpracy.

Jeśli na każde pytanie o trudności słyszysz tylko „u nas nie ma problemów”, to raczej brak samoświadomości niż dowód perfekcji. Dojrzały zespół potrafi otwarcie mówić także o wpadkach i wnioskach.

Onboarding po twojej stronie – jak przygotować się na start współpracy

Nawet najlepszy wykonawca nie nadrobi chaosu po stronie startupu. Dobrze przygotowany start projektu to coś, na co masz pełny wpływ. Zadbaj o podstawy, zanim pierwszy commit trafi do repozytorium.

Minimalny „pakiet startowy”, który możesz przygotować nawet bez wiedzy technicznej:

  • krótki one-pager produktu: dla kogo, jaki problem rozwiązuje, jak zarabia,
  • lista 3–5 głównych scenariuszy użytkownika („nowy klient rejestruje się i kupuje X”, „wracający klient zmienia abonament”),
  • prosta mapa ekranów – choćby w PowerPoint/Keynote, z prostymi polami i strzałkami,
  • priorytety: co musi być w MVP, co jest „fajnie mieć”, a co odkładasz na później.

Dodatkowo ustal wewnętrznie, kto po twojej stronie:

  • będzie główną osobą decyzyjną w sprawach produktu (żeby uniknąć sprzecznych sygnałów),
  • zatwierdza kluczowe decyzje (np. zmiany zakresu, dodatkowe koszty),
  • pilnuje terminowego feedbacku na demo i testy.

Dzięki temu software house nie będzie co tydzień słyszał innej wizji produktu, a ty nie utkniesz w roli „wąskiego gardła”, które nie nadąża z podejmowaniem decyzji.

Jak rozpoznać „partnera produktu”, a nie tylko „fabrykę ticketów”

W przypadku startupu sam „zespół do klepania zadań” zwykle nie wystarcza. Przydaje się partner, który nie tylko wykonuje polecenia, ale też myśli o produkcie razem z tobą. Nie chodzi o to, żeby za ciebie decydował, tylko rzucał argumentami, gdy idziesz w ślepy zaułek.

W trakcie rozmów zwróć uwagę na kilka sygnałów:

  • czy zadają pytania o model biznesowy i użytkowników, czy tylko o listę funkcji,
  • czy potrafią powiedzieć „to rozwiązanie jest ryzykowne” i zaproponować tańszy eksperyment zamiast pełnej implementacji,
  • czy mówią o miernikach sukcesu (np. aktywacja użytkowników, konwersja), a nie wyłącznie o „oddaniu zakresu”,
  • czy pokazują konkretne przykłady, jak wspierali inne startupy w podejmowaniu decyzji produktowych.

Jeśli rozmowa kręci się wyłącznie wokół technologii, frameworków i godzin, możesz dostać świetnie zakodowaną funkcję, której nikt nie będzie używał. Współpraca, w której druga strona zadaje ci trudne pytania o produkt, bywa mniej wygodna na co dzień, ale na dłuższą metę oszczędza pieniądze.

Balans między kontrolą a zaufaniem

Wielu founderów ma z tyłu głowy lęk: „Jak dam im za dużo swobody, to odjadą z budżetem i zakresem”. Z drugiej strony mikrozarządzanie zabija efektywność i wypala obie strony. Dobrym rozwiązaniem jest kilka prostych mechanizmów kontrolnych, które działają „w tle”.

Przykładowe techniki, które pomagają zachować równowagę:

  • regularne demo – raz na 1–2 tygodnie oglądasz działającą aplikację, nie tylko slajdy,
  • transparentny backlog – masz stały podgląd do tablicy zadań (Jira, Trello, Linear) i możesz zobaczyć, nad czym zespół pracuje,
  • prosty raport czasowy – przy rozliczeniu godzinowym otrzymujesz czytelne zestawienie: co, kto, ile, po co,
  • kamienie milowe – w kontrakcie są zdefiniowane logiczne etapy (MVP, beta, produkcja) powiązane z płatnościami.

Jeśli te elementy działają, nie musisz codziennie sprawdzać, co ktoś robi. Zamiast tego skupiasz się na decyzjach produktowych i rozmowach z klientami, a kontrola jakości współpracy jest „wbudowana” w proces.

Dług technologiczny – jak o nim rozmawiać z wykonawcą

Każdy produkt ma jakiś dług technologiczny. Nie jest on złem samym w sobie, o ile jest świadomie zarządzany. Problem zaczyna się wtedy, gdy nikt go nie nazywa, a po kilku miesiącach kolejna zmiana zajmuje tygodnie, bo „pod spodem jest bałagan”.

Zapytaj wprost, jak podchodzą do długu technicznego:

  • czy w planie sprintów przewidują czas na refaktoryzację i porządki,
  • czy są w stanie jasno pokazać, które skróty biorą na siebie w MVP i jak je później spłacą,
  • czy potrafią po ludzku wyjaśnić konsekwencje typu: „zrobimy to szybciej, ale później zmiana będzie droższa”.

Dobry znak: gdy wykonawca sam proponuje proste oznaczenia w backlogu (np. tag „dług tech”) i raz na jakiś czas przegląd „co nas może ugryźć za 3–6 miesięcy”. Dzięki temu nie budujesz produktu na piasku, tylko na fundamencie, którego ograniczenia znasz i akceptujesz.

Doświadczenie w pracy z wczesnym etapem vs. korporacjami

Nie każdy świetny software house będzie dobrym partnerem dla startupu. Zespół przyzwyczajony do korporacyjnych projektów może mieć zupełnie inną dynamikę: długie analizy, rozbudowana dokumentacja, duża awersja do ryzyka. Ty potrzebujesz raczej kogoś, kto umie szybko testować hipotezy i akceptuje niepełne dane.

Podczas rozmów zapytaj o proporcje:

  • z iloma startupami na wczesnym etapie pracowali w ostatnich latach,
  • czy mają przykłady projektów, gdzie zaczynali od zupełnie „zielonej kartki”, a nie tylko od rozbudowy istniejącego systemu,
  • jak radzą sobie z sytuacjami, w których brakuje pełnych wymagań – co robią krok po kroku.

Zespół, który zna realia wczesnego etapu, nie będzie się obrażał na zmiany kierunku ani wymagał od ciebie 200-stronicowej specyfikacji przed pierwszą linijką kodu. Zamiast tego pomoże ci zamienić mglistą wizję w pierwszy, sensowny eksperyment.

Najczęściej zadawane pytania (FAQ)

Jak sprawdzić freelancera lub software house przed rozpoczęciem współpracy?

Na początek poproś o konkretne przykłady projektów podobnych do twojego: SaaS, marketplace, aplikacja mobilna. Zwróć uwagę, czy potrafią opowiedzieć, jak podeszli do architektury, skalowalności i utrzymania, a nie tylko pokazać ładne ekrany. Dopytaj, jakie technologie stosują na co dzień i dlaczego, oraz czy są w stanie zaproponować alternatywy.

Dobrym testem jest też rozmowa o procesie pracy: w jaki sposób prowadzą sprinty, kto odpowiada za komunikację, jak wygląda przekazywanie kodu i dostępów. Profesjonalny wykonawca bez oporu pokaże fragmenty kodu (oczywiście bez wrażliwych danych), opisze pipeline CI/CD i wskaże, jak zabezpiecza projekty.

Jakie pytania zadać wykonawcy, żeby nie zostać „zakładnikiem” własnego produktu?

Kluczowe są pytania o dostęp i własność: w czyim repozytorium będzie kod (idealem jest twoje), kto zakłada konta w chmurze i narzędziach (lepiej, by należały do ciebie) oraz jak i kiedy kod będzie przekazywany. Zapytaj wprost, co się dzieje z kodem, gdy zdecydujesz się zakończyć współpracę.

Dopytaj też o kwestie organizacyjne:

  • jak często będą robić backupy i gdzie są przechowywane,
  • kto ma dostęp do produkcji i jak to jest logowane,
  • czy umowa jasno reguluje przeniesienie majątkowych praw autorskich i dostępu do infrastruktury.

Jeśli wykonawca zaczyna kluczyć lub zbywać te tematy ogólnikami, to wyraźny sygnał ostrzegawczy.

Po czym poznać, że ktoś nadaje się na długofalowego partnera technologicznego, a nie tylko do jednorazowego zlecenia?

Partner technologiczny myśli dalej niż do pierwszego releasu. Zainteresuje się twoim modelem biznesowym, zapyta o plany rozwoju, branżę, regulacje i sposób monetyzacji. Będzie umiał zaproponować roadmapę: MVP, kolejne iteracje, potencjalne pivoty i momenty, kiedy trzeba będzie „porządkować” architekturę.

Zwróć uwagę, czy w rozmowie pojawiają się tematy testów, monitoringu, bezpieczeństwa i dokumentacji. Jeśli cały fokus jest tylko na „zrobieniu wersji na demo dla inwestora”, a nie ma żadnego planu, co dalej z kodem, to raczej profil „zadaniowy”, a nie partnerski.

Czy lepiej wybrać freelancera czy software house do kodu mojego startupu?

Freelancer sprawdza się, gdy projekt jest wąski, jasno zdefiniowany i masz w planie późniejsze przejęcie przez własny zespół. Zyskujesz zwykle niższy koszt i prostszą komunikację, ale ryzykujesz „wąskim gardłem” jednej osoby oraz brakiem pełnego zakresu kompetencji (np. devops, UX, bezpieczeństwo).

Software house ma przewagę, gdy potrzebujesz zespołu o różnych kompetencjach i długofalowego wsparcia. Minusem jest wyższa stawka i potencjalne „odklejenie” od twojego biznesu, jeśli nie zadbasz o dobrą komunikację. Niezależnie od wyboru, fundamentem jest to samo: jasna umowa, dostęp do kodu i infrastruktury oraz wspólne zrozumienie, że to produkt, a nie tylko „stronka”.

Jak upewnić się, że wykonawca nie wybierze egzotycznej technologii, która mnie zablokuje?

Zanim zaakceptujesz stos technologiczny, poproś o wyjaśnienie, dlaczego proponują właśnie te technologie i jakie są alternatywy. Zapytaj, ilu developerów z takim stackiem można realnie znaleźć na rynku oraz czy w razie czego inny zespół bez problemu przejmie projekt. Dobrym krokiem jest konsultacja tej decyzji z niezależnym ekspertem technicznym, nawet na krótkim, płatnym callu.

W umowie możesz dodać zapis, że wybór technologii ma być uzasadniony dostępnością specjalistów i kosztami utrzymania, a nie wyłącznie preferencjami wykonawcy. Sam fakt, że jesteś o to świadomie pytasz, często studzi zapędy do „egzotycznych” rozwiązań.

Jak zabezpieczyć własność kodu i pomysłu przy współpracy z freelancerem lub software house’em?

Podstawą jest dobrze napisana umowa: przeniesienie majątkowych praw autorskich do kodu (najlepiej etapami, wraz z płatnościami), klauzule poufności (NDA) oraz jasne zasady korzystania z zewnętrznych bibliotek i komponentów. Zadbaj, by umowa obejmowała zarówno kod, jak i dokumentację, konfiguracje serwerów czy skrypty wdrożeniowe.

Drugi filar to organizacja pracy: repozytorium na twoim koncie (np. GitHub, GitLab), dostępy do chmury i narzędzi zakładane na twoją firmę oraz regularne merges do głównej gałęzi. Dzięki temu nawet w razie nagłego zakończenia współpracy masz pełny, aktualny stan projektu u siebie, a nie „gdzieś u wykonawcy”.

Po czym poznam, że obecny wykonawca już teraz blokuje rozwój mojego startupu?

Najczęstsze sygnały: każda zmiana trwa tygodniami, „prosta poprawka” rozwala pół aplikacji, bugi wracają jak bumerang, a na pytania o architekturę i testy słyszysz tylko, że „przecież działa”. Jeśli dodatkowo nie masz stałego wglądu w repozytorium, a deploye są robione „ręcznie” na produkcję, ryzyko rośnie.

W takiej sytuacji dobrym krokiem jest niezależny audyt kodu i infrastruktury. Krótka, zewnętrzna ocena pokaże, czy da się projekt uporządkować etapowo, czy uczciwiej będzie zaplanować przepisanie kluczowych modułów. Ważne, by decyzję podjąć świadomie, zanim produkt złapie większą trakcję i koszty zmian eksplodują.