TrenujMnie – rozwój systemu legacyi nadzór techniczny nad migracją aplikacji mobilnej
Współpracę przy projekcie TrenujMnie rozpoczęliśmy w kwietniu 2024 roku.
W momencie rozpoczęcia współpracy aplikacja była już istniejącym i rozwijanym produktem mobilnym przeznaczonym na platformę Android. System posiadał rozbudowaną bazę funkcjonalną oraz kod tworzony przez wcześniejsze zespoły, dlatego jednym z pierwszych wyzwań było sprawne wejście w istniejącą architekturę i dalszy rozwój aplikacji bez zakłócania jej bieżącego działania.
W kolejnych etapach projekt przeszedł również większą zmianę technologiczną – rozpoczęto migrację aplikacji do Fluttera, dzięki czemu produkt mógł być rozwijany równolegle na Androida oraz iOS.
Wyzwanie
Projekt obejmował dwa różne etapy i dwa różne typy odpowiedzialności.
W pierwszym okresie głównym wyzwaniem było rozwijanie istniejącej aplikacji Android napisanej w Javie. Prace wymagały poruszania się w istniejącym kodzie, wprowadzania nowych funkcjonalności oraz usprawnień bez konieczności budowania systemu od początku.
W późniejszym etapie klient zdecydował się na migrację aplikacji do Fluttera, realizowaną przez zewnętrzny zespół developerski.
W tej sytuacji istotne stało się zapewnienie odpowiedniej kontroli jakości i ciągłości produktu. Konieczne było bieżące weryfikowanie wdrażanych funkcjonalności, wychwytywanie braków i regresji oraz koordynowanie poprawek pomiędzy założeniami biznesowymi a realizacją techniczną.
Nasza rola
Na początku współpracy odpowiadaliśmy przede wszystkim za rozwój istniejącej aplikacji Android.
Zakres naszych prac obejmował między innymi:
- rozwój aplikacji napisanej w Java,
- wdrażanie nowych funkcjonalności,
- poprawę istniejących elementów systemu,
- usuwanie błędów i problemów technicznych,
- analizę istniejącego kodu i architektury,
- utrzymanie ciągłości działania rozwijanego produktu.
Po rozpoczęciu migracji do Fluttera nasza rola stopniowo zmieniła się z bezpośredniego developmentu w kierunku nadzoru technicznego i jakościowego.
Odpowiadaliśmy między innymi za:
- testowanie kolejnych wersji aplikacji,
- weryfikowanie poprawności wdrażanych funkcjonalności,
- identyfikowanie błędów, regresji i brakujących elementów,
- definiowanie obszarów wymagających poprawy,
- kontrolowanie zgodności implementacji z oczekiwanym działaniem produktu,
- koordynowanie procesu wprowadzania poprawek,
- wspieranie klienta w technicznej ocenie realizowanych prac.
W wybranych obszarach nadal wprowadzaliśmy również bezpośrednie zmiany w aplikacji.
Model współpracy
Istotnym elementem projektu było połączenie zewnętrznego zespołu developerskiego z niezależnym nadzorem technicznym po stronie klienta.
Pozwalało to rozdzielić odpowiedzialność za samo wykonywanie prac developerskich od ich weryfikacji i kontroli jakości.
Naszą rolą było reprezentowanie interesu klienta od strony technicznej i produktowej oraz pilnowanie, aby kolejne wersje aplikacji były zgodne z wymaganiami i gotowe do dalszego rozwoju.
Takie podejście pozwala klientowi korzystać z elastycznego modelu outsourcingowego bez rezygnowania z kontroli nad jakością realizowanego produktu.
Efekt
Współpraca pozwoliła zachować ciągłość rozwoju aplikacji w okresie istotnych zmian technologicznych.
Projekt przeszedł od rozwijanej natywnie aplikacji Android do rozwiązania wieloplatformowego opartego o Flutter, przy jednoczesnym zachowaniu niezależnej kontroli nad jakością wdrażanych zmian.
M&P IT Solutions pełniło w projekcie zarówno rolę zespołu developerskiego na wcześniejszym etapie, jak i partnera technicznego wspierającego klienta w kontroli realizacji prac przez zewnętrznych wykonawców.
Projekt TrenujMnie jest przykładem współpracy, w której nasze zadanie nie ograniczało się wyłącznie do programowania. Obejmowało również przejęcie odpowiedzialności za jakość techniczną produktu, testowanie, weryfikację wykonania i wsparcie klienta w zarządzaniu procesem rozwoju aplikacji.