Tak jak ludzie przechodzą przez różne etapy swojego życia, tak samo dzieje się z produktami programistycznymi. Często określa się to mianem cyklu życia wydania oprogramowania.
Poszczególnym fazom cyklu życia lub „etapom rozwoju” aplikacji odpowiadają określone okresy, ale przewidzenie, kiedy jedna faza się kończy, a zaczyna kolejna, może być trudne. Każda faza ma własny, odrębny zestaw zadań i wymagań dotyczących współpracy między działami, dlatego ważne jest, aby menedżerowie produktu rozumieli każdą z nich i mogli skutecznie przeprowadzić firmę przez cykl życia wydania oprogramowania.
W miarę zagłębiania się w ten artykuł będę dodawać komentarze dotyczące mojego doświadczenia w sprzedaży i integracji BankerBox, firmy FinTech SaaS dla bankierów inwestycyjnych, z SS&C Intralinks razem z moim współzałożycielem, w ramach poszczególnych faz SRLC.
Czym jest cykl życia wydania oprogramowania (SRLC)?
Cykl życia wydania oprogramowania (SRLC) to zestaw kamieni milowych opisujących poszczególne etapy cyklu życia oprogramowania lub sekwencyjnej osi czasu jego wydań — od powstania koncepcji aż do ostatecznego, w pełni dopracowanego wydania. Długość tego cyklu życia zależy od wielu czynników, takich jak rodzaj produktu, jego przeznaczenie oraz standardy branżowe dotyczące bezpieczeństwa, zgodności z przepisami i ogólnych wymagań.
Na przykład aplikacje programistyczne mają zazwyczaj krótszy cykl życia niż większość innych produktów, ponieważ nowe funkcje i ulepszenia są często wydawane w sposób zwinny, aby sprostać zmieniającym się wymaganiom rynku i nowym trendom technologicznym.
Jest on podobny do cyklu życia tworzenia oprogramowania (SDLC), czyli struktury stosowanej podczas tworzenia produktów programistycznych. Różnica między tymi dwoma cyklami życia polega na tym, że SDLC opisuje wyłącznie proces tworzenia oprogramowania i projektowania oprogramowania, podczas gdy cykl życia wydania obejmuje nie tylko jego tworzenie, lecz także użyteczność, testowanie i dystrybucję.
Wydania oprogramowania należy starannie planować i testować (najlepiej przez zespół testujący), aby mieć pewność, że nie spowodują większej liczby problemów, niż ich rozwiążą. Cykl życia wydania oprogramowania wyznacza jasny plan osiągnięcia pomyślnego procesu wydania poprzez właściwe planowanie, testowanie i usuwanie błędów.
Firmy powinny wykorzystywać cykl życia wydania oprogramowania do planowania z wyprzedzeniem, kiedy i w jaki sposób będą z czasem aktualizować swoją aplikację internetową lub aplikacje. Wdrożenie właściwych praktyk zarządzania wydaniami pozwala im utrzymywać solidny produkt, który będzie stale spełniał potrzeby użytkowników, zapewniał kluczową funkcjonalność i odpowiadał standardom branżowym (w tym może również pomóc AI w zarządzaniu wydaniami). Pozwala im to utrzymywać solidny produkt, który będzie stale spełniał potrzeby użytkowników, zapewniał kluczową funkcjonalność i odpowiadał standardom branżowym.
6 etapów cyklu życia wydania oprogramowania
W zależności od rodzaju tworzonego systemu i potrzeb zespołu programistycznego można stosować różne etapy cyklu życia wydania oprogramowania.
„Etapy” wyznaczają kamienie milowe w rozwoju produktu i pozwalają zespołowi programistycznemu oraz kierownikom projektów śledzić postępy. Umożliwiają również zespołom programistycznym monitorowanie trendów w aplikacjach i aplikacjach internetowych oraz weryfikowanie, czy z czasem, w kolejnych iteracjach, wprowadzane są ulepszenia. Zazwyczaj obejmuje on następujące sześć faz:
Have an account? Log In
1. Wersja przedalfowa
Pierwszym etapem cyklu życia wydania oprogramowania jest faza przedalfowa. Ten etap procesu koncentruje się wyłącznie na tworzeniu produktu, a nie na jego marketingu i publicznym wydaniu. Obejmuje wszystkie działania wykonywane podczas początkowego tworzenia, przed rozpoczęciem testów. Najczęstsze fazy etapu przedalfowego to analiza, projektowanie, tworzenie i testy jednostkowe.
Duża część wersji przedalfowej polega na określeniu, jak aplikacja programistyczna musi ewoluować, aby przygotować ją do szerszych wydań, takich jak wersja alfa lub wersja beta. Zespół programistyczny musi wdrożyć solidne testowanie oprogramowania, zapewnić użyteczność i automatyzację, aby zagwarantować stabilne przejścia między poszczególnymi fazami cyklu życia wydania oprogramowania.
W przypadku rozwiązania SaaS, które wraz z moim współzałożycielem zintegrowaliśmy z SS&C Intralinks, faza przedalfowa została już przez nas zweryfikowana i ukończona. Dysponowaliśmy działającą aplikacją, która została zaprojektowana pod względem architektury, zaprojektowana i zbudowana. Należy jednak pamiętać, że definicja etapów analizy, projektowania, tworzenia i testów jednostkowych stosowana przez małą firmę programistyczną może zdecydowanie różnić się od perspektywy dużego przedsiębiorstwa i poziomu rygoru stosowanego podczas realizacji tych etapów.
4 fazy rozpoczynające wersję przedalfową
Analiza: jest to początkowy etap cyklu życia wydania oprogramowania lub SRLC, obejmujący szczegółowe badanie problemu i wymagań systemu. Zawiera analizę wymagań użytkowników, krytycznej funkcjonalności, identyfikację obszaru problemowego, przygotowanie raportów wykonalności oraz utworzenie SRS (specyfikacji wymagań oprogramowania).
Projektowanie: na tym etapie zespoły deweloperskie opracowują rozwiązanie problemu zidentyfikowanego na etapie analizy. Etap ten obejmuje przygotowanie dokumentu projektu wysokiego poziomu oraz makiet wyjaśniających, jak wdrożyć produkt programistyczny. Dokument projektu przedstawia podstawowe kroki, które należy wykonać, aby zbudować aplikację internetową.
Jeśli pracujesz nad układami lub przepływami interfejsu użytkownika, te narzędzia do prototypowania responsywnego projektu mogą pomóc Ci szybko testować pomysły przed rozpoczęciem prac programistycznych. Dokument projektu przedstawia podstawowe kroki, które należy wykonać, aby zbudować aplikację internetową.
Tworzenie: jest to właściwa faza programowania, w której zespół deweloperski przekształca specyfikacje wymagań w rzeczywisty produkt programistyczny. Po zakończeniu programowania deweloperzy przeprowadzają testy i jak najwcześniej zajmują się poprawianiem błędów.
Testowanie jednostkowe: jest przeprowadzane przez deweloperów przed przekazaniem ich modułu zespołowi deweloperskiemu QA (zapewnienie jakości) w celu przeprowadzenia dalszych testów. W tej fazie deweloperzy sprawdzają każdą linię kodu źródłowego, aby upewnić się, że kod działa prawidłowo, zanim zostanie zintegrowany z całą aplikacją.
2. Wersja alfa
Etap alfa reprezentuje pierwszą literę alfabetu greckiego, a także jest nazwą kodową fazy rozwoju odbywającej się przed wprowadzeniem produktu na rynek. Deweloperzy oprogramowania używają terminu „alfa” lub „wersja alfa” do opisania oprogramowania znajdującego się w pierwszej fazie testowania.
Testy alfa są przeprowadzane przez pracowników wewnętrznych lub deweloperów w organizacji. Ten rodzaj testów jest wykonywany w siedzibie dewelopera, a nie w siedzibie klienta. Testy alfa przeprowadza się po zakończeniu testów systemowych i przed testami beta. Ich celem jest wykrycie błędów lub defektów związanych z użytecznością, funkcjonalnością i spójnością.
W tego rodzaju testach grupa osób nazywanych „testerami” wykonuje operacje podobne do tych wykonywanych przez użytkowników końcowych, a następnie zgłasza napotkane problemy. Głównym celem testów alfa jest upewnienie się, że wszystkie moduły są prawidłowo zintegrowane i działają zgodnie z oczekiwaniami.
Kiedy przechodziliśmy przez etap alfa w przypadku BankerBox, skontaktowaliśmy się z naszymi znajomymi z obszarów produktu i oprogramowania, a w naszym przypadku — ponieważ budowaliśmy rozwiązanie dla banków — także z kilkoma bankierami inwestycyjnymi i osobami z sektora finansów wysokiego szczebla.
Oprogramowanie alfa jest kompletne pod względem funkcji, ale prawdopodobnie zawiera błędy. Testy alfa koncentrują się na ulepszaniu produktu poprzez wykrywanie problemów, zanim trafi on do testów beta, oraz na dodawaniu wszelkich ostatnich poprawek sugerowanych na podstawie informacji zwrotnych z etapu alfa.
3. Wersja beta
Etap beta, nazwany na cześć drugiej litery alfabetu greckiego, jest nazwą kodową oznaczającą, że produkt programistyczny przeszedł do drugiej fazy testów i jest gotowy do zewnętrznego użytku przez klientów, często nazywanych „testerami wersji beta”. Niektóre organizacje określają ten etap jako etap „wczesnych użytkowników”.
Po wydaniu wersja beta zazwyczaj przechodzi intensywniejsze testy niż te przeprowadzane w fazie alfa. Pozwala to firmom ocenić, jak dobrze ich oprogramowanie będzie działać w rzeczywistych warunkach.
Po przejęciu BankerBox przez SS&C Intralinks szybko stworzyliśmy kilka kluczowych punktów integracji między naszym oprogramowaniem a systemami większej firmy (uwierzytelnianie, serwery chmurowe itd.). Następnie zaprezentowaliśmy rozwiązanie kilku klientom firmy i nawiązaliśmy z nimi współpracę, zapraszając ich do przeprowadzenia „testów beta” tego rozwiązania na żywo podczas transakcji M&A.
Był to świetny sposób na uzyskanie informacji zwrotnych, rozwijanie relacji z klientami i znalezienie obszarów, w których oprogramowanie musi ewoluować, aby spełnić wymagania i osiągnąć „poprzeczkę” dla wersji kandydującej do wydania (RC) lub ogólnej dostępności (GA).
W tego rodzaju testach klienci przekazują cenne informacje zwrotne na temat tego, czy produkt lub aplikacja spełnia ich oczekiwania pod względem funkcjonalności, użyteczności, wydajności, niezawodności, skalowalności i innych cech. Informacje zwrotne przekazywane przez użytkowników końcowych pomagają poprawić doświadczenia użytkowników i skorygować problemy operacyjne przed wdrożeniem produktu do środowiska produkcyjnego. Wyróżniamy dwa rodzaje fazy beta:
- Otwarta wersja beta: w tej fazie każdy, kto chce uczestniczyć w procesie testowania beta, może to zrobić. Może to pomóc deweloperom szybko i łatwo identyfikować błędy produktu oraz się nimi zajmować, ponieważ informacje zwrotne od wielu użytkowników mogą ujawnić problemy.
- Zamknięta wersja beta: w tej fazie istnieje określony rynek docelowy oraz konkretne grupy osób pełniących funkcję testerów. Rynek docelowy pomaga skoncentrować testowanie oprogramowania na określonych obszarach wymagających uwagi i zapewnić, że wszystko działa zgodnie z potrzebami docelowych konsumentów.
4. Wersja kandydująca do wydania
Wersja kandydująca do wydania (RC) to przedpremierowa wersja oprogramowania przygotowywana do ostatecznego udostępnienia produktu publicznie (w fazie RC). Czasami określa się ją mianem „kontrolowanej dostępności”. Chociaż może zawierać wszystkie planowane funkcje i możliwości oraz działać zgodnie z oczekiwaniami, nadal może ulec zmianie, nawet radykalnej, na podstawie otrzymanych informacji zwrotnych.
Deweloperzy mogą wydać kilka wersji kandydujących do wydania przed udostępnieniem gotowego produktu, aby upewnić się, że program nie ulega awarii przy dużym obciążeniu, nie powoduje znaczących wycieków pamięci itd.
5. Ogólna dostępność
Ogólna dostępność (GA) oznacza, że produkt lub usługa zostały udostępnione do zakupu większości klientów (zazwyczaj na całym świecie), zwykle za pośrednictwem kanałów komercyjnych. W inżynierii oprogramowania określenie to zazwyczaj odnosi się do aplikacji internetowej lub aplikacji dostępnej dla wszystkich docelowych użytkowników. Na tym etapie wszelkie aktualizacje lub dalsze prace rozwojowe nad produktem mają na celu zwiększenie jego funkcjonalności i wydajności, aby uczynić go bardziej atrakcyjnym dla klientów.
Gdy BankerBox, obecnie „Deal Marketing” pod nową nazwą marki, osiągnął ogólną dostępność, mogliśmy rozszerzyć jego wdrożenie na klientów w całej Ameryce Północnej oraz uzyskać cenne informacje zwrotne, dane dotyczące użytkowania, skalowalności itp., aby zweryfikować dopasowanie produktu do rynku przed przejściem do ostatniej fazy cyklu wydania oprogramowania, czyli wydania produkcyjnego.
More Articles
6. Wydanie produkcyjne
Stabilne wydanie to wersja pakietu oprogramowania, która została przetestowana i zweryfikowana. Jest to najnowsza (a czasami finalna) wersja programu uznawana za bezpieczną do użytku publicznego. Ten rodzaj wydania nazywany jest również wydaniem „stabilnym”.
Gdy oprogramowanie lub aplikacja internetowa wchodzi w tę fazę, może sygnalizować szerszej organizacji i rynkowi poziom gotowości produktu. W SS&C Intralinks jako lider organizacji produktowej powiązałem kluczowe inicjatywy międzyfunkcyjne z tymi fazami.
Na etapie wydania produkcyjnego mogliśmy opracować strategię oferty, przeprowadzić pełne działania marketingowe i sprzedażowe oraz zapewnić odpowiednie wsparcie w obszarach obsługi klienta, inżynierii niezawodności witryny i innych działach, aby produkt odniósł sukces.
Według większości standardów jest to produkt kompletny, choć może zawierać kilka drobnych problemów uznawanych za akceptowalne. W niektórych przypadkach, takich jak Linux, istnieją dwa rodzaje stabilnych wydań: LTS (z długoterminowym wsparciem) oraz regularne wydania stabilne.
- Regularne wydania stabilne - to najczęściej spotykany rodzaj wydań. Są łatwe w instalacji (gdy mówimy o oprogramowaniu systemu operacyjnego) i, jak sugeruje ich nazwa, stabilne. Jeśli chcesz testować oprogramowanie w środowisku produkcyjnym, zwykle korzystasz właśnie z tego rodzaju wydania. W przypadku aplikacji internetowych regularne wydania stabilne są często określane jako wydania „główne”.
- Wydania LTS (z długoterminowym wsparciem) - są projektowane specjalnie z myślą o długotrwałym użytkowaniu w środowiskach produkcyjnych. Wydania te mają dłuższy cykl wsparcia niż standardowe wydania stabilne (średni czas między wydaniami LTS wynosi trzy lata). Oznacza to, że zostały dokładnie przetestowane i są uznawane za bezpieczniejsze niż wydania stabilne.
Podsumowanie
Zrozumienie poszczególnych faz cyklu wydania oprogramowania dla produktu to świetny sposób dla menedżera produktu na ujednolicenie oczekiwań oraz powiązanie działań międzyfunkcyjnych i związanych z klientami z poszczególnymi etapami SRLC. Umożliwia to przejrzyste przyporządkowanie produktu do szerszego zbioru celów, strategii i inicjatyw firmy.
Wykorzystanie tych etapów jako punktów „wyzwalających” pozwoliło mi skutecznie zintegrować mój produkt z dużą firmą oraz odpowiednio zaplanować poszczególne działania, aby zapewnić sukces na rynku.
Po zakończeniu etapów SRLC produkt przechodzi przez cykle sprzedaży i wzrostu, a organizacja dostrzega sygnały wskazujące, że produkt zbliża się do końca swojego cyklu, rozpoczyna się cykl utrzymania, który obejmuje:
- usuwanie błędów zgłoszonych przez klienta podczas fazy wdrażania,
- dodawanie nowych funkcji lub
- modyfikowanie istniejących funkcji zgodnie z żądaniami klienta, zmieniającymi się potrzebami i postępem technologicznym.
Ostatecznie wszystkie produkty programistyczne osiągają w pewnym momencie koniec cyklu życia, gdy ich twórcy przestają je wspierać.
Aby dowiedzieć się więcej o zarządzaniu produktem i najlepszych praktykach w zakresie rozwoju produktu, koniecznie zasubskrybuj nas! Do następnego razu.
Powiązane materiały:
- 6 etapów cyklu życia oprogramowania (SDLC)
- Jak pisać skuteczne informacje o wydaniu oprogramowania, które zachwycą użytkowników
Powiązana lista narzędzi: Narzędzia do zarządzania wydaniami oprogramowania
Warto również sprawdzić:



