
W świecie IT słowo „release” oznacza między innymi wprowadzenie nowej wersji oprogramowania, funkcji lub produktu do użytku. Jest to moment, w którym przygotowane wcześniej zmiany trafiają do użytkowników, środowiska produkcyjnego lub kolejnego etapu testów. Release może obejmować zarówno drobne poprawki i usprawnienia, jak i duże aktualizacje wprowadzające istotne nowe możliwości.
Release jako proces rozwoju oprogramowania
Release w IT odnosi się do kolejnych, sukcesywnie wydawanych serii zmian w programie, w ramach których rozwijane są jego funkcjonalności, wprowadzane usprawnienia oraz usuwane błędy pojawiające się na etapie tworzenia i testowania oprogramowania. Każdy release obejmuje określony zestaw zmian, które zostały odpowiednio pogrupowane, aby można było je wspólnie przetestować, a następnie bezpiecznie wdrożyć. Takie podejście porządkuje proces rozwoju produktu i pozwala efektywniej zarządzać pracą zespołu.
Planowanie i wdrażanie kolejnych wersji
Poszczególne zmiany są wcześniej dokładnie planowane i przypisywane do konkretnych release’ów zgodnie z przyjętym harmonogramem wydawania kolejnych wersji produktu. Dzięki temu zespół wie, jakie funkcje, poprawki i usprawnienia powinny zostać uwzględnione w danej wersji. Zależności pomiędzy zmianami sprawiają, że są one wdrażane w określonej kolejności i według ustalonego schematu. Pozwala to ograniczyć ryzyko błędów, usprawnić testowanie oraz sprawniej dostarczać użytkownikom kolejne wersje oprogramowania.
Środowisko wdrożeniowe
Release może być wdrażany na różne rodzaje środowisk, w zależności od celu i etapu rozwoju oprogramowania. Wersja publiczna jest dostępna dla wszystkich użytkowników za pośrednictwem Internetu. Możliwe jest jednak również przygotowanie wersji wewnętrznej, przeznaczonej dla określonej grupy odbiorców. Może to być na przykład zespół testerów, który sprawdza działanie nowych funkcji, lub konkretny klient, który otrzymuje dostęp do wersji przed jej oficjalnym udostępnieniem.
Kontrola przed wdrożeniem release
Po przygotowaniu release’u przeprowadzane są testy oprogramowania, których celem jest sprawdzenie poprawności działania wprowadzonych zmian oraz wykrycie ewentualnych błędów. W wielu firmach obowiązują określone warunki, które muszą zostać spełnione przed ostatecznym wydaniem wersji. Mogą one obejmować między innymi wykonanie wymaganej liczby testów, uzyskanie odpowiednich wyników czy sprawdzenie kodu przez określoną liczbę osób. Dopiero po spełnieniu wszystkich kryteriów release może zostać zatwierdzony i wdrożony.
Różnica między deployment a release
Deployment i release to dwa różne etapy dostarczania zmian w oprogramowaniu. Deployment oznacza techniczne wdrożenie nowej wersji aplikacji, infrastruktury lub zmian na środowisko produkcyjne. Odpowiada za nie zazwyczaj zespół developerski, który decyduje o terminie wdrożenia. Release natomiast oznacza udostępnienie konkretnej funkcjonalności użytkownikom.