Zarządzanie wersjami

Z Encyklopedia Zarządzania

Zarządzanie wersjami – proces zawierający w sobie takie działania jak konsultowanie, planowanie oraz zarządzanie zmianami w danym produkcie lub usłudze. Zarządzanie wersjami charakteryzuje się koncentracją na wysokiej jakości rezultatów działań w ramach rozwijania usługi lub produktu od momentu inicjacji prac aż do publikacji [Howard 2012, s.1-2]. Celem tego podejścia jest przede wszystkim pewność, że poczynione w trakcie realizacji produktu zmiany zostały odpowiednio wdrożone w środowisku IT przy jednoczesnym minimalizowaniu ryzyka dla biznesowej strony przedsięwzięcia [Shanmugasundaram, Sarojini 2018, s. 5]. W ramach powtarzalnego i kontrolowanego procesu zarządzania wersjami wersje oprogramowania powinny być wydawane na czas, przy zachowaniu najwyższej jakości i zgodności z wymaganiami [Howard 2012, s. 1-2].
W zakres zarządzania wersjami wchodzą takie działania jak [Shanmugasundaram, Sarojini 2018, s. 5]:

  • szybka implementacja zmian w oprogramowaniu przy jednoczesnym optymalizowaniu kosztów i zmniejszaniu ryzyka,
  • wydawanie wersji według ustalonego harmonogramu oraz według kryteriów gotowości danej wersji, wśród których wymienia się m.in. jakość danej wersji, plan wdrażania i wycofywania, a także plan zarządzania ryzykiem,
  • prowadzenie szkoleń i dokumentacji związanych z zapewnieniem wsparcia technicznego dla użytkowników wprowadzanej usługi lub produktu, mających na celu ułatwienie korzystania.

Metody związane z zarządzaniem wersjami stosuje się w organizacjach, które mierzą się z następującymi czynnikami [PMI]:

  • złożona infrastruktura operacyjna,
  • wiele zespołów pracujących równolegle,
  • brak doświadczenia zespołów.

W przypadku złożonej infrastruktury operacyjnej istnieje wysokie ryzyko, że wdrożenie nowych funkcji do środowiska produkcyjnego uszkodzi oprogramowanie. Na tę złożoność wpływa m.in. stosowanie wielu różnych, mocno ze sobą powiązanych technologii.
W organizacji, gdzie pracuje wiele zespołów deweloperskich przy współdzielonym środowisku rośnie prawdopodobieństwo kolidowania ze sobą zmian wprowadzanych przez te zespoły.
Nowe zespoły często nie zdążyły nabrać jeszcze doświadczenia związanego z pracą w danym środowisku, tym samym będą potrzebowały pomocy przy wydawaniu wersji. Taka pomoc polegać może na wsparciu przy planowaniu, ustalaniu skutecznej strategii wydawania oraz koordynacji działań zespołu.

Proces

Za proces zarządzania wersjami odpowiada menedżer wersji (release manager). Osoba na tym stanowisku zajmuje się doprowadzeniem prac nad wersją aż do jej pełnej gotowości do publikacji. Ustala również cele poszczególnych etapów prac nad daną wersją [Shanmugasundaram, Sarojini 2018, s. 5]. Wyróżnia się również taką rolę jak menedżer projektu wersji (release project manager), który wraz z menedżerem wersji i innymi kluczowymi interesariuszami może stanowić zespół planowania wersji (release planning team) [Rasa, Wahida Banu 2019, s. 21].
Proces zarządzania wersjami składa się z następujących podprocesów [Rasa, Wahida Banu 2019, s. 21-24]:

  • planowanie wersji,
  • projektowanie, tworzenie oraz konfigurowanie wersji,
  • akceptacja wersji,
  • dystrybucja i instalacja wersji.