Usługi rozwoju oraz usługi utrzymania to usługi realizowane przez podmioty z branży IT po etapie wdrożenia systemów IT (w tym m.in. aplikacji lub serwisów internetowych). Celem usług rozwoju jest przede wszystkim dodanie nowych funkcjonalności do istniejących już systemów IT lub dokonanie w nich określonych przez zamawiającego modyfikacji (np. poprzez zmianę lub dodanie nowych tekstów lub elementów graficznych). Z kolei, usługi utrzymania obejmują przede wszystkim wykonywanie czynności stałego wsparcia technicznego, których celem jest zapewnienie prawidłowego działania systemów IT, w tym aplikacji oraz serwisów internetowych. Czynności wsparcia technicznego obejmują w szczególności zapewnienie stałej dostępności systemów IT, monitorowanie i diagnozowanie funkcjonowania systemów IT pod kątem pojawiających się błędów, usuwanie błędów w przedziałach czasowych określonych w umowie, zarządzanie kontami, dostępami i uprawnieniami ich użytkowników, a także aktualizację istniejącego oprogramowania etc. Prawidłowa realizacja usług utrzymania ma kluczowe znaczenie dla prawidłowego i sprawnego działania systemów IT.
Usługi rozwoju są bardzo często wykonywane na podstawie umów ramowych, które – jak sama nazwa wskazuje – regulują ogólne zasady współpracy między zamawiającym realizację takich usług a ich wykonawcą. W poszczególnych zamówieniach – składanych w zależności od pojawiających się na bieżąco potrzeb – zamawiający określa przede wszystkim wykonania jakich czynności rozwoju oczekuje od wykonawcy oraz wskazuje w zamówieniu pozostałe szczegóły dotyczące tych czynności, tj. przede wszystkim termin ich wykonania. Ponadto, strony na bieżąco, tj. przede wszystkim w zależności od zakresu prac objętych konkretnym zamówieniem na realizację usług rozwoju, określają wynagrodzenie należne za wykonanie tych prac.
Postanowienia umowy ramowej powinny przede wszystkim określać jakie usługi rozwoju będą zlecane przez zamawiającego. Określenie to może nastąpić poprzez szczegółowe wskazanie przez strony umowy konkretnych usług, które będą mogły być realizowane przez wykonawcę (takie określenie następuje najczęściej poprzez wskazanie poszczególnych usług i szczegółów dotyczących ich realizacji w załączniku do umowy) lub poprzez ogólne określenie w umowie ramowej na czym będą polegać usługi rozwoju, przy czym w takim ujęciu szczegółowy zakres usług będzie precyzowany przez zamawiającego w konkretnych zamówieniach.
Nadto, strony umowy ramowej muszą określić szczegółowe zasady składania poszczególnych zamówień obejmujących wykonanie usług rozwoju oraz zasady przyjmowania tych zamówień do realizacji przez wykonawcę. W tym zakresie strony powinny w szczególności zadbać o określenie odpowiedniej procedury obejmującej przede wszystkim to jakie osoby w imieniu stron umowy będą uprawnione odpowiednio do składania oraz akceptowania zamówień, w jakich terminach takie oświadczenia będą mogły być składane, a także czy wykonawca będzie uprawniony do odmowy realizacji określonego zamówienia.
Postanowienia umowy ramowej powinny także określać model wynagrodzenia wykonawcy. W praktyce najczęściej spotykanymi modelami wynagrodzenia wykonawcy są:
Zamawiający powinien pamiętać także o zapewnieniu sobie możliwości korzystania z rezultatów prac wykonawcy, które na gruncie prawa autorskiego będą mogły zostać uznane za utwór. W tym celu umowa ramowa powinna określać zasady przeniesienia praw autorskich do takich rezultatów lub zasady licencjonowania praw do nich. Niezależnie od tego, w przypadku wykorzystania przez wykonawcę materiałów pozyskanych od podmiotów trzecich, wykonawca powinien zapewnić zamawiającemu swobodną możliwość korzystania z tych materiałów np. poprzez udzielenie przez wykonawcę sublicencji lub przeniesienie przez niego praw i obowiązków na zamawiającego, które wynikają z licencji lub sublicencji uprawniających do korzystania z takich materiałów.
Strony umowy ramowej o świadczenie usług rozwoju mogą również uregulować w niej procedurę określającą szczegółowe zasady i terminy odbioru poszczególnych zamówień zrealizowanych przez wykonawcę. W ramach takiej procedury strony są uprawnione m.in. do określenia zasad testowania nowych funkcjonalności lub wprowadzonych modyfikacji, zasad wprowadzania do nich poprawek przez wykonawcę i ponownego ich odbioru przez zamawiającego, a także mogą przewidzieć możliwość dokonania tzw. odbioru warunkowego, umożliwiającego korzystanie z prac wykonawcy przy jednoczesnym obowiązku ich poprawienia zgodnie z wytycznymi zamawiającego. Ponadto, zamawiający – w celu zabezpieczenia swoich interesów – może uzależnić wypłatę wynagrodzenia należnego wykonawcy od przyjęcia przez zamawiającego bez jakichkolwiek zastrzeżeń określonego zamówienia.
Umowy o świadczenie usług utrzymania są przeważnie umowami zawieranymi na okres wielu lat, najczęściej na czas nieoznaczony. W przeciwieństwie do usług rozwoju, świadczenie usług utrzymania ma charakter stały, tj. odbywa się niezależnie od składanych zamówień, co wynika z celu tej umowy, którym jest zapewnienie stałego wsparcia technicznego systemów IT, w tym aplikacji oraz serwisów internetowych. Z pewnością najważniejszymi postanowieniami w umowach o świadczenie usług utrzymania jest określenie czasów przyjmowania zgłoszeń oraz czasów reakcji i usuwania poszczególnych błędów w działaniu systemów IT. Ponadto, bardzo ważne jest wprowadzenie do umowy o świadczenie usług utrzymania postanowień regulujących sposób prowadzenia bieżącej komunikacji pomiędzy stronami.
W praktyce umowy o świadczenie usług utrzymania najczęściej zawierają postanowienia, zgodnie z którymi podmiot świadczący takie usługi reaguje na pojawiające się problemy z działaniem systemu IT z własnej inicjatywy lub na podstawie zgłoszeń dokonywanych przez zamawiającego. W przypadku podejmowania działań na podstawie zgłoszeń, konieczne jest uregulowanie w umowie okresów (dni oraz godzin), w których takie zgłoszenia mogą być przyjmowane przez wykonawcę ww. usług, sposobu ich zgłaszania (np. w drodze korespondencji e – mail, telefonicznie lub za pomocą tzw. „helpdesk”). Ponadto w ramach omawianych postanowień należy wskazać również osoby uprawnione do dokonywania zgłoszeń ze strony zamawiającego wykonywanie takich usług oraz osoby uprawnione ze strony wykonawcy do ich odbierania (przy złożonych projektach IT możliwe jest stosowanie kilkustopniowych zgłoszeń, zgodnie z którymi bardziej złożone problemy są zgłaszane do osób posiadających szersze uprawnienia).
Prawidłowo skonstruowana umowa o świadczenie usług utrzymania musi określać rodzaje błędów, do których zostaną przyporządkowane czasy reakcji oraz czasy usunięcia błędów przez wykonawcę takich usług. W umowach o świadczenie usług utrzymania najczęściej strony określają błędy zgodnie z gradacją ich ważności, poczynając od błędów krytycznych, tj. uniemożliwiających całkowicie działanie systemu IT lub jego poszczególnych elementów bądź funkcji, przez błędy istotne, tj. mające istotny wpływ na prawidłowe działanie systemu IT lub jego poszczególnych funkcjonalności, jednak niepowodujące całkowitego zatrzymania funkcjonowania systemu IT lub jego elementów, kończąc na błędach nieistotnych, tj. utrudniających korzystanie z systemu IT lub jego poszczególnych funkcjonalności, które nie mają istotnego wpływu na działanie systemu IT lub jego poszczególnych funkcjonalności (przykładami wad nieistotnych są błędy ortograficzne, błędy w interfejsie, błędy w wyświetlaniu elementów graficznych, które nie wpływają w istotny sposób na możliwość korzystania z systemu IT). Jak zasygnalizowano wcześniej, do poszczególnych typów błędów należy przyporządkować czas reakcji (tj. czas, w którym wykonawca usług utrzymaniowych przystąpi do usuwania określonego rodzaju błędu), czas wstępnego usunięcia błędu (czas, w którym zostanie zaimplementowane rozwiązanie redukujące błąd krytyczny do błędu istotnego) oraz czas całkowitego usunięcia błędu (czas, w którym określony błąd zostanie całkowicie usunięty).
Niezbędnym elementem umowy o świadczenie usług utrzymania jest określenie sposobu rozliczania wynagrodzenia. Strony takich umów najczęściej decydują się na ustalenie wynagrodzenia należnego z tytułu świadczenia usług utrzymania w formie stałej (ryczałtowej) kwoty za określony okres wykonywania takich usług (np. za każdy miesiąc kalendarzowy) lub w formie rozliczanej na podstawie roboczogodzin poświęconych na realizację usług w danym okresie (podobnie jak w przypadku umów o świadczenie usług rozwoju).
Ze względu na to, że wykonawca usług utrzymania zazwyczaj będzie posiadał dostęp do danych zgromadzonych na serwerach, zamawiający ich wykonywanie powinien pamiętać również o zobowiązaniu wykonawcy do zachowania poufności wszelkich informacji (w szczególności stanowiących tajemnicę przedsiębiorstwa), do których będzie on posiadał dostęp podczas świadczonych usług.
W praktyce, w celu zapewnienia kompleksowej obsługi systemów IT, w tym ich rozwoju oraz prawidłowego funkcjonowania, postanowienia charakterystyczne dla umów o świadczenie usług rozwoju oraz postanowienia charakterystyczne dla umów o świadczenie usług utrzymania łączy się w ramach jednej umowy (jednego dokumentu). Prawidłowe zredagowanie takiej umowy oraz wypracowanie w niej mechanizmów działania pozwoli na wyeliminowanie wielu ryzyk i sytuacji spornych związanych z wykonywaniem przez podmioty z branży IT usług rozwoju i usług utrzymania. W dalszym ciągu umowy o świadczenie usług rozwoju i usług utrzymania pozostają „w cieniu” umów wdrożeniowych, podczas gdy od zawarcia tego rodzaju umowy może zależeć powodzenie prawidłowo wdrożonego wcześniej projektu IT.
W razie pytań zapraszamy do kontaktu:
Autor: radca prawny Michał Ryba
m.ryba@wnlegal.pl
tel: + 48 790 830 360
BIO (klik)
Sąd Okręgowy w Kielcach (4.12.2024, II Ca 1320/24) oddalił apelację banku, który domagał się od konsumentów dodatkowego świadczenia w związku
Szerokim echem w Internecie rozchodzi się informacja o wyroku Sądu Okręgowego w Suwałkach z 21 sierpnia 2024 r., I C
Karol Wątrobiński
k.watrobinski@wnlegal.pl
Damian Nartowski
d.nartowski@wnlegal.pl
Nasze biura: Kielce, ul. Olszewskiego 6 | Kraków, ul. Królewska 57 | Warszawa Rondo Daszyńskiego 2b
+48 730 740 950 | biuro@wnlegal.pl