Aplikacja działa, więc po co ją utrzymywać? Koszt zaniedbanego utrzymania
Co psuje się w aplikacji po 6, 12 i 24 miesiącach bez opieki, czym utrzymanie różni się od rozwoju i jak wygląda miesięczna opieka.

Aplikacja po wdrożeniu działa, więc budżet na jej opiekę łatwo uznać za zbędny. Tymczasem świat wokół niej się zmienia: biblioteki, systemy telefonów, usługi zewnętrzne i zagrożenia. Kod, którego nikt nie rusza, starzeje się z każdym miesiącem.
Co psuje się, gdy nikt nie opiekuje się aplikacją
Pierwsze objawy rzadko wyglądają jak awaria. Zwykle jest to lista drobnych zaległości, które rosną w tle, aż któraś z nich zatrzyma produkt. Poniższy przebieg jest typowy, a nie gwarantowany: tempo zależy od technologii i liczby integracji.
Zaległości narastają: im dłużej bez przeglądu, tym droższa naprawa.
| Po | Co się dzieje | Skutek dla firmy |
|---|---|---|
| 6 miesiącach | Biblioteki, z których zbudowano aplikację, dostają łatki bezpieczeństwa, a Twoja wersja ich nie ma. Systemy serwera czekają na aktualizacje. | Znane podatności są otwarte i publicznie opisane. |
| 12 miesiącach | Certyfikaty i klucze dochodzą do terminu ważności. Dostawcy zmieniają API lub wyłączają stare wersje. Wychodzą nowe wersje iOS i Androida. | Nagła awaria po wygaśnięciu certyfikatu, przestój integracji, sklep odrzuca nowy build. |
| 24 miesiącach | Część zależności nie ma już wsparcia. Nikt nie sprawdzał kopii zapasowych, a osoby, które znały system, odeszły. | Każda zmiana jest ryzykowna, a naprawa przypomina przepisywanie od nowa. |
Biblioteki z podatnościami
Nowoczesna aplikacja składa się w dużej części z cudzych bibliotek. Gdy w jednej z nich znajdzie się błąd bezpieczeństwa, autorzy publikują łatkę, a opis podatności trafia do publicznych baz. Kto łatki nie zainstaluje, zostaje z luką, którą każdy może sprawdzić.
Wygasające certyfikaty i domeny
Certyfikaty szyfrujące połączenie, klucze i domeny mają termin ważności. Gdy nikt go nie pilnuje, strona lub aplikacja nagle przestaje działać albo przeglądarka ostrzega klientów, że połączenie jest niebezpieczne.
Nowe wersje iOS i Androida
Apple i Google co roku wydają nowe wersje systemów i podnoszą wymagania wobec aplikacji w sklepach. Stary build może przestać działać na nowych telefonach albo zostać odrzucony przy kolejnej publikacji, a wtedy poprawka czeka na przebudowanie aplikacji.
Zmiany API dostawców
Płatności, kurierzy, poczta, księgowość i narzędzia AI zmieniają swoje interfejsy i wyłączają stare wersje. Integracja, która działała rok temu, może po cichu przestać przesyłać dane, a pierwszą osobą, która to zauważy, bywa klient.
Brak sprawdzonej kopii zapasowej
Kopia, której nikt nie odtworzył, jest tylko założeniem. Z czasem zmienia się baza, dostęp do magazynu kopii i hasła, a próba odtworzenia po awarii to najgorszy moment na odkrycie, że coś nie działa.
Każde z tych miejsc da się wychwycić przeglądem, zanim stanie się incydentem. Dlatego utrzymanie opiera się na stałym rytmie przeglądów.
Utrzymanie a rozwój
Te dwie usługi często trafiają do jednego worka, co powoduje kłopot: jedna chroni to, co masz, druga dodaje nowe. Jeśli płacisz tylko za rozwój, nikt nie ma w zakresie pracy aktualizacji, a jeśli tylko za utrzymanie, produkt nie rośnie.
Utrzymanie zachowuje to, co działa. Rozwój dodaje to, czego jeszcze nie ma.
Utrzymanie ma stały rytm: monitoring, aktualizacje, łatanie podatności, kopie i przegląd uprawnień. Rozwój idzie według roadmapy, w sprintach z demem. Warto je rozliczać osobno, żeby widzieć, na co idą pieniądze.
Prosty test: jeśli zmiana nie dodaje nowej możliwości dla użytkownika, a bez niej aplikacja stałaby się wolniejsza, mniej bezpieczna lub przestałaby działać, to jest utrzymanie. Aktualizacja biblioteki, wymiana wygasającego certyfikatu i dostosowanie do nowego API dostawcy należą do tej kategorii. Nowy raport, nowy rodzaj konta i nowa integracja to rozwój.
Ile kosztuje zaniedbanie
Kwoty zależą od aplikacji, więc nie podamy ich ogólnie. Możemy za to opisać, z czego składa się koszt zaniedbanego utrzymania.
- Awaria w złym momencie: wygasły certyfikat lub wyłączone API zatrzymują sprzedaż, rezerwacje albo pracę zespołu, zwykle w najbardziej obciążonym dniu.
- Incydent bezpieczeństwa: otwarta, znana podatność to prostsza droga do wycieku danych klientów, a za dane odpowiadasz Ty.
- Kumulacja długu: po dwóch latach zmiana jednej biblioteki ciągnie za sobą kolejne, więc jedna poprawka staje się projektem.
- Zablokowane sklepy: odrzucony build oznacza, że nie wydasz poprawki, której użytkownicy potrzebują.
Najdroższa jest zwykle zwłoka. Aktualizacja wykonana co miesiąc zajmuje chwilę i dotyczy małej zmiany. Ta sama aktualizacja po dwóch latach wymaga sprawdzenia wszystkiego, co od niej zależy, a każdy brakujący test i każda nieudokumentowana decyzja wydłuża pracę. Nie podajemy tu wskaźnika oszczędności, bo nie mamy danych z Twojej aplikacji, ale kierunek jest przewidywalny.
Porównaj to z miesięczną opieką, która rozkłada pracę na małe, przewidywalne kawałki. Koszt miesięczny zależy od rozmiaru aplikacji i liczby integracji: [NEED: widełki lub model rozliczenia opieki, np. godziny w pakiecie albo praca ponad pakiet, do akceptacji właściciela].
Jak wygląda miesięczna opieka w Hindbrain
Utrzymanie to szósty etap naszego procesu, następny po wdrożeniu. Zakres jest spisany, a efekt widzisz w raporcie.
- Monitoring: pilnujemy dostępności, błędów i alertów, żeby wiedzieć o problemie przed Twoimi użytkownikami.
- Aktualizacje i łatanie podatności: skan zależności co tydzień w CI, aktualizacje bibliotek i systemów, poprawki bezpieczeństwa.
- Przegląd uprawnień co kwartał oraz retest po każdej dużej funkcji. Pełny audyt bezpieczeństwa robimy raz w roku.
- Raport co miesiąc: co zrobiono, co wykryto, co zaplanowano.
- Roadmapa: nowe funkcje według priorytetów, które ustalasz Ty.
Płacisz za pracę, którą faktycznie wykonaliśmy, a zakres zmieniasz z miesiąca na miesiąc. Kod, projekty i konta zostają Twoje, więc w każdej chwili możesz zakończyć współpracę. Bezpieczeństwo jest częścią procesu od audytu przed startem po utrzymanie, o czym piszemy w artykule Audyt bezpieczeństwa aplikacji.
Skąd wiedzieć, że ktoś naprawdę utrzymuje Twoją aplikację
Zapytaj o trzy dowody. Pierwszy to raport z ostatniego miesiąca z listą zainstalowanych aktualizacji. Drugi to data ostatniego skanu zależności i wynik. Trzeci to zapis ostatniego testu odtworzenia kopii. Jeśli wykonawca nie ma takich dokumentów, opieka istnieje w umowie, ale nie w praktyce.
Warto też sprawdzić, kto dostaje alerty, gdy aplikacja przestaje działać. Jeśli odpowiedzią jest „klienci”, monitoring nie działa.
Jak przejąć zaniedbaną aplikację
Jeśli aplikacja już ma zaległości, nie zaczynaj od nowych funkcji. Najpierw zbierz dostępy, ustal stan techniczny i spisz ryzyka, a dopiero potem wprowadzaj małe, bezpieczne zmiany. Dzięki temu pierwsze tygodnie służą zrozumieniu systemu. Taki plan opisaliśmy w artykule Przejęcie istniejącej aplikacji: jak zacząć bez zgadywania.
Dla zaniedbanej aplikacji kolejność jest zwykle następująca: dostępy i kopie, aktualizacje z najpoważniejszymi podatnościami, certyfikaty i integracje, a na końcu porządkowanie długu.
Co zrobić dziś
Zapisz na kartce pięć rzeczy: kiedy ostatnio aktualizowano biblioteki, kiedy wygasają certyfikaty i domeny, kto ma dostęp do kont w sklepach, kiedy ostatnio odtworzono kopię zapasową i kto zgłosi Ci problem, zanim zauważą go klienci. Brak odpowiedzi na dwa z pięciu pytań to dobry powód, żeby umówić przegląd.
Nie musisz znać się na technologii. Wystarczy, że zadasz te pytania obecnemu wykonawcy lub zespołowi i poprosisz o odpowiedź na piśmie. Jeśli żadna osoba nie potrafi na nie odpowiedzieć, wiesz, że aplikacja nie ma opiekuna, a to jest ważniejsza informacja niż jakakolwiek wycena.
Przejęcie i miesięczna opieka: wycena w 5 dni
Opisz nam swoją aplikację, a przygotujemy wycenę przejęcia i miesięcznej opieki w 5 dni [NEED: potwierdzić 5 dni]. Przejęcie i miesięczna opieka: wycena w 5 dni