3 sprawdzone metody na utrzymanie oprogramowania

09/06/2020

Data ostatniej aktualizacji: 16.03.2021 11:57

Jeśli już tu jesteś, to z dużym prawdopodobieństwem poszukujesz rozwiązania dla kwestii starych technologii w Twojej firmie! Java 1.4-1.6, .NET w wersjach niewspieranych, nieaktualizowane serwery aplikacyjne, stare wersje bibliotek Spring, Hibernate, C/C++, Delphi, Cobol, Scala, PHP i wiele innych. Brzmi znajomo? Istnieje szansa, że wiemy,  jak Ci pomóc. Utrzymanie oprogramowania to dla nas chleb powszedni.

1. Dlaczego?

Na przestrzeni dwóch dekad przejęliśmy w utrzymanie kilkadziesiąt różnych systemów od wielu Klientów. Zazwyczaj powodami było niezadowolenie z jakości usług obecnego dostawcy, zaprzestanie świadczenia wsparcia lub wyjście z użycia technologii, która wspierała kluczowe systemy w firmie.

Do tego moglibyśmy dodać kolejne argumenty, które szczególnie dziś zyskują na znaczeniu. Na przykład, konieczność znalezienia oszczędności oraz koncentracja wysiłków zespołu IT na projektach rozwojowych, a nie utrzymaniowych.

Bez względu na źródło problemów związanych z utrzymaniem starych, jednocześnie ciągle potrzebnych, firmie systemów, możesz rozwiązać je w optymalny dla siebie sposób. Spójrz na poniższą listę. Które punkty dotyczą Twojej organizacji?

2. Rozwiązanie na utrzymanie

Jeśli jeszcze nie podjąłeś konkretnych decyzji, to prawdopodobnie rozważasz jeden z trzech poniższych wariantów podejścia do legacy. Sprawdź, czy w każdym z tych przypadków nasze zrozumienie potrzeb pokrywa się z Twoimi oczekiwaniami:

🔴 Strategia na utrzymanie oprogramowania #1: „Wygaszam i wyłączam”

Wdrażasz nowe rozwiązanie, dlatego sukcesywnie wygaszasz stary system. Zależy Ci na podtrzymaniu żywotności legacy w minimalnym zakresie poprzez rzetelną ocenę zasadności poszczególnych zgłoszeń i zajmowanie się tymi, które są krytyczne. Kluczowym będzie tu tzw. mały rozwój, np. w zakresie zmian wymaganych przez prawo. Pożądane będzie też utrzymanie wykorzystywanych przez system elementów infrastruktury: instalacja istotnych aktualizacji OS, baz, serwerów aplikacji i WWW.

🔴 Strategia na utrzymanie oprogramowania #2: „Migruję do nowych technologii”

Zmieniasz technologię systemu, by móc wdrażać nowoczesne rozwiązania. W tym wypadku będziesz oczekiwać opracowania docelowej architektury, rekomendacji strategii migracji oraz jej późniejszego wykonania w całości lub częściowo. Szczególnie ważne będą wcześniejsze doświadczenia potencjalnego Partnera w podobnych projektach, aby mieć pewność, że zmiana przebiegnie sprawnie i w terminie.

🔴 Strategia na utrzymanie oprogramowania #3: „Korzystam, minimalizując konieczne zmiany”

Opierasz się na dotychczasowym rozwiązaniu, ograniczając się jedynie do krytycznych zmian.
Szczególne ważne będzie tu usprawnienie obecnych systemów, np. poprzez automatyzację najbardziej czasochłonnych lub błędogennych czynności. Sam system powinien być utrzymywany w minimalnym zakresie, aby pozwalał na zachowanie bezpieczeństwa biznesu. Dlatego racjonalna ocena „krytyczności” zgłoszeń oraz koniecznych zmian, rozwój w zakresie zmian prawnych oraz pilnowanie aktualizacji będzie tym, na czym Ci najbardziej zależy.

💥 Chcesz wiedzieć, które z rozwiązań będzie najlepsze dla Ciebie? 💬 Napisz do nas! 

 

3. Utrzymanie oprogramowania według nas

Oddanie swojego oprogramowania w utrzymanie partnerowi zewnętrznemu wiąże się z ryzykiem. Może być drogą przez mękę lub okazać się wygodnym rozwiązaniem.  Od czego to zależy? Naszym zdaniem kluczowe znaczenie ma metodyczne podejście do takich inicjatyw. Droga na skróty praktycznie zawsze się mści. Dlatego nasze projekty prowadzimy zgodnie z opracowanym przez nas i sprawdzonym w kilkudziesięciu realizacjach planem całej tranzycji.

Każdy projekt jest inny, dlatego proces przejmowania systemów dostosowujemy do indywidualnej sytuacji Klienta. Najczęściej system przejmujemy „płynnie”. Przez pewien czas możemy być wsparciem dla obecnych sił utrzymania lub od razu przejąć dowodzenie kompleksowo.

4. Krok po kroku, nie z doskoku

Pierwszym etapem jest ocena portfolio. Obejmuje ona analizę Twojego środowiska informatycznego oraz oczekiwań w zakresie efektów współpracy i utrzymania parametrów o krytycznym znaczeniu.  Kolejnym krokiem jest sprawne przeprowadzenie tranzycji. Przygotujemy się do pełnego przejęcia opieki nad systemami, dzieląc to na etapy.

Z każdym kolejnym działaniem poszerzamy wiedzę na temat przejmowanego rozwiązania – począwszy od analizy systemu wraz z dokumentacją, odtworzeniem i testowaniem na własnym środowisku, poprzez naprawę błędów, aż po gotowość do pełnego świadczenia usług.

🔴 Etap 1 – rozpoznanie sytuacji

🔴 Etap 2 – pierwsze testy

🔴 Etap 3 – ustalenie zakresu

🔴 Etap 4 – pełne utrzymanie oprogramowania

Rozpoczęcie samodzielnego świadczenia usług na uzgodnionych warunkach.  Utrzymanie oprogramowania i zasady nim rządzące są często bardzo rygorystyczne, szczególnie w działalnościach o wysokiej reputacji oraz zaufaniu społecznym czy klientów.

Etapy utrzymania oprogramowania - fazy tranzycji

5. Podsumowanie

Opisany sposób działania pozwala nam na dogłębne poznanie systemów w krótkim okresie. Typowy czas potrzebny na przejęcie pojedynczej aplikacji to zazwyczaj 2-3 tygodnie. Ponieważ metodyczne podejście umożliwia skalowanie efektów, to jednocześnie możemy nim objąć kilka, a nawet kilkanaście aplikacji. Tranzycja jest procesem, który przebiega zwinne, a więc w pełni kontrolowanie, jeśli chodzi o postępy i obserwowane efekty.

💥 Chcesz porozmawiać o potrzebach Twojej firmy? 💬 Napisz do nas! 

 

Tomasz Turmowicz
Altkom Software & Consulting