Blog

Wdrożenie Systemu IT – Czy Zawsze Musi Być Drogą Przez Mękę?

7 kwietnia 2021
wdrożenie systemu IT

Produkcyjne uruchomienie nowego systemu IT dla każdej firmy oznacza najczęściej zmianę, a ludzie z natury nie lubią zmian. Zawsze znajdzie się ktoś kto będzie niezadowolony i będzie próbował udowodnić, że przed tym jak powstał system było lepiej, albo że jest on „bez sensu”, ewentualnie – że wymaga jeszcze miliona usprawnień żeby „dało się go używać”. Co w takim razie zrobić, żeby poradzić sobie z tymi wyzwaniami i sprawnie wdrożyć nowy system IT? Postaram się wyjaśnić to w poniższym artykule.

Wdrożenie czyli co?

Zanim o poradach, warto przybliżyć znaczenie terminu wdrożenie systemu IT. Należy też pamiętać, że tworzenie oprogramowania to proces, a wdrożenie to jeden z jego etapów, którego nie można pominąć.

Czym jest wdrożenie systemu?

Wklejanie definicji z Wikipedii nie ma sensu. Zakładam, że sami możecie ją sprawdzić. Najprościej rzecz ujmując wdrożenie systemu to wszystkie czynności, jakie należy wykonać, aby umożliwić jego używanie. Wiem, nie mówi to nadal zbyt wiele… Postaram się opisać to nieco konkretniej.

Kiedy następuje wdrożenie systemu IT? Załóżmy, że zamawiacie stworzenie dedykowanego systemu – strony internetowej, aplikacji webowej lub mobilnej. Zespół zakończył już pracę, a produkt został przetestowany. Stworzony software znajduje się jednak nadal u wykonawcy na przykład w software housie takim jak Evertop.

Teraz ten Wykonawca wspólnie z Odbiorcą musi wykonać jeszcze nieco pracy, aby system uruchomić i udostępnić użytkownikom końcowym. Patrząc na cały proces, kolejnym krokiem następującym po wdrożeniu jest już produkcyjne używanie systemu i przejście do fazy utrzymania.

Najważniejsze elementy wdrożenia

Mam nadzieję, że pojęcie wdrożenia jest nieco bardziej zrozumiałe, a przynajmniej moment, w którym to wdrożenie następuje. Na co zatem zwrócić uwagę? Z jakich etapów wdrożenie powinno się składać?

elementy składające się na całość oprogramowania na serwerze

Instalacja

Krok pierwszy to instalacja stworzonego oprogramowania w środowisku produkcyjnym. Niezależnie czy będzie to infrastruktura Wykonawcy, Odbiorcy czy modna teraz chmura, należy przenieść skompilowane wersje oprogramowania na środowisko docelowe tak, aby przyszli użytkownicy mogli je tam uruchomić i z nich skorzystać.

Mówiąc konkretniej. W przypadku aplikacji internetowych (takich dostępnych przez przeglądarkę internetową) trzeba umieścić aplikację na serwerze aplikacyjnym.

W przypadku aplikacji mobilnych na etapie wdrożenia, umieszcza się je w tzw. sklepach. Stąd użytkownicy mogą je swobodnie pobierać i instalować samodzielnie na swoich urządzeniach.

W przypadku aplikacji desktopowych, których w zasadzie stosuje się coraz mniej, skompilowane aplikacje umieszcza się na komputerach użytkowników.

Bardzo często, instalacji aplikacji towarzyszy instalacja bazy danych przechowującej informacje niezbędne do jej prawidłowej pracy.

W przypadku dużych organizacji, ważne jest aby zadbać o spójność z już istniejącą infrastrukturą. Należy pamiętać o konwencji nazw czy o stosowaniu odpowiednich ścieżek do katalogów gdzie aplikacje będą zainstalowane tak, aby nie różniły się one od tych zdefiniowanych dla istniejących systemów.

Należy też zadbać o zasoby (ilość miejsca na dysku, pamięć RAM, moc obliczeniową procesora) adekwatne do potrzeb instalowanego systemu. Pomoże to w przyszłości uniknąć problemów wydajnościowych.

testowanie aplikacji mobilnej

Konfiguracja

Samo zainstalowanie to dopiero początek drogi jaką jest wdrożenie. Każdą aplikację należy odpowiednio skonfigurować, aby działała poprawnie.  Pamięć o takich „drobnostkach” jak język czy format daty serwera, na którym została postawiona to elementarz każdego wdrożeniowca. Chodzi o to, żeby system działał w takim środowisku do jakiego został stworzony.

Konfiguracja to również odpowiednie połączenie z bazą danych, a także z ewentualnymi innymi systemami z którymi ten wdrażany jest zintegrowany i powinien się móc z nimi komunikować. Inaczej wdrożenie zakończy się niepowodzeniem ponieważ informacje nie będę prawidłowo wymieniane.

Migracja danych

Jest to element opcjonalny, występujący kiedy wdrożenie ma na celu zastąpienie starej aplikacji nową. Sama migracja to złożone zagadnienie i pewnie zasługuje na osobny artykuł. Na etapie wdrożenia należy na pewno zadbać, aby wszystkie niezbędne informacje ze starego systemu znalazły się również w nowym. Na pewno będzie to miało krytyczne znaczenie dla odpowiedniej pracy firmy po zamianie systemów.

Uruchomienie

Po wdrożeniu i skonfigurowaniu następuje uruchomienie systemu. Wymaga ono sprawdzenia czy odpowiednio ładują się wszystkie jego elementy składowe. Często ten etap wymaga powrotu do któregoś z poprzednich. Okazuje się bowiem, że trzeba doinstalować brakującą bibliotekę lub skonfigurować jeszcze dodatkowe uprawnienia sieciowe.

Przetestowanie

Po uruchomieniu systemu warto go jeszcze raz przetestować od strony funkcjonalnej. To testowanie w zasadzie nie różni się od testów na środowisku developerskim czy testowym. Natomiast często pojawiają się na tym etapie drobne błędy czy problemy, kiedy na przykład okazuje się że mamy „pustą” bazę danych i aplikacja wyrzuca niechciane błędy krytyczne, bo nie może czegoś odczytać. Prawidłowo przeprowadzone wdrożenie ma na celu eliminację takich usterek.

Testy pokażą też poprawność działania integracji i migracji danych. Nie mniej w tym elemencie należy zachować szczególną ostrożność bo można „namieszać” w środowisku produkcyjnym innych systemów.

programowanie aplikacji

Dokumentacja

Wraz z wdrożeniem, Wykonawca powinien przekazać również dokumentację. Powinna ona się składać co najmniej z następujących elementów:

  1. Dokumentacja powdrożeniowa – opis tego jak system został stworzony, zainstalowany i skonfigurowany.
  2. Dokumentacja administratora – zestaw elementów niezbędnych do tego, aby zarządzać systemem po jego wdrożeniu przez administratora IT.
  3. Dokumentacja użytkownika – instrukcja obsługi jak korzystać z systemu.

Szkolenie

W zależności od skali skomplikowania i specyfiki systemu, może być potrzebne przeprowadzenie szkoleń. Oczywiście należy się zastanowić i zawsze indywidualnie określić czy takie szkolenie jest wymagane czy nie. Aplikacja mobilna do przeglądania informacji o jakości powietrza nie wymaga specjalnych szkoleń (może przydać się ewentualnie samouczek na starcie). Natomiast system do awizacji i zarządzania ruchem pojazdów na terenie ogromnej elektrowni – wręcz przeciwnie. W jego wypadku trzeba będzie przeszkolić wybrane grupy użytkowników. Przykłady, o których piszę znam z naszego evertopowego podwórka.

Idealnie jeśli możemy szkolenia przeprowadzić na środowisku szkoleniowym, jeśli jednak takie środowisko nie powstało należy zwrócić uwagę czy przeprowadzać szkolenie na środowisku produkcyjnym czy lepiej na testowym lub nawet developerskim.

Chodzi o to, aby nie zaburzyć działania rzeczywistego systemu i zadbać o spójność danych, a także o jak najwierniejsze odwzorowanie środowiska, na którym przeprowadzane jest szkolenie w stosunku do produkcyjnego.

Szkolenie to często pierwszy prawdziwy test dla systemu. Często jego przyszli użytkownicy zaczynają naprawdę na nim pracować i konfrontują swoje oczekiwania z rzeczywistością. Warto dobrze ich do tego przygotować. Należy faktycznie zadbać o to, żeby nauczyli się nie tylko nowego systemu, ale także przekazać im informację po co on powstał. Jak ma pomóc organizacji i jak będzie przez nią wykorzystywany w szerszym ujęciu całego procesu.

szkolenie z zakresu nowego systemu

Udostępnienie użytkownikom

Ostatnia rzecz to udostępnienie nowego systemu użytkownikom. Jeśli nie zostało to zrobione na szkoleniu to teraz jest ostatni moment, żeby wytłumaczyć użytkownikom dlaczego wdrażamy nowy system. Czyli mówiąc krótko przeprowadzić ich przez zmianę.

Jako ludzie, bardzo zmian nie lubimy i każdą „nowość” traktujemy co najmniej z rezerwą. Samo przekazanie linku do aplikacji czy wskazanie ikony na pulpicie to zdecydowanie marginalne zagadnienie w stosunku do zmiany podejścia tej grupy użytkowników.

Plan

Na koniec najważniejsze – plan. Zwracam uprzejmie uwagę, drodzy Odbiorcy i Klienci – nie pozwalajcie na wdrożenie żadnego systemu bez jego odpowiedniego zaplanowania. Nie ważne z jakiej jesteście firmy czy organizacji – zadbajcie o to, aby skonsultować z Wykonawcą jak chce on wykonać poszczególne kroki, które opisałem powyżej.

Jeśli wdrożenie jest trudne i skomplikowane poproście o spisanie tych kwestii i przesłanie w formie dokumentu. Ułatwi to pracę waszego zespołu i usprawni przeprowadzenie całego procesu.

Żeby wdrażanie miało sens, trzeba też mieć plan na to jak przekonać do niego użytkowników i na ten element także dobrze poświęcić trochę czasu. Z doświadczenia wiem, że najłatwiej to zrobić angażując ich w powstawanie systemu od samego początku – tj. od definiowania i analizy wymagań, wtedy czują się współautorami powstającej aplikacji i nieco chętniej podchodzą do jej wdrożenia i wykorzystywania produkcyjnego.

Po co się wdraża system IT?

Łatwiej na to pytanie odpowiedzieć, kiedy wyobrazimy sobie co by się stało gdyby wdrożenia nie było lub gdyby było przeprowadzone nieprawidłowo. To mniej więcej tak jakby wpuścić nieprzygotowanego użytkownika do rakiety lub samolotu. W najlepszym wypadku nie udałoby mu się nic uruchomić, w najgorszym – nastąpiłaby katastrofa. Wniosek zatem jest dość trywialny prawidłowe wdrożenie systemu IT ma zapobiec katastrofie!

A tak bardziej na serio… wdrożenie ma po pierwsze zapewnić prawidłowe działanie systemu zarówno od strony infrastruktury (sieć, serwery, bazy danych, integracje), jaki i funkcjonalnej. A po drugie pomaga ono w przeprowadzeniu użytkowników przez zmianę jaką jest uruchomienie nowego narzędzia, z którego będą korzystać.

Maciej Kotok
Maciej Kotok
Prezes Zarządu Techniczny umysł, który został przedsiębiorcą. Kiedyś programista, designer, analityk i project manager, a obecnie Prezes Zarządu w Evertop. Miłośnik kawy za dnia oraz whisky i wina wieczorową porą.

scroll to top