Cykl Życia Rozwoju Oprogramowania (SDLC) – chaos ujarzmiony

Posted in Aplikacje dla biznesu

Opublikowano:

Cykl Życia Rozwoju Oprogramowania (SDLC) – chaos ujarzmiony

Tworzenie oprogramowania jest złożonym przedsięwzięciem, podatnym na niepowodzenia, jeśli nie jest podejmowane w oparciu o sprawdzoną metodykę. Cykl życia rozwoju oprogramowania (ang. Software Development Life Cycle – SDLC) pozwala budować aplikacje w ramach ściśle przestrzeganej sekwencji kroków i technik. Standaryzacja oznacza obniżenie kosztów, zmniejszenie liczby błędów, ograniczenie „radosnej twórczości” na rzecz kontrolowanej kreatywności. W połączeniu z rozsądnym zarządzaniem, SDLC zwiększa szanse zrealizowania projektów zgodnie z oczekiwaniami, na czas i w ramach założonego budżetu.

Cele SDLC

Działanie w projektach IT zgodne z cyklem życia rozwoju oprogramowania (SDLC):

  • Pomaga dostarczać aplikacje, które spełniają lub przekraczają oczekiwania klientów zgodnie z ustaleniami wstępnymi i w ramach szacowanych kosztów
    • Zapewnia ramy dla rozwoju systemów jakości przy użyciu identyfikowalnego, mierzalnego i powtarzalnego procesu
    • Ustanawia strukturę zarządzania projektami, aby zapewnić, że każdy projekt rozwoju aplikacji/systemu jest skutecznie zarządzany
    • Wspiera identyfikowanie oraz przypisywanie ról i obowiązków wszystkim zaangażowanym stronom

Celem wykorzystania SDLC jest:

  • Ustanowienie odpowiednich poziomów zarządzania zapewniających terminowe kierowanie, koordynację, kontrolę, przegląd i zatwierdzenie produktów projektu
    • Zapewnienie odpowiedzialności za poszczególne działania realizowane w ramach projektów
    • Dokumentowanie wymagań klientów i utrzymywanie identyfikowalności tych wymagań w całym procesie rozwoju i wdrażania aplikacji
    • Efektywne wykorzystanie zasobów
    • Zapewnienie rozwoju projektów w ramach obecnej i planowanej infrastruktury informatycznej
    • Wczesne identyfikowanie ryzyk i problemów projektowych oraz zarządzanie nimi, zanim staną się problemami

Fazy SDLC

Wszystkie projekty dotyczące budowania aplikacji muszą przejść przez dobrze zdefiniowany cyklu życia. Uczestnicy projektów są odpowiedzialni za działanie zgodne z SDLC i zapisywanie powstałych artefaktów[1] w sposób umożliwiających dostęp do nich zainteresowanym stronom (klienci, deweloperzy, testerzy itd.). W zależności od autorów rozważań teoretycznych lub praktyków budowania software’u, SDLC może składać się zazwyczaj z 5 do 7 faz[2], chociaż bywają i takie z opisanymi 10 fazami[3]. Najczęściej brane są pod uwagę:

  • Inicjowanie – początkowa faza projektu, obejmująca powstanie pomysłu, który ulepsza istniejące rozwiązanie lub rozwija zupełnie nowe; pomaga określić wielkość projektu w celu zaplanowania zasobów i wstępnego planu pracy.
  • Analiza wymagań – zbieranie wymagań w celu sformułowania planu projektu; obejmuje dokładną analizę potrzeb użytkowników, wykonalności, oczekiwanych ulepszeń; ważne jest, aby w tej fazie zgromadzić dokumentację, która doprecyzuje wymagania, a także przygotować rejestr oczekiwanych rozwiązań; w fazie tej dokumentowane są wymagania techniczne i funkcjonalne.
  • Projektowanie – zdefiniowane wymagania są przekształcane na plan projektu aplikacji, zawierający szczegółowy zestaw specyfikacji; w tej fazie przygotowywany jest projekt architektury IT, baz danych, interfejsów systemowych, interfejsów użytkownika;
  • Rozwój – deweloperzy koncentrują się na zbudowaniu prototypu rozwiązania, aby przeprowadzić przegląd kodu i ostatecznie stworzyć samo rozwiązanie; zespół projektowy pracuje nad przekształceniem specyfikacji oprogramowania w działający i niezawodny produkt.
  • Testowanie – działania zmierzające do potwierdzenia, że przygotowana aplikacja lub zmiana w systemie działa zgodnie z przeznaczeniem i oczekiwaniami; w tej fazie wykrywane są defekty i błędy w oprogramowaniu, a także braki wynikające z niepełnego określenia wymagań; wszelkie działania w tej fazie prowadzone są w środowisku testowym.
  • Wdrożenie – w tej fazie aplikacja jest uruchamiana i udostępniana użytkownikom końcowym; oprogramowanie działa w środowisku produkcyjnym, a użytkownicy otrzymują instrukcje obsługi i uczestniczą w szkoleniach.
  • Utrzymanie – zapewnienie w pełni sprawnego działania aplikacji, aktualizowanie jej w celu spełnienia standardów (jakości, prawnych) i ulepszanie oprogramowania przez cały okres użytkowania.

Modele SDLC

W zależności od poziomu skonkretyzowania celu tworzenia aplikacji, zakresy skomplikowania zadania projektowego, zasobności portfela, a także umiejętności i doświadczeń uczestników projektu, występują różne modele cyklu rozwoju oprogramowania. Poszczególne fazy SDLC mogą następować po sobie lub się na siebie nakładać. Przeprowadzenie projektu może zakładać wielokrotne przejście całego cyklu. Najczęściej używane modele SDLC:

  • Model wodospadu (Waterfall)
  • Prototypowanie
  • Spirala
  • Agile
  • Model V

Podsumowując, tworzenie oprogramowania powinno być procesem. Potrzebuje dobrze zdefiniowanego celu, środków do jego osiągnięcia oraz sposobów mierzenia, utrzymywania i poprawiania wyników.


[1] Artefakty to dokumenty, diagramy itp., które powstają w wyniku postępowania zgodnie z SDLC

[2] https://clarusway.com/what-is-software-development-life-cycle/, https://websensa.com/pl/2021/03/10/software-development-life-cycle-fazy-i-modele-sdlc/

[3] https://www.justice.gov/archive/jmd/irm/lifecycle/table.htm

Wybierz spośród gotowych aplikacji lub zaprojektuj własną tak łatwo jak nigdy dotąd

Zacznij swoją transformację cyfrową już dzisiaj!

Co chciałbyś zrobić?

Sprawdź jak działa Neula

Zobacz DEMO

Rozpocznij 14 dni ZA DARMO

Wypróbuj

Potrzebujesz dodatkowych informacji?
Skontaktuj się z nami!