outsourcing programistyczny

Body leasing


Body leasing jest świetnym sposobem na szybkie uzyskanie zasobów ludzkich w IT bez konieczności tworzenia lub rozbudowy struktur firmy.

Zalety body leasingu

czas

Szybki start

Ruszamy z projektem w maksymalnie 2 tygodnie.

zakres

Szeroki zakres kompetencji

Dopasujemy zespół do potrzeb projektu - Ruby, .Net, Java, Javascript, Python, React Native, Node.js, Angular, Perl, Visual Basic, Golang, C++ czy C# to dla nas drobnostka.

obsługa

Kompleksowa obsługa

Nie tylko programujemy - zapewniamy też konsulting, projekty UX/UI, utrzymanie (SLA), serwery i hosting. Możemy powiększyć zespół o specjalistów od innych technologii.

Robimy trudne projekty

Dajemy radę tam, gdzie inne zespoły poległy. Dla nas to nie problem, a wyzwanie.

kalendarz

Zapewniamy ciągłość pracy

Uzupełniamy skład zespołu w sytuacjach losowych. Stale dbamy o duplikację wiedzy w prowadzonym projekcie. Bierzemy na siebie koszty doszkolenia nowych członków zespołu.

umowa

Elastyczna umowa ramowa

Umowa upoważnia klienta do składania zamówień. Klient określa tylko wymiar godzinowy zakontraktowania i czas objęty zamówieniem.




Pozyskanie programistów od profesjonalnego dostawcy body leasingu umożliwia błyskawiczny dostęp do najlepszych specjalistów bez ponoszenia kosztów związanych z rekrutacją. Co więcej, programiści kontraktowani są jedynie na czas, w którym są potrzebni, a poważna firma body leasingowa bez problemów wymieni programistę na innego, jeśli zmieni się wachlarz wykorzystywanych technologii.

Wyceń projekt >

NowaLed

Stworzyliśmy aplikację desktopową WPF do zarządzania sterownikiem oświetlenia przemysłowego


"Są świetnie zorganizowani i dostarczają szczegółowe raporty na każdym etapie prac."

~Szymon Duch
Inżynier ds. Systemów Sterowania Oświetleniem
NowaLed ILL Sp. z o.o.


Nasi Klienci


Body leasing IT - jak to robimy w ImpiCode

Proces

  1. Podpisujemy wygodną umowę ramową, która pozwala na składanie zamówień na programistów.
  2. Klient określa wielkość zapotrzebowania i czas objęty zamówieniem (przy dłuższych terminach rabaty).
  3. Przydzielamy kierownika projektu, który pierwszy wchodzi w temat i koordynuje prace.
  4. Kierownik dobiera zespół w zależności od bieżących potrzeb.
  5. W trakcie prac możemy elastycznie dopasowywać skład i wielkość zespołu, aby odpowiadać na zmienne potrzeby.
  6. Na koniec każdego miesiąca przesyłamy szczegółowe rozliczenie godzinowe ze zrealizowanych prac.

Wycena

Wycena zależy od takich czynników jak:

  • rodzaj projektu,
  • wachlarz użytych technologii,
  • czas realizacji zamówienia,
  • rozmiar zapotrzebowania.

Organizacja pracy

Umowa i zamówienia

Na początku podpisujemy z Klientem umowę ramową regulującą zasady współpracy. Wśród nich najważniejsza jest możliwość składania zamówień na prace programistyczne. Klient zyskuje możliwość składania zarówno zamówień długoterminowych jak i zleceń jednorazowych na pakiety godzin pracy programisty.

W przypadku zamówień długoterminowych zdarzają się sytuacje, że Klient nie wykorzysta w danym miesiącu wszystkich godzin. Bywa także tak, że prosi nas, by w danym okresie wrzucić w projekt większe siły. W takich przypadkach oczywiście staramy się wyjść naprzeciw jego potrzebom. Różnice między godzinami zamówionymi na dany okres, a godzinami wykorzystanymi rozliczamy w kolejnym okresie.

Przykłady zamówień
Klient może zamówić u nas 160h czy 320h pracy programistów. W niektórych przypadkach możliwe jest także zamówienie mniejszej liczby godzin, np. 80h. Zamówienia nie muszą być jednorazowe, ale mogą obejmować wiele kolejnych miesięcy, np. 320h pracy programistów na miesiąc przez okres jednego roku.

Szacowania

W bieżącej pracy posługujemy się szacowaniami pracochłonności całego projektu oraz poszczególnych zadań. Oczywiście w nowym projekcie oszacowania mogą być bardzo niedokładne, ale wraz z poznawaniem projektu i oczekiwań Klienta nabierają precyzji. Szacowaniami posługujemy się nie tylko dla Klienta, ale również  na własny użytek, aby lepiej kontrolować postępy realizacji.

Timesheet

Na zakończenie każdego miesiąca przesyłamy Klientowi szczegółowe zestawienie prac. Timesheet obejmuje dokładny czas realizacji poszczególnych czynności przez wszystkich członków zespołu projektowego, z podziałem na poszczególne zadania oraz krótkim opisem zakresu pracy. Dokładnie tym samym zestawieniem prac posługujemy się do rozliczeń z naszymi programistami.


Jak wchodzimy w nowe projekty?

Onboarding

W procesie onboardingu uczestniczy na ogół tylko lead developer, w niektórych przypadkach wspomagany przez dodatkowego programistę. Lead developer jest zawsze pierwszą osobą w projekcie, dlatego na to stanowisko wybieramy najlepszych koderów, posiadających największe doświadczenie. Jednym z zadań lead developera jest rozpoznanie wymagań technicznych, infrastrukturalnych i organizacyjnych projektu. Uczestniczy on również w onboardingu, podczas którego nie tylko zapoznaje się z projektem, lecz również uzyskuje dostępy, zakłada konta czy nawiązuje kontakt z kluczowymi pracownikami Klienta. 

Onboarding samego lead developera jest zdecydowanie łatwiejszy niż wprowadzanie w projekt całego zespołu od razu. Realizowany w ten sposób proces onboardingu przebiega bardzo efektywnie i nie sprawia dużego kłopotu naszym Klientom. Klient wprowadza w projekt tylko lead developera, lead developer wprowadza resztę zespołu.


Środowisko projektowe

Jeśli Klient ma własną infrastrukturę do zarządzania projektem informatycznym, nasz zespół może z niej skorzystać. Jeśli nie ma takiej możliwości, samodzielnie organizujemy środowisko projektowe lub korzystamy z naszej infrastruktury.

Standardowo stosujemy następujące rozwiązania:

  • Bitbucket - platforma do zarządzania kodem,
  • Jira - narzędzie do organizacji pracy i zadań,
  • Slack - platforma komunikacyjna.

Natomiast u części naszych Klientów korzystamy między innymi z:

  • GitHub -  system do kontrolowania wersji kodu,
  • Redmine - narzędzie do zarządzania zadaniami,
  • Teams - platforma do komunikacji.

Rola lead developera

Lead developer jest kierownikiem projektu i osobą kontaktową w naszym zespole. Dodatkowo odpowiada za organizację pracy i dba o to, żeby wszystkie zadania zostały prawidłowo zrealizowane w ustalonym terminie. Można powiedzieć, że jest project managerem, ale sam zajmuje się również pracą programistyczną, w tym szczególnie ważnymi lub trudnymi elementami projektu.

Zadaniem lead developera jest więc nie tylko wykonywanie pracy pod dyktando Klienta, ale również samodzielne i proaktywne rozwiązywanie problemów. A jeśli zajdzie taka potrzeba, to również wskazywanie Klientowi nowych możliwości czy sugerowanie innych rozwiązań technicznych i biznesowych.

Zadania lead developera

komunikacyjne:

  • organizowanie spotkań z Klientem,
  • sprawne wchodzenie w nowe projekty,
  • ustalanie z Klientem krótko- i długofalowych celów  projektowych,
  • odbieranie telefonów i odpisywanie na e-maile Klienta,
  • komunikowanie Klientowi ewentualnych trudności lub zaistniałych w projekcie alternatyw technicznych.

projektowe:

  • przekazywanie wiedzy projektowej członkom zespołu,
  • podejmowanie kluczowych decyzji technicznych,
  • osobista realizacja najtrudniejszych części projektu,
  • delegowanie bardziej rutynowych zadań i zarządzanie zespołem,
  • nadzór nad pracami, w tym code review.


Komunikacja z Klientem

Spotkania

W zależności od projektu, oczekiwań Klienta i etapu prac, spotkania projektowe (przegląd sprintu) organizujemy raz na tydzień lub raz na dwa tygodnie. Takie zebrania (online lub na żywo) trwają zwykle około godziny, a ich celem jest koordynacja prac z Klientem, podsumowanie postępów oraz ustalenie zadań do wykonania w najbliższym czasie. W niektórych projektach organizujemy również codzienne krótkie spotkania (daily), trwające zwykle kilka do kilkunastu minut, skupiające się wokół bieżących zadań i problemów.

Komunikacja

Poza formalnym rytmem spotkań nasz lead developer odbiera telefony i szybko odpisuje na wszystkie e-maile. Klient może zadzwonić lub napisać do kierownika projektu z każdym pytaniem dotyczącym spraw technicznych, organizacyjnych czy też nowego pomysłu na kolejny projekt.

spotkanie z klientem

Organizacja prac zespołu programistycznego

Jak wspomnieliśmy, lead developer odpowiada za organizację pracy naszego zespołu. Kładziemy przy tym nacisk na kilka kluczowych elementów.

Elastyczność

Lead developer dobiera programistów na początku projektu i w razie potrzeby może ich wymienić w trakcie trwania projektu. Dzieje się tak na przykład gdy projekt dochodzi do etapu, gdy przydaje się inny zestaw technologii lub nowy zakres umiejętności. Poszczególni specjaliści mogą być zaangażowani w projekt w pełnym wymiarze godzinowym lub tylko na część etatu. Dzięki temu bardzo elastycznie możemy reorganizować zespół, by dopasować się do dynamiki projektu.

Skalowalność 

Jeśli tylko zachodzi taka potrzeba, lead developer dobiera do zespołu dodatkowych programistów, których zadaniem jest wsparcie dotychczasowego zespołu i pomoc w wykonaniu najpilniejszych zadań. Dzieje się tak również, gdy Klient składa zamówienie na większą liczbę godzin pracy programistów. Wtedy do projektu również dołączają dodatkowi koderzy.

Ciągłość prac

W projekcie zawsze uczestniczą co najmniej dwie osoby (lead developer i programista), aby w razie niedyspozycyjności lub urlopu jednego członka zespołu została zawsze przynajmniej jedna osoba, która dobrze zna projekt i rozumie potrzeby Klienta. Dzięki temu zachowujemy ciągłość prac i zmniejszamy ryzyko opóźnień.

Koordynacja

Często dołączamy w projekcie do już istniejącego zespołu Klienta. W takim przypadku rola naszego lead developera jest ustalana w zależności od potrzeb. Może on być traktowany jak zwykły członek zespołu, doradca techniczno-projektowy czy koordynator podzespołu. Zdarza się również, że nasi lead developerzy przejmują z czasem koordynację całego zespołu Klienta.


Jeżeli masz ochotę dowiedzieć się więcej na temat body leasingu lub potrzebujesz podobnego rozwiązania – napisz do nas przez formularz kontaktowy.


Zapraszamy do zapoznania się z naszymi artykułami