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
Tworzenie MVP
Usługi tworzenia MVP dla założycieli i zespołów produktowych: określenie zakresu, prototyp w Figma, wersja webowa lub mobilna i premiera na stosie, który udźwignie kolejną wersję, przez dedykowanych programistów MVP lub w formie projektu.
Tworzenie aplikacji SaaS
Usługi tworzenia aplikacji SaaS: architektura wielodostępna (multi-tenant), subskrypcje i rozliczenia, korporacyjne jednokrotne logowanie (SSO), narzędzia wsparcia i wydania bez przestojów, przez dedykowanych programistów SaaS lub w formie projektu.
Tworzenie aplikacji webowych
Usługi tworzenia aplikacji webowych: portale klienta, narzędzia wewnętrzne, dashboardy i progresywne aplikacje webowe (PWA), obejmujące backend i hosting, przez dedykowanych programistów webowych lub w formie projektu.
Tworzenie API
Usługi tworzenia API i integracji: API REST i GraphQL, integracje z systemami zewnętrznymi, komunikacja zdarzeniowa i webhooki, z monitoringiem każdego połączenia, przez dedykowanych programistów API lub w formie projektu.
Migracja do chmury
Usługi migracji do chmury: ocena obciążeń, landing zones w Terraform oraz przenoszenie baz danych i aplikacji do Azure, AWS lub Google Cloud z zaplanowanym przełączeniem, przez dedykowanych inżynierów chmury lub w formie projektu.
Boty Telegram i Viber
Boty Telegram i Viber dla biznesu: zamówienia, rezerwacje, płatności przez LiqPay, WayForPay lub monobank, status zamówienia i boty dla pracowników, połączone z Państwa stroną, CRM i księgowością.
Chatboty dla firm, instytucji i organizacji charytatywnych
Chatboty do obsługi klienta, rezerwacji, zamówień, odczytów liczników, przyjęć do szkół, usług publicznych i organizacji charytatywnych, w Telegram, Viber, WhatsApp, Facebook Messenger, Instagram i na Państwa stronie, budowane na SendPulse, Botpress lub Copilot Studio albo w kodzie.
Integracje z usługami ukraińskimi
Państwa strona, sklep lub CRM połączone z Nova Poshta, Ukrposhta, LiqPay, monobank, PrivatBank, Checkbox, Vchasno, Paperless, Prom.ua, Rozetka, KeyCRM i API Prozorro, bez ponownego wpisywania danych.
Tworzenie systemów CRM
Systemy CRM wdrażane, rozszerzane lub budowane pod Państwa proces: KeyCRM, SalesDrive, HubSpot, Pipedrive, Salesforce, Dynamics 365 lub własny CRM, z integracjami i zautomatyzowaną rutyną.
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.