DefinicjaSDLC (Software Development Life Cycle, cykl wytwarzania oprogramowania) to uporządkowany ciąg etapów, przez które przechodzi oprogramowanie: planowanie i wymagania, projekt, programowanie, testy, wdrożenie i utrzymanie. Opisuje, kto, co i w jakiej kolejności robi, żeby produkt powstał przewidywalnie i dało się go rozwijać.
Z jakich etapów składa się SDLC?
- Planowanie i wymagania. Co ma powstać, dla kogo i po co. Ustalenie zakresu, priorytetów i ograniczeń.
- Projekt. Architektura, wygląd ekranów, wybór technologii, sposób przechowywania danych.
- Programowanie. Pisanie kodu małymi krokami, z kontrolą zmian.
- Testy. Sprawdzenie, czy całość działa zgodnie z wymaganiami i czy nowa zmiana niczego nie zepsuła.
- Wdrożenie. Udostępnienie wersji użytkownikom.
- Utrzymanie. Poprawki, aktualizacje, monitoring i rozwój na podstawie tego, jak ludzie korzystają z produktu.
W praktyce rzadko jest to jedna prosta linia. Zespoły pracujące zwinnie przechodzą przez cały cykl wiele razy, w krótkich odcinkach, i po każdym pokazują działający fragment.
Po co to wiedzieć, gdy zlecasz stronę albo aplikację?
Bo większość nieporozumień bierze się z pominiętego etapu. Projekt bez spisanych wymagań kończy się sporem o zakres. Projekt bez testów psuje się przy każdej poprawce. Projekt bez planu utrzymania przestaje działać po pierwszej aktualizacji systemu. Znając etapy, łatwiej zapytać wykonawcę, co dokładnie jest w cenie i co dzieje się po uruchomieniu.
Jak wygląda etap testów, opisuję w artykule Testy oprogramowania, a wdrożenia w CI/CD po ludzku.
Jak AI zmienia cykl wytwarzania?
AI nie usuwa żadnego etapu, ale skraca każdy z nich. Pomaga porządkować wymagania, proponuje warianty rozwiązań, pisze kod i testy, przegląda zmiany i przygotowuje dokumentację. Mówi się wtedy o cyklu wytwarzania wspieranym przez AI, po angielsku AI-assisted albo AI-native SDLC.
Etapy, w których zapadają decyzje, zostają przy ludziach: co budujemy, co jest wystarczająco dobre, co może trafić do klientów. Im szybciej powstaje kod, tym ważniejsze stają się testy i przegląd zmian.
O co zapytać wykonawcę?
- Jak wygląda proces od zgłoszenia zmiany do jej uruchomienia?
- Kiedy zobaczę działającą wersję i jak często będą kolejne?
- Co jest testowane automatycznie, a co ręcznie?
- Kto zajmuje się utrzymaniem po uruchomieniu i na jakich warunkach?
Najczęstsze pytania
Czy SDLC to to samo co Agile albo Scrum?
Nie. SDLC opisuje, jakie etapy przechodzi oprogramowanie. Agile i Scrum to sposoby organizacji pracy, w których te etapy powtarza się w krótkich odcinkach, zamiast przechodzić przez nie raz, od początku do końca.
Czy mała strona firmowa też ma SDLC?
Tak, tylko w prostszej formie: ustalenie treści i celu, projekt, wykonanie, sprawdzenie na telefonie i w przeglądarkach, uruchomienie i opieka po starcie.
Zobacz też
Źródła