NDA: Aplikacja mobilna – diety pudełkowe

Ecommerce / Technologia: Flutter

O projekcie

Przejęcie rozwoju i Refaktoryzacja Aplikacji Mobilnej

Przejęliśmy projekt aplikacji mobilnej od poprzedniego dostawcy, który nie sprostał oczekiwaniom klienta. Aplikacja, używana codziennie przez tysiące użytkowników, wymagała pilnej interwencji. Jej stan techniczny uniemożliwiał dalszy rozwój – kod był trudny do modyfikacji, a każda zmiana wywoływała nieprzewidywalne błędy. Naszym zadaniem było uratowanie projektu i przywrócenie mu pełnej funkcjonalności, bez możliwości przepisania go od podstaw ze względu na ograniczenia budżetowe i czasowe.

Cele Projektu

Głównym celem było przejęcie aplikacji i zapewnienie ciągłości jej działania, jednocześnie eliminując krytyczne błędy i przygotowując ją do dalszego, stabilnego rozwoju. Musieliśmy równolegle prowadzić bieżący development nowych funkcji i ratować istniejący kod, aby zminimalizować poziom błędów i podnieść zadowolenie użytkowników.

Wyzwania

  • Złożoność i niestabilność kodu: Głównym wyzwaniem był nierozwijalny kod, w którym nawet niewielkie zmiany w jednej części aplikacji powodowały kaskadę błędów w innych, pozornie niezwiązanych obszarach. Brak stabilności uniemożliwiał szybkie dodawanie nowych funkcji.
  • Brak dokumentacji i testów: Projekt nie był wyposażony w żadne testy automatyczne, co uniemożliwiało bezpieczne wprowadzanie zmian. Dodatkowo, brak szczegółowej dokumentacji technicznej utrudniał zrozumienie działania kluczowych modułów.
  • Wysoki poziom błędu: Mimo tysięcy użytkowników dziennie, poziom błędów (crash free users) był niski, co negatywnie wpływało na doświadczenia użytkowników i reputację aplikacji.
  • Ograniczenia budżetowe i czasowe: Musieliśmy działać w ramach ściśle określonego budżetu i terminów, co wykluczało możliwość stworzenia aplikacji od zera. Co więcej, przejęliśmy projekt w kluczowym dla branży okresie, co oznaczało, że aplikacja miała wtedy największy ruch i obciążenie.

Rozwiązanie

Nasze działania rozpoczęliśmy od dogłębnej analizy kodu i zapoznania się z planowanymi funkcjonalnościami. Aby zminimalizować ryzyko wprowadzania dalszych błędów, kluczowym krokiem było napisanie testów jednostkowych dla istniejącego kodu. Dzięki temu mogliśmy upewnić się, że nasze modyfikacje nie psują już działających funkcji.

Po tym etapie przystąpiliśmy do refaktoryzacji najbardziej krytycznych fragmentów kodu, jednocześnie prowadząc bieżący rozwój nowych funkcjonalności. W ciągu sześciu miesięcy intensywnych prac, połączonych z ciągłym testowaniem, udało nam się podnieść poziom bezbłędnej pracy aplikacji (crash free users) do ponad 99%, co przywróciło jej stabilność i umożliwiło dalszy, bezpieczny rozwój.

Przegląd prywatności

Ta strona korzysta z ciasteczek, aby zapewnić Ci najlepszą możliwą obsługę. Informacje o ciasteczkach są przechowywane w przeglądarce i wykonują funkcje takie jak rozpoznawanie Cię po powrocie na naszą stronę internetową i pomaganie naszemu zespołowi w zrozumieniu, które sekcje witryny są dla Ciebie najbardziej interesujące i przydatne. Zapoznaj się z naszą polityką prywatności.