Przejmowanie i utrzymanie systemów IT
Piotr Lewandowski , 13 lutego 2019
Może przychodzisz do firmy zastąpić ostatniego programistę w dziale IT. Może obejmujesz właśnie stanowisko dyrektora IT. Może jesteś w sytuacji, w której przejmujesz aplikację po poprzedniej firmie programistycznej. Postaramy się Ci pomóc w każdej z tych sytuacji. Przejęcie systemu po poprzedniku lub przejęcie porzuconego systemu jest dosyć złożoną sytuacji i wiąże się z szeregiem czynności. W ImpiCode mamy z tym do czynienia bardzo często. Jeżeli gdzieś w pobliżu mamy do dyspozycji naszego poprzednika/poprzedników to musimy się spieszyć, żeby zadać im wszystkie możliwe pytania. Jeżeli nie to pozostaje nam szukanie kodu, dokumentacji i zbieranie dostępu do serwerów. Przyjrzymy się wszystkim obszarom, na które warto zwrócić uwagę przy przejmowaniu pod opiekę aplikacji i stworzymy checklistę, która pomoże zorientować się w sytuacji, kiedy mamy niewiele czasu na transfer wiedzy.
Kody źródłowe
Podstawowym zadaniem przy wdrażaniu się w nową aplikację jest zebranie kodów źródłowych do wszystkich komponentów. Warto zapytać, gdzie znajdują się wszystkie repozytoria (CVS, SVN, Git, czy inne). Trzeba sprawdzić, czy repozytoria znajdują się na firmowych serwerach/firmowej chmurze, a nie na serwerach byłego dostawcy, czy domowym serwerze programisty, który właśnie odchodzi z pracy. Takie przypadki się zdarzały. Wtedy należy pobrać repozytorium i zorganizować nowe miejsce do hostowania bazy kodu. Po przejęciu repozytorium dobrze też zadbać, żeby odebrać dostęp poprzedniemu dostawcy systemu i byłym pracownikom. W wypadku przeszłych dostawców IT dobrze też jest uzyskać zapewnienie, że kod źródłowy został wykasowany z ich infrastruktury.
Podsumowanie
Podsumujmy naszą checklistę przejmowania systemu IT:
- Kody źródłowe
- Gdzie znajduje się baza kodu, repozytorium projektu?
- Czy nie ma żadnych zależności z prywatną bazą kodu programistów?
- Czy wszystkie źródła i przekazane materiały zostaną wykasowane z baz i serwerów poprzedniego dostawcy?
- Czy na podstawie kodu źródłowego, który jest w repozytorium da się zbudować projekt? Tutaj potrzebne jest wykonanie testowej instalacji systemu.
- Czy wersja kodu na serwerach produkcyjnych jest zgodna z tym, co znajduje się w repozytoriach?
- Czy kod w repozytorium jest kompletny?
- Czy zostały przekazane instrukcje instalacji środowiska produkcyjnego?
- Czy zostały przekazane skrypty potrzebne do postawienia środowiska produkcyjnego?
- Wymagania
- Czy wiemy, kto jest klientem biznesowym i definiuje wymagania do systemu?
- Czy istnieje instrukcja użytkownika?
- Jak jest wersjonowana instrukcja użytkownika?
- Czy istnieje roadmapa / plan rozwoju aplikacji?
- Jak jest postęp prac nad wersją rozwojową?
- Jakie potencjalne problemy technologiczne zaczynają się ujawniać w oprogramowaniu?
- Dostępy
- Kto posiada dostęp administracyjny do serwera?
- Jak zakładać konta i przydzielać uprawnienia?
- Czy przyznawanie wszystkich dostępów może być (lub jest) wykonywane przez nieprogramistów?
- Serwery
- Kto ma dostępy do serwerów?
- Gdzie znajduje się serwerownia?
- Kto przedłuża i opłaca certyfikaty i inne usługi potrzebne do działania serwerów?
- Czy jest używane oprogramowanie do monitorowania działania serwerów i systemów?
- Zależności z zewnętrznym oprogramowaniem
- Czy projekt korzysta z płatnych podsystemów?
- Czy łączy się z zewnętrznym API?
- Kto odpowiada za opłacenie dostępu do API?
- Na jakiej podstawie wiemy, że zostanie utrzymana ciągłość świadczenia usługi przez wykorzystywane zewnętrzne systemy?
- Jakie są procedury związane z aktualizacją zewnętrznego oprogramowania?
- Inne artefakty
- biblioteki DLL
ImpiCode jako firma programistyczna świadczy usługi z zakresu przejmowania i opieki nad systemami informatycznymi. Przeczytaj o tym jak udało nam się z sukcesem przejąć i rozwijać system VSMS.