Umowa utrzymaniowa wdrożonego oprogramowania
Umowa utrzymaniowa to dokument, który reguluje warunki, na podstawie których firma informatyczna świadczy usługi utrzymania systemu IT, których celem jest zapewnienie ciągłości funkcjonowania oprogramowania, z uwzględnieniem zmieniających się uwarunkowań faktycznych i prawnych.
Usługi te zwykle obejmują:
- zapewnienie hostingu,
- utrzymanie systemu IT w infrastrukturze,
- modyfikacje oprogramowania po jego dostarczeniu, włączając w to diagnozowanie problemów i nieprawidłowości, usuwanie błędów i awarii,
- poprawę wydajności systemu, wprowadzenie drobnych usprawnień,
- kolokację serwerów.
Utrzymanie systemu IT jest określane także terminem konserwacji, czyli zabiegów, które mają utrzymać sprawność wdrożonego oprogramowania. Choć po opracowaniu oprogramowania przechodzi ono mnóstwo testów i analiz, nie da się całkowicie wyeliminować ryzyka pojawienia się pewnych nieprawidłowości. Środowisko testowe różni się bowiem od docelowego środowiska produkcyjnego, w którym dane oprogramowanie będzie stosowane. Ponadto system wymaga czasu, aby mógł zacząć funkcjonować w pełni, a prace testowe nie mogą trwać w nieskończoność. Dzięki umowie utrzymaniowej klient ma zagwarantowane odpowiednie wsparcie w przypadku pojawienia się błędów czy trudności z funkcjonowaniem pewnych elementów.
Czynności mające na celu utrzymaniem serwisu to m.in.:
- aktualizacja oprogramowania systemowego i narzędziowego,
- rozwiązywanie problemów związanych z infrastrukturą środowiska informatycznego,
- wdrażanie czynności mających na celu poprawę wydajności, jakości i bezpieczeństwa,
- administracja baz danych,
- tworzenie i odtwarzanie backupów.
Kluczowym czynnikiem decydującym o tym, czy przebieg współpracy oparty na umowie utrzymaniowej będzie sukcesem, jest komunikacja z klientem i zapewnienie mu odpowiedniego wsparcia. Dostawca powinien bowiem możliwie jak najszybciej reagować na zgłoszenia serwisowe usługobiorcy oraz wszelkie problemy, a także efektywnie współpracować z zespołem, aby z powodzeniem zrealizować działania naprawcze i udoskonalające. Ważna jest regularna analiza potrzeb klienta, proponowanie trafnych narzędzi i rozwiązań oraz odbywanie wizyt serwisowych w razie potrzeby. Użytkownicy systemów informatycznych powinni mieć także dostęp do szkoleń, aby móc na odpowiednim poziomie zapoznać się z funkcjonalnością stosowanego oprogramowania, wykorzystując pełnię jego możliwości.
Umowa utrzymaniowa oprogramowania – elementy
Nie ma jednolitego dokumentu, który obowiązywałby w branży IT, regulując wszystkie uniwersalne kwestie związane z utrzymaniem systemów informatycznych. Sporządzenie takiej umowy wymaga zatem bardzo zindywidualizowanego podejścia, które pozwoli na opracowanie korzystnych dla obu stron warunków, które pozwolą uniknąć nieporozumień i konfliktów w przyszłości. Bardzo ważnym elementem jest zapis dotyczący sposobu zgłaszania błędów oraz przedziału czasowego, kiedy użytkownik oprogramowania może tego dokonać. Konieczne jest także zawarcie w dokumencie informacji, na jakich warunkach będzie świadczone wsparcie i w jakim czasie od zgłoszenia usterki.
Istotną kwestią jest także ustalenie poziomu dostępności oprogramowania, jaki zostanie zapewniony przez wykonawcę oraz Kluczowych Wskaźników Efektywności (ang. Key Performance Indicators, KPI), które usługodawca powinien spełnić, przy uwzględnieniu ich wartości oraz sposobu identyfikacji. Szczegółowe informacje związane z KPI często są określane w dodatkowej umowie SLA – Service Level Agreement, która gwarantuje zachowanie wysokiej jakości usługi informatycznej. Umowa utrzymaniowa powinna także zawierać zapis dotyczący warunków rozwiązania współpracy i wypowiedzenia umowy oraz okres jej ważności.
Umowa rozwojowa wdrożonego oprogramowania
Umowa rozwojowa w branży IT często towarzyszy umowie utrzymaniowej. Wiele osób korzystających z usług informatycznych wymaga gwarancji, iż dostarczone im oprogramowanie, oprócz poprawności działania będzie cechować się także ciągłym doskonaleniem i poprawą. Wraz z rozwojem technologii systemy IT muszą być bowiem nieustannie modyfikowane, dlatego oprogramowania wyróżnia ciągła ewolucja dyktowana wszechobecnym postępem i dynamicznymi zmianami. Brak regularnego wdrażania poprawek i ulepszeń może bowiem spowodować, że za jakiś czas dane oprogramowanie przestanie spełniać wymagania, a jego dostosowanie do obowiązujących standardów będzie istotnie utrudnione i wiązało się z ogromnymi kosztami lub stratami.
Umowa rozwojowa (inaczej niż umowa wdrożeniowa) obejmuje zatem wszystkie zmiany i ulepszenia związane z koniecznością ciągłej aktualizacji wdrożonego oprogramowania i odpowiedniej modyfikacji systemu oraz dodawaniem nowych funkcjonalności w tym jeśli chodzi o obowiązki stron jeśli chodzi o rozwój systemów IT. Umowa rozwojowa zwykle jest podpisywana z dostawcą tego oprogramowania. Jej celem jest zapewnienie usług gwarantujących zamawiającemu modyfikację i rozbudowę oprogramowania oraz zapewnienie świadczenia innych opisanych usług wspomagających korzystanie z danego systemu.
Czynności rozwojowe mogą dotyczyć na przykład:
- aktualizacji związanych z nowymi rozszerzeniami i naprawą błędów,
- prace serwisowych w celu implementacji zmian i rekonfiguracji,
- dostosowania funkcjonalności oprogramowania do nowych potrzeb i wymagań.
Oprócz standardowych zapisów charakterystycznych dla umowy IT, umowa rozwojowa powinna zawierać także szczegółowe określenie zasad współpracy tego rodzaju, określenie procedury odbiorowej oraz gwarancję na produkty usług rozwoju oraz procedurę w przypadku wypowiedzenia umowy obejmującą istotne elementy umów serwisowych czy przeniesienie praw autorskich na umowy na utrzymanie (umowy utrzymaniowe i prawa autorskie w umowach utrzymaniowych jeśli chodzi o utrzymanie oprogramowania). Gwarancja ta może zostać zdefiniowana poprzez wspólne ustalenia obu stron umowy lub za pomocą dodatkowego dokumentu – umowy SLA.
Należy pamiętać, że brak wprowadzania regularnych aktualizacji, poprawek i modyfikacji systemu IT może wiązać się z problemami z migracją danych, ryzykiem utraty bezpieczeństwa oraz brakiem możliwości integracji oprogramowania z nowszymi systemami i rozwiązaniami technologicznymi. W rezultacie przestarzały system może stać się mało wydajny i nieproduktywny. Tego rodzaju zaniedbania w obszarze rozwoju i utrzymania systemu w wielu sytuacjach skutkują koniecznością zakupu nowego oprogramowania, ponieważ stara wersja okazuje się trudna do aktualizacji po dłuższym czasie lub koszty wdrożenia modyfikacji i połączenia ich z obecnie obowiązującymi systemami informatycznymi i nowoczesnym sprzętem stają się ogromne, a w ostatecznym rozrachunku – nieopłacalne.
Pytania i odpowiedzi
Umowa utrzymaniowa zwykle ma postać umowy o świadczenie usług albo umowy nienazwanej, która cechuje się elementami charakterystycznymi dla umowy zlecenie i umowy o świadczenie usług. Z kolei umowa rozwojowa to najczęściej umowa nienazwana z elementami typowymi dla umowy o dzieło, przy czym jest ona precyzowana zamówieniami. Podczas sporządzania tego rodzaju umów zastosowanie mają m.in. przepisy Kodeksu Cywilnego oraz ustawa o prawach autorskich i prawach pokrewnych.
Umowa utrzymaniowo-rozwojowa (inaczej umowa na obsługę i rozwój systemu) to umowa obejmująca świadczenie usług utrzymania oraz usług rozwoju oprogramowania, a jej celem jest utrzymanie i rozwój jako kontynuacja po jego wdrożeniu. Dokument ten określa jednocześnie warunki, jakie mają być spełnione w związku z zapewnieniem prawidłowego funkcjonowania systemu IT, naprawy błędów i usterek oraz wszelkie założenia niezbędne do jego udoskonalenia i regularnej aktualizacji, które pozwalają na dostosowanie oprogramowania do zmieniających się wymagań w branży.
W wielu przypadkach adnotacje dotyczące utrzymania systemu IT oraz jego rozwoju są zawarte już w umowie wdrożeniowej, dzięki czemu jeden dokument określa wszystkie warunki dotyczące współpracy dostawca oprogramowania-klient i późniejszego świadczenia przez wykonawcę usług tego rodzaju na rzecz zamawiającego. Takie informacje powinny być wyszczególnione w umowie wdrożeniowej w postanowieniu dotyczącym przedmiotu umowy. Przy braku odpowiednich zapisów dotyczących utrzymania i rozwoju oprogramowania, zawarcie umów poruszających te kwestie zapewnia klientowi odpowiednie wsparcie w przypadku wystąpienia problemów technicznych i usterek, a także wdrożenie odpowiednich aktualizacji i poprawek, które pozwolą dostosować oprogramowanie do aktualnych postępów technologicznych.
Zaufali nam: