Software Development Life Cycle
⌚ czas czytania- 4-5 min
SDLC – wstęp i istota dla rekrutera IT
Każdy, dobrze zorganizowany projekt IT mający na celu wytworzenie oprogramowanie podlega pewnemu cyklowi, który umożliwia przejście od fazy pomysłu do późniejszego utrzymania wytworzonego produktu.
Jako rekruter IT na pewno zetknąłeś się z pojęciem SDLC lub jego elementami- w specyfikacjach poszukiwanego stanowiska. Występują one w opisach na programistów, testerów, analityków biznesowych czy project managerów. Cykl wytwarzania oprogramowania to swoisty plan, który jest podstawą do prawidłowego, efektywnego procesu, który definiuje poszczególne zadania dla odpowiednich ról w projekcie oraz fazy postępu.
Różne źródła wyszczególniają 5 lub 7 faz cyklu rozwoju oprogramowania. Związane to jest to ze specyfiką i wymaganiami projektów oraz potrzebami firm. Poniżej przedstawiamy ten dłuższy- rozdzielając SDLC na poszczególne etapy.
7 faz cyklu rozwoju oprogramowania
Patrząc na ilustracje ukazującą 7 faz cyklu życia rozwoju oprogramowania można pomyśleć, że jest on ciągły i poszczególne etapy następują po sobie. W rzeczywistości różnie się to od modelu. Powinien być on traktowany jako szkielet, a poszczególne kroki wytyczać drogę do stworzenia produktu. Wybrane zadania w jednej fazie mogą być realizowane równolegle z zadaniami z innej fazy. Patrząc zaś na całą fazę jako jeden krok- niektóre z nich są iteratywne– co oznacza, że są powtarzane dopóki całe ogniwo nie zostanie w całości zaakceptowane.
Charakterystyka poszczególnych faz:
- Rozpoczęcie projektu i faza selekcji.
Jest to początkowe stadium rozwoju oprogramowania, gdzie zespół musi przeanalizować czy projekt jest potrzebny dla organizacji i czy jego wykonanie będzie korzystnie wpływało na osiąganie celów przedsiębiorstwa. Jeżeli tak- trzeba ustawić ważność (priorytet projektu) oraz oszacować potrzebne zasoby oraz źródła do realizacji projektu. - Planowanie.
W drugiej fazie budowana jest lista działań potrzebnych do stworzenia system. W tym duża rola managera projektu, aby zidentyfikował wszystkie zadania oraz źródła, które są potrzebne oraz skoordynował poszczególne grupy technologiczne począwszy od zespołów projektowych, rozwoju oprogramowania, infrastruktury aż do użytkowników końcowych. Na końcu tej fazy powinien być znany terminarz realizacji, elementy końcowe poszczególnych zespołów, określony budżet oraz udokumentowany proces. - Analiza.
Jest to etap gdzie Project Manager i Business Analyst dokładnie określają i dokumentują potrzeby, które mają być zaspokojone przez użytkownika końcowego czego efektem końcowym jest specyfikacja wymagań oprogramowania. - Projektowanie (logiczne).
W tym momencie do dzieła wchodzi Architekt Danych, który projektuje strukturę danych oraz określa to gdzie będą przechowywane, zaś Architekt Oprogramowania, który z nim współpracuje nadaje kształt systemowi pod kątem wszystkich funkcjonalności, możliwości, zastosowań i dostępów. - Projektowanie (fizyczne)
Jest to modelowanie systemu pod kątem infrastruktury, w którym wybiera się technologie, które najlepiej odpowiadają potrzebom projektu. Takie projektowania ma za zadanie opisać wymagania i zasoby potrzebne do bezpieczeństwa, back-up’ów, niezawodności i infrastruktury sieciowej. - Implementacja.
Ta faza posiada dwa etapy: wczesny i późny.
Pierwszy to chyba najbardziej znany Nam rekruterom, pod kątem realizowanych rekrutacji, czyli: kodowanie, testowanie, konfigurowanie oraz instalowanie. Te zadania programista może zrealizować mając wykonany projekt aplikacji oraz dobrze napisane specyfikacje z poprzednich etapów, które dają mu informacje jak oprogramowania ma być zbudowane i jak ma działać.
Drugi- późny etap, to moment gdzie powstaje dokumentacja dla użytkownika końcowego, przeprowadzane są szkolenia oraz tzw. user acceptance tests (UAT), dzięki czemu można powiedzieć, że oprogramowanie działa jak należy. - Utrzymanie.
Ostatnim etap cyklu życia oprogramowania. Zakłada on wsparcie dla użytkowników przy problemach wynikających z funkcjonowania oraz dodawanie nowych funkcjonalności będących odpowiedzią na nowe potrzeby. Przy dużych zmianach oprogramowania może zaistnieć mus zorganizowania wszystkich faz od początku. Jeżeli system jest przebudowywany nadal określa się to fazą utrzymania, mimo konieczności wdrożenia wszystkich etapów SDLC.
SDLC w pigułce 💊
