Cykl życia aplikacji

Cykl życia aplikacji

Każdy projekt programistyczny ma swój cykl życia. Składa się on standardowo z następujących faz:

  • Analiza/wycena - początkowa faza projektu pozwala na opisanie etapów i wymagań w celu określenia ram czasowych i proponowanych rozwiązań,
  • Budowa - realizacja projektu,
  • Testy - sprawdzanie projektu pod względem jakości, bezpieczeństwa, zastosowanych rozwiązań - celem jest umożliwienie jego wdrożenia w produkcji,
  • Wdrożenie - uruchomienie i zapewnienie dostępu do grupy docelowej użytkowników,
  • Wsparcie techniczne - pomoc w uruchomieniu rozwiązania na dowolny okres gwarancyjny uzgodniony z klientem w celu rozwiązania ewentualnie zaistniałych problemów technicznych,
  • Zamknięcie i likwidacja - istotny, często pomijany etap cyklu życia, który należy rozważyć.

Ważne jest również, aby w cyklu życia projektu zaangażowane osobe były świadome swoich ról. Przykładowy podział może on wyglądać np. tak:

  • Partner biznesowy,
  • Właściciel projektu (po stronie wykonawcy),
  • Zespół programistów,
  • Zespół wsparcia,
  • Zespół ds. bezpieczeństwa.

1. Analiza/wycena

Faza analizy rozpoczyna się od identyfikacji założeń projektu.

Ustalamy termin spotkania z Klientem w celu sprecyzowania założeń projektu. Wspólnie definiujemy wymagania biznesowe, w tym wireframe'y i specyfikacje zasobów internetowych, wstępnie dobieramy niezbędne środki i narzędzia. Staramy się również przewidzieć zagrożenia związane z projektem, im wcześniej tym lepiej.

Kolejnym etapem procesu jest oszacowanie kosztów i zaplanowanie harmonogramu prac. W celu doprecyzowania szczegółów niezbędny jest kontakt z klientem.

W trakcie trwania tej fazy przygotowujemy następujące dokumenty:

  • Mapa aplikacji - zawiera układ i sposób nawigacji po projekcie,
  • Wireframe'y - Składają się z klikalnych bloków z adnotacjami dotyczącymi funkcjonalności,
  • Analityka - zawiera opis danych analitycznych, które będą zbierane w czasie korzystania z aplikacji,
  • Harmonogram projektu, który zawiera istotne zadania i kamienie milowe projektu,
  • Specyfikacja funkcjonalna - zatwierdzone wireframe'y i dokument funkcjonalny dla wszystkich funkcjonalności front-end i back-end.

Po zaakceptowaniu kosztorysu przez naszego Klienta - może rozpocząć się kolejna faza...

2. Budowa

Spotkanie inauguracyjne(Kick off meeting) jest organizowane dla uczestników projektu w celu zweryfikowania oczekiwań, ról, obowiązków, sposobu komunikacji, dostarczania assetów, harmonogramu etapów i szkoleń, procedur kontroli zmian i planów rozwoju.

Opracowywany jest plan testów dla interfejsu użytkownika (UI), testów bezpieczeństwa, testów typu End-to-End oraz testów akceptacji użytkownika (UAT), testuje się funkcjonalność rozwiązania. Tworzone są skrypty testowe dla Klienta oraz wykonywane jest pełne testowanie przed rozpoczęciem testów UAT.

Po spotkaniu inauguracyjnym zespół ds. rozwoju rozpoczyna programowanie. Co tydzień prowadzone są rozmowy, wymieniane są emaile nt. statusu. Klient jest na bieżąco informowany o postępach.

Poniższe rodzaje testów są brane pod uwagę w zależności od stopnia skomplikowania projektu:

  • Interfejs użytkownika - weryfikacja, czy interfejsy użytkownika aplikacji zostały zaprojektowane i działają zgodnie z założeniami przy w przeglądarkach komputerów stacjonarnych, a także na urządzeniach mobilnych,
  • Funkcjonalność administracyjna - sprawdzenie, czy wszelkie funkcje administracyjne działąją prawidłowo. Na przykład zarządzanie treścią,
  • Sprawdzenie, czy aplikacja tworzy odpowiednie komunikaty o błędach i potwierdza, że w przypadku wystąpienia błędu integralność danych nie jest zagrożona,
  • Wydajność - sprawdza, czy aplikacja działa optymalnie i wydajnie,
  • Raportowanie - sprawdza, czy wszystkie konieczne raporty są opracowane i działają zgodnie z wymaganiami.

Dodatkowe modyfikacje mogą zostać włączone w zależności od potrzeb:

  • Integracja - sprawdzenie, czy jakakolwiek integracja ze zewnętrznymi źródłami danych działa zgodnie z oczekiwaniami,
  • Bezpieczeństwo - weryfikacja, czy aplikacja ma wbudowane odpowiednie rozwiązania dotyczące bezpieczeństwa,
  • Przestrzeganie obowiązujących przepisów - sprawdza, czy rozwiązanie obsługuje obowiązujące wymogi regulacyjne, prawne i dotyczące ochrony prywatności.

3. Testowanie

W fazie testowania tworzone rozwiązanie jest testowane pod kątem jakości, optymalizowane pod kątem pozycjonowania w wyszukiwarkach, testowane pod kątem bezpieczeństwa i dopuszczone do produkcji. Wewnętrzne testy UAT pozwalają naszemu zespołowi na wewnętrzne przetestowanie rozwiązania przed wysłaniem go do klienta.

Testowanie UAT pozwala na pełne, sformalizowane testowanie rozwiązania przez użytkownika. Jest ono przeprowadzane w celu sprawdzenia pełnej funkcjonalności rozwiązania, opiera się na skryptach testowych utworzonych podczas fazy developmentu.

Po pomyślnym zakończeniu testów UAT przez klienta projekt jest gotowy do wdrożenia.

4. Uruchomienie produkcyjne

Wdrożenie projektu w zależności od stopnia skomplikowania powinno zakładać przedział czasowy 1-2 dni dla aplikacji internetowej i 3-5 dni dla aplikacji mobilnej. Wspólnie z klientem ustalamy moment uruchomienia, tak aby klient był w pełni świadomy tego faktu i, na przykład, mógł poinformować o tym fakcie swoich użytkowników.

Automatycznie po uruchomieniu aplikacji wchodzi ona w fazę wsparcia technicznego.

5. Wsparcie techniczne i utrzymanie

Podczas fazy wsparcia technicznego, wdrożone rozwiązanie jest utrzymywane przez dowolny uzgodniony okres gwarancji w celu rozwiązania problemów technicznych, a następnie albo zostaje zamknięte, lub też okres wsparcia zostaje przedłużony. Innym rozwiązaniem jest pozostawienie supportu po stronie Klienta.

6. Zamknięcie projektu

Przy planowaniu aplikacji należy wziąć pod uwagę sytuację, w której nie będzie ona już potrzebna. Należy wtedy zastanowić się, co zrobić z użytkownikami, którzy na niej polegają, jak zachować lub udostępnić zgromadzone dane itp.

Podczas tej fazy aplikacja jest zamykana i wycofywana.