Przede wszystkim drobiazgowość. Przygotowując umowę z software housem, trzeba stać na straży najdrobniejszych jej elementów. Bywa, że z pozoru błahe niedopatrzenie naraża firmę na szereg nieplanowanych wydatków i opóźnień we wdrożeniu produktu. Bez fachowej wiedzy „z branży” trudno stworzyć zapisy dające pewność, że wszystko zostanie dopięte na ostatni guzik. Niewiele jest elementów (a właściwie nie ma wcale), które można pozostawić w sferze domysłów. Skąd pewność, że software house po zakończeniu prac zajmie się wdrożeniem aplikacji na serwer? Rzecz jest niby w pakiecie, a jednak… jakby nie do końca.

Wszystko czarno na białym!

Umowa z Software Housem

Kolejna z podstawowych informacji, które powinny się znaleźć w umowie to jej przedmiot. Roztropnym ruchem jest spisanie czarno na białym, że strona wykonująca zadanie zobowiązuje się nie tylko do samej produkcji oprogramowania, ale też jego przetestowania, przygotowania makiet, dokumentacji oraz specyfikacji. Koniecznym jest również wspomniane wdrożenie na serwer, jego konfiguracja, szkolenie z korzystania oraz jasne warunki wsparcia po wdrożeniu. Podczas pierwszego spotkania warto dokładnie określić, czego oczekujemy od software house’u, a następnie zawrzeć to w dokumencie umowy.

W przypadku większych projektów, gdzie dokładny opis czynności jest właściwie niemożliwy, wystarczy ograniczyć się do zarysu działań.

W dokumencie nie powinno zabraknąć zapisu dotyczącego metodyki zarządzania projektem — to na niej przecież opierać się będzie współpraca z software housem. Jeżeli oprogramowanie ma być tworzone metodą Agile, w umowie musi się znaleźć informacja, że przystały na to obie strony. W myśl idei, że „nic na słowo”, w dokumencie warto zawrzeć takie elementy jak m.in. odpowiedzialność za organizację i formułę spotkań, ich częstotliwość, opiekę nad harmonogramem działań itd.

Istotną informacją, która powinna się znaleźć w umowie, są terminy akceptów i poprawek oraz punkt rozwiązujący problem niedotrzymanych deadline’ów. Ma to ogromne znaczenie dla zachowania ciągłości prac. 

Decydując się na współpracę z konkretnym wykonawcą, zakładamy, że posiada on wszelką wiedzę niezbędną do wykonania swojej roboty – to niemal oczywiste. Nic jednak nie stoi na przeszkodzie, by umowa zawierała taki zapis. Nikt przecież nie chce płacić firmie, która uczy się swojego fachu na koszt zleceniodawcy, prawda?

Nie wolno zapomnieć o potwierdzeniu, że zawierana umowa nie narusza praw osób trzecich, a każda ze stron ma pełne prawo oraz zdolność do podpisywania tego typu dokumentów.

Zleceniodawca może zabezpieczyć się zapisem o okresie testowym. Daje mu to komfort rozwiązania umowy ze skutkiem natychmiastowym, jeśli w przypadku stosowania nieuczciwych praktyk przez software house.

Odpowiedzialność i rzetelność

Niezwykle ważną kwestią jest wyraźne określenie zadań przypadających każdej ze stron umowy. W interesie zleceniodawcy jest zawarcie zapisu mówiącego o odpowiedzialności software house’u nie tylko za swoich pracowników, ale również za podwykonawców. Jest to punkt, który pozwoli uniknąć sytuacji, w której nad zleconym zadaniem pracować będą osoby niedoświadczone.

Obie strony umowy powinny wyznaczyć konkretnych pracowników do wykonywania i nadzorowania zadania, a następnie zawrzeć ich w treści podpisywanym dokumencie.

Zleceniodawca musi ponadto wiedzieć o każdym dodatkowym elemencie, który wykracza poza zakres umowy, a wiąże się z dodatkowymi kosztami. Działania tego typu wymagają sporządzenia dodatkowych dokumentów.

Nie zapomnij o prawach autorskich! W interesie firmy zlecającej prace jest posiadanie wszelkich praw do aplikacji. Co więcej, w umowie powinien znaleźć się zapis mówiący wyraźnie, że wykonawca nie ma prawa do późniejszego wykorzystywania, rozpowszechniania i modyfikowania oprogramowania.

Kolejnym ważnym zapisem, który – mówiąc wprost – pozwoli klientowi spać spokojnie, jest ten o zakazie konkurencji. Dlaczego jest to tak ważne? Podejmując współpracę z software housem przekazujemy mu wiele ważnych – często poufnych – informacji, wśród których znajduje się zdobywana przez lata wiedza i wypracowywany know-how. Nie zrozummy się, źle, wcale nie podejrzewamy nikogo o zakusy przejmowania pomysłów i biznesów klientów, jednak wszystkim chodzi o spokojną i swobodną współpracę. Dlatego roztropnym ruchem dla obu stron jest zabezpieczenie się przed wykorzystywaniem tego kapitału przez strony nieuprawnione.

Płatność i kaucja

Termin płatności ustalamy z góry. Zwykle jest to, 7-14 dni od wystawienia faktury. W umowie powinien się znaleźć zapis o wysokości kaucji, którą klient wpłaca przed rozpoczęciem prac nad oprogramowaniem. Zazwyczaj jest to kwota równa średniej sumie z pojedynczej faktury. Kaucja daje wykonawcy komfort swobodnej inwestycji zasobów oraz czasu w tworzenie zleconego produktu.

Kiedy trzeba odstąpić od umowy z sotftware housem…

Bywa i tak, że współpraca nie idzie tak, jak to sobie wyobrażaliśmy. Nie działa komunikacja, nie zadowalają nas postępy w pracach lub zleceniodawca nie wywiązuje się z zapisów zawartych w umowie. Jest to sytuacja, która zmusza nas do podjęcia nieprzyjemnej dla żadnej ze stron decyzji o zaprzestaniu dalszej kooperacji. Choć wolelibyśmy nie zakładać tak mrocznego scenariusza, warto zabezpieczyć się na taką ewentualność.

Najprzyjemniejszą wersją tej nieprzyjemnej fabuły jest polubowne rozwiązanie umowy. W takim wypadku warto ustalić okres wypowiedzenia na tyle długi, by dać sobie czas na znalezienie nowego wykonawcy.

Jeżeli natomiast jest już na tyle źle, że trzeba rozstać się natychmiast, należy dysponować umową, która umożliwia takie błyskawiczne rozstanie. Bez względu na powód takiego biznesowego “rozwodu”, strony powinny opisać swoje kolejne kroki – na przykład, że kupujący płaci za realnie wykonaną pracę, a wykonawca przekazuje w określonym terminie wszystkie materiały, pliki i inne elementy, nad którymi pracował.  

Trzecią opcją jest ewentualny spór między stronami. W takim wypadku właściwym dokumentem jest zapis na mediację mówiący, że wszelkie waśni wynikające z umowy lub z nią związane pozostające w związku z nią, należy kierować do odpowiedniej jednostki świadczącej podobne czynności (vide prawnik).

Co po oddaniu produktu?

Trudno wyobrazić sobie umowę z software housem bez zapisu o gwarancji na wypadek sytuacji spowodowanych działalnością sił wyższych (np. awaria serwerowni, powódź, burza, włamanie do siedziby software house’u itd.). Dobrze też zabezpieczyć się przed płaceniem za poprawki bugów – warto to ustalić w umowie!.

Wykonawca powinien mieć przypieczętowany zapisem w umowie obowiązek informowania zleceniodawcę o wszelkich usterkach i niefortunnych zdarzeniach, które mogą negatywnie wpłynąć nie tylko na powodzenie konkretnego zadania, ale również cały biznes prowadzony przez zleceniodawcę (np. wyciek danych).

Bezpieczeństwo danych

Na koniec zostawiliśmy kwestię bezpieczeństwa danych osobowych. Zapis określający osobę, która będzie zarządzać tego typu informacjami to szalenie ważna kwestia. Software house siłą rzeczy będzie przetwarzał dane osobowe, a więc w umowie powinien znaleźć się zapis poświadczający, że firma zna przepisy znajdujące się w RODO i będzie się do nich stosować. Należy pamiętać, że zapisy tego typu odnoszą się również do teamu pracującego nad aplikacją i podwykonawców.

W zwyczaju większości firm jest zamieszczanie zapisów dotyczących ewentualnych kar umownych na wypadek naruszenia któregoś z punktów. Nie zaszkodzi, jeśli taki punkt znajdzie się również w naszym dokumencie.

Bądź uważny!

Podczas tworzenia obie strony powinny dogadać się odnośnie do sposobu przekazywania efektów prac. Software house musi wiedzieć, czy klient zamierza odebrać produkt jako całość, czy woli otrzymywać go partiami, dając sobie szanse na regularny feedback. Istotne jest również określenie dokładnych deadline’ów. Jak już wspominaliśmy, przezorny zleceniodawca zadba o to, by nie został sam po odbiorze softu. W tym celu umowa zawierać powinna zapis o opiece nad produktem. Niemal każdemu software house’owi zależy na rozbudowywaniu swojego portfolio, dlatego w dokumencie nie może zabraknąć stosownej zgody ze strony zleceniodawcy (chyba że z jakichś powodów sobie tego nie życzy).

Być może to truizm, ale zawsze warty powtarzania — czytajmy dokładnie każdą umowę, zanim złożymy pod nią swój podpis. Taki nawyk pozwoli na uniknięcie rozczarowań, przykrych niespodzianek i ewentualnego pójścia „na noże” z firmą programistyczną. Każda umowa powinna być skonsultowana z prawnikiem.


TWORZYMY INNOWACJE ZAPROGRAMOWANE NA ROZWÓJ TWOJEGO BIZNESU

Zobacz także

Ostatnie wpisy

<
>