Podwykonawstwo systemów IT jest częstą praktyką w produkcji oprogramowania. W realizacji zdarza się, że software house nie posiada odpowiednich mocy przerobowych, lub specjalistów z dziedziny niezbędnej do realizacji. W takiej sytuacji bardzo często ratunkiem jest skorzystanie z mocy przerobowych zewnętrznego podwykonawcy. Współpraca nierzadko jest jedynym sposobem na dowiezienie projektu w terminie.  Jest ona jednak obarczona ryzykiem i dobrze jest zwrócić zatem uwagę na kilka kwestii.

Zgoda klienta na udział podwykonawcy

Pierwszym, i wydawałoby się oczywistym, zagadnieniem o jakie należy zadbać negocjując umowę podwykonawczą jest zgoda inwestora na użycie podwykonawcy w realizacji projektu. Zgodnie z art. 738 k.c. jako wykonawca możemy skorzystać z podwykonawcy tylko w określonych sytuacjach. Ponadto w praktyce umów wdrożeniowych i innych podobnych kontraktów na produkcję oprogramowania w IT zamieszcza się zakaz korzystania z podwykonawców bez zgody zamawiającego. Kwestia takiej zgody również nie jest problemem prostym, dlatego że może ona dotyczyć na przykład tylko wąskiej grupy podmiotów (na przykład jedynie naszych programistów na B2B), lub może wymagać specjalnej formy (e-mail może nie być wymagający). Stąd też, zanim zaczniemy w ogóle rozmowy o udziale podwykonawcy, należy zabezpieczyć naszą pozycję w taki sposób, aby nie narazić się na zarzut nienależytego wykonania umowy.

Poza sama zgodą należy oczywiście pamiętać o konieczności zapewnienia udziału podwykonawcy we wszystkich niezbędnych porozumieniach i umowach towarzyszących samej umowie wdrożeniowej. Należy zatem włączyć podwykonawcę w stosowanie zapisów NDA, DPA i innych podobnych dokumentów.

Relacja pracowników podwykonawcy do naszego zespołu

Wzajemna relacja między pracownikami naszego stałego teamu, klientem, a pracownikami podwykonawcy jest sercem samej umowy podwykonawczej. W związku z tym, że tymczasowi członkowie zespołu mogą być osobami o różnej specjalizacji i poziomie kompetencji będą one oczywiście różnie umieszczone we wzajemnej relacji. Niezwykle istotnym jest jednak określenie ich pozycji i wzajemnego zakresu odpowiedzialności przed klientem oraz kanału komunikacji.

To tylko kilka z zagadnień, które na pewno należy ustalić w kontekście relacji z nami, a naszym podwykonawcą w toku negocjacji.

Minimalna dostępność pracowników podwykonawcy

Problemem, jaki najczęściej rozwiązuje korzystanie z podwykonawcy jest brak odpowiedniej liczby pracowników o konkretnych kwalifikacjach w projekcie. Niezbędne zatem jest jasne postawienie precyzyjnych i jasnych wymagań odnośnie tego zapotrzebowania. Samo dostarczenie pracowników może nie być wystarczającym zabezpieczeniem interesu zlecającego. Bardzo istotnym może być zapewnienie stałości wynajmowanego zespołu. Wymaganie to może dotyczyć zarówno czynników obiektywnych (takich jak kompetencje twarde), ale tez i czysto subiektywnych (Małgosia nie dogaduje się dobrze z Ranjitem). Oba te warianty dobrze jest omówić i ustalić zanim przystąpimy do realizacji.

Wcale często stosuje się, jako załącznik do umowy listę konkretnych nazwisk osób, które będą oddelegowane przez podwykonawcę. Rozwiązuje to kwestię kompetencji i oceny subiektywnej danego pracownika, jednak jednocześnie otwiera szereg pytań związanych z ewentualnym zastępowaniem człowieka, który został na listę wpisany, ale z jakichś powodów nie będzie mógł (albo nie będzie chciał) pracować.

Zmiana składu osobowego podwykonawców

Możemy mówić o układaniu relacji biznesowych, tworzeniu umów i procedur, jednak na koniec dnia, to ludzie wykonują pracę i współpracują z innymi ludźmi, którzy tę prace odbierają. Stąd bardzo ważne jest omówienie kwestii zmian w składzie zespołu wykonawczego i podwykonawczego. Przy czym na dwie sytuacje chciałbym szczególnie zwrócić uwagę.

Pierwszą jest moment, kiedy pozostawanie danego pracownika jest pożądane przez wykonawcę, ale przez podwykonawcę nie może być spełnione. Może to wynikać z wielu powodów, z czego najczęściej sprowadza się to do odejścia z pracy danego programisty.

Drugą jest sytuacja, w której dany pracownik chce uczestniczyć w projekcie, ale nie chce go w nim wykonawca. Kluczowe jest ustalenie, czy taki wybór w ogóle przysługuje wykonawcy i jeżeli tak to na jakich (albo bez jakich) warunków.

W obu tych przypadkach kluczowe znaczenie ma czas. Odstawienie z dnia na dzień w projekcie kluczowego programisty w zasadzie zabija sens podwykonawstwa, więc omówienie terminów na reakcję w obu scenariuszach jest zagadnieniem szalenie istotnym.