Przejdź do treści
BigTree108

Usługi modernizacji oprogramowania legacy

Modernizacja oprogramowania legacy dla systemów, które nadal prowadzą biznes, ale go spowalniają: przejmowanie kodu napisanego przez inne zespoły, aktualizacje do bieżących wydań i stopniowa wymiana starych modułów, bez przepisywania wszystkiego naraz. Dotąd trafiło do nas od innych zespołów dziewięć systemów, najstarszy napisano w 2008 roku.

Jak modernizujemy system legacy

  • Najpierw przegląd w trybie tylko do odczytu

    Kod, zależności, wdrożenie i dane przeczytane od początku do końca, zanim ktokolwiek zmieni linię, z pisemną listą ryzyk w kolejności wpływu na produkcję.

  • Testy wokół tego, co istnieje

    Testy charakteryzujące utrwalające to, co system robi dziś, wraz z jego dziwactwami, tak aby każda późniejsza zmiana była sprawdzana względem rzeczywistego zachowania, a nie pamięci.

  • Aktualizacje frameworków i środowisk uruchomieniowych

    .NET Framework na aktualny .NET, Java 8 na aktualne LTS, PHP 5 na PHP 8, Python 2 na 3 i AngularJS na Angular, krok po kroku, a każdy krok jest wydawany osobno.

  • Wymiana metodą strangler fig

    Nowe moduły budowane obok starego systemu za warstwą routingu, przejmujące po jednej funkcji, aż stary kod będzie można wyłączyć, bez jednego dnia, w którym zmienia się wszystko.

  • Modernizacja bazy danych

    Logika biznesowa przeniesiona z procedur składowanych do przetestowanego kodu, zmiany schematu zamienione na wersjonowane migracje, a dane z niewspieranych wersji baz danych przeniesione z raportem uzgodnienia.

  • Spłacony dług bezpieczeństwa

    Niewspierane zależności wymienione, znane podatności naprawione, sekrety przeniesione z plików konfiguracyjnych do vaulta oraz skanowanie zależności w pipeline, aby dług nie wrócił.

Zatrudnienie: inżynierowie systemów legacy

  • Dedykowani inżynierowie systemów legacy

    Inżynierowie systemów legacy dołączają do Państwa zespołu na pełny etat, pracują w Państwa narzędziach i procesie oraz podlegają Państwa liderowi. Państwo przeprowadzają rozmowy kwalifikacyjne, a my bierzemy na siebie ukraińską umowę, wynagrodzenia, fakturowanie i urlopy.

  • Projekty: Modernizacja

    Wydzielona część prac w obszarze „modernizacja”, z określonym zakresem, stałym planem i wskazanym liderem po naszej stronie, który odpowiada za wynik i raportuje postępy w Państwa kanałach.

  • Stała współpraca: modernizacja

    Usługa ciągła w obszarze „Modernizacja”: ci sami ludzie co miesiąc, backlog, któremu Państwo ustalają priorytety, oraz godziny widoczne w naszym portalu i na fakturze.

Strona o dedykowanym zespole wyjaśnia, jak specjaliści dołączają do Państwa zespołu, a strona o outsourcingu opisuje realizację projektów, przejęcia i sposób rozliczania.

Kto realizuje Państwa prace w obszarze „modernizacja”

  • Lider techniczny

    Odpowiada za przegląd, listę ryzyk i kolejność prac

  • Inżynierowie .NET, Java i PHP

    Aktualizacje i refaktoryzacja we własnym języku systemu

  • Inżynierowie chmury i DevOps

    Pipeline, infrastruktura jako kod i odejście od starych serwerów

  • Inżynierowie QA

    Testy charakteryzujące i regresji

Modernizacja krokami, a nie jednym przepisaniem

Pełne przepisanie wstrzymuje dostawy na miesiące i zwykle gubi zachowania, których nikt nie spisał. Dlatego modernizujemy krokami: każdy na tyle mały, by go wydać, przetestowany względem tego, co system robił wcześniej, i wybrany według ryzyka lub kosztu, który usuwa, dzięki czemu biznes działa na systemie, gdy ten się zmienia.

Przejęcie zaczyna się od przeglądu w trybie tylko do odczytu i pisemnej listy ryzyk, zanim cokolwiek naprawimy. Czasem lista pokazuje, że moduł lepiej przepisać, i wtedy mówimy to wprost, z uzasadnieniem na piśmie i przepisaniem zaplanowanym za tymi samymi testami.

Pozostałe rozwiązania, które dostarczamy

Rozwiązania: przegląd

Pytania o modernizację systemów legacy

Przepisywać czy modernizować?

Zwykle modernizować. Przepisanie ma sens dla modułu, którego zachowanie jest dobrze rozumiane, a kod blokuje każdą zmianę; dla reszty aktualizacje przyrostowe i wymiana metodą strangler fig dostarczają wartość szybciej i zachowują wiedzę zapisaną w starym kodzie. Przegląd daje tę decyzję dla każdego modułu, na piśmie.

Nasi pierwotni programiści odeszli. Czy nadal mogą Państwo przejąć system?

Tak. Pracujemy na podstawie kodu, bazy danych, wdrożenia i osób, które nadal używają systemu, a pisemna lista ryzyk mówi, co znaleźliśmy, zanim zdecydują Państwo, co zmienić.

Czy stary system działa dalej w trakcie modernizacji?

Tak. Poprawki i łatki bezpieczeństwa trafiają do działającego systemu przez cały czas, a każdy krok modernizacji jest wydawany osobno, więc nigdy nie ma okresu, w którym biznes czeka na nową wersję.

Jak szybko mogą zacząć inżynierowie systemów legacy?

Gdy odpowiedni inżynier modernizacji jest dostępny, o terminie startu decydują wyłącznie Państwa rozmowa oraz NDA i przeniesienie praw własności intelektualnej. W przeciwnym razie prowadzimy poszukiwania, które zwykle dają profile kandydatów w ciągu dwóch do trzech tygodni, a nikt nie zaczyna pracy, dopóki Państwo nie powiedzą „tak”.

Jak wygląda zatrudnienie przez BigTree108: inżynierowie systemów legacy?

Prosimy o informację o zakresie pracy, poziomie doświadczenia i potrzebnych godzinach. Proponujemy jedną lub dwie osoby wraz z ich profilami, Państwo przeprowadzają z nimi rozmowy tak, jak z własnym kandydatem, podpisują jedną umowę z BIG TREE 108 LLC i otrzymują jedną fakturę miesięcznie.

Do kogo należy praca, którą wykonują?

Do Państwa. Każdy specjalista ma podpisaną z BigTree108 umowę, która przenosi wszystkie rezultaty pracy na spółkę, a nasza umowa z Państwem przenosi je dalej. Kod, projekty i dokumenty są przekazywane do Państwa własnych repozytoriów i narzędzi, a nie przechowywane tam, gdzie zmieniać je możemy tylko my.

Prowadzą Państwo system, którego nikt nie chce dotykać?

Prosimy przesłać repozytorium lub opis systemu. Odpowiedź otrzymają Państwo w ciągu jednego dnia roboczego: plan przeglądu i pierwszych kroków po nim.