Application Lifecycle Management

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

Application Lifecycle Management (ALM, zarządzanie cyklem życia aplikacji) to ciągły proces zarządzania życiem wytwarzanego oprogramowania związany z 4 podstawowymi pojęciami: kod, proces, jakość, architektura.

Proces wytwarzania oprogramowania jest ściśle związany czterema krokami:

  1. Ustalenie wymagań
  2. Planowanie, podział na artefakty
  3. Wykonanie artefaktów
  4. Testy wykonanych artefaktów
  5. Testy spójności (połączonych artefaktów)

Metodyki wytwarzania oprogramowania[edytuj | edytuj kod]

Proces wytwarzania oprogramowania może przebiegać z wykorzystaniem metodyki zwinnej (agile). W tym przypadku powyższe kroki wykonywane są iteracyjnie, za każdym razem zajmując się innym fragmentem całości oprogramowania, aż do osiągnięcia kompletnego rozwiązania.

Narzędzia[edytuj | edytuj kod]

W trakcie wytwarzania oprogramowania zespoły projektowe często wspierają się dodatkowymi narzędziami, które znacząco wspomagają pracę nie tylko programistów, ale też pozostałych członków zespołu: testerów, architektów i project managera. Dobre oprogramowanie pozwala na zautomatyzowanie wielu czynności, daje możliwość zarządzania kodem, zadaniami i ich przydziałem oraz dobrze odzwierciedla metodykę, w ramach której wykonywany jest projekt. Przykładem takiego oprogramowania jest Team Foundation Server, który jest kompatybilny z najbardziej popularnymi narzędziami programistycznymi, w tym Visual Studio i Eclipse.

Dodatkowo narzędzia wspierające proces wytwarzania oprogramowania są bogate w systemy raportowania i komunikacji w zespole. Pozwalają na szybkie zestawianie informacji o testach, błędach, wskaźnikach jakości i inne.

Kolejnym istotnym elementem w ALM jest gromadzenie wymagań dotyczących projektu oraz samo zaplanowanie go. Projekt powinien być jasno zdefiniowany, podzielony na kamienie milowe oraz zadania w ramach każdego z nich. Dobrze zaplanowany projekt zawiera realistyczne ramy czasowe wykonywania poszczególnych zadań, dzięki czemu czas realizacji całego projektu będzie zgodny z zaplanowanym.

Testowanie[edytuj | edytuj kod]

Dodatkowo odpowiednie narzędzia wykorzystywane w procesie mogą wesprzeć testowanie gotowej aplikacji po przez mechanizmy zgłaszania błędów, komunikacji pomiędzy testerami i programistami, zautomatyzowanie wykonywania testów. Nowoczesne narzędzia dają nawet możliwość testowania interfejsu użytkownika w aplikacji po przez nagrywanie ekranu i automatyczne raportowanie błędów. Zgłaszane błędy mogą automatycznie być przydzielane do programistów w celu poprawy.