Co to jest proces tworzenia oprogramowania?
Oprogramowanie odnosi się zarówno do samych komputerowych systemów operacyjnych, jak i do programów i aplikacji przeznaczonych do działania na komputerach. Rozwój oprogramowania to projektowanie i pisanie oprogramowania, w tym rozwój architektury programu i interfejsu użytkownika oraz programowanie kodu źródłowego. Proces tworzenia oprogramowania jest podejściem stosowanym do tworzenia oprogramowania i istnieje wiele dobrze opracowanych modeli tego procesu. Zasadniczo zawierają różne fazy przeprowadzania analizy wymagań, specyfikowania produktu, tworzenia architektury oprogramowania, wdrażania kodu, testowania i dokumentowania produktu, szkolenia i wsparcie oraz utrzymywanie i ulepszanie wydania. Niezależnie od tego, który model jest używany, proces tworzenia oprogramowania może czasami mieć na celu opracowanie nowego produktu, a innym razem koncentruje się na rewizji - na przykład, gdy powstaje wydanie punktowe w celu naprawy błędów - a jeszcze innym razem może przygotuj się na nową wersję istniejącego oprogramowania, dodając znaczące funkcje, a także oferując poprawki błędów.
Model wodospadu dla procesu tworzenia oprogramowania jest wczesnym modelem, a także nieodłącznym ograniczeniem. Określa ściśle jednokierunkowe podejście do programowania, przechodząc jednokierunkowo przez sekwencję faz tworzenia oprogramowania, bez powrotu do poprzedniego etapu lub zmiany specyfikacji, gdy tylko rozpocznie się rozwój. Model spiralny wykorzystuje natomiast proces iteracyjny, w którym sekwencja wymagań, po których następuje projektowanie, implementacja i wreszcie testowanie, następuje po drugim cyklu, w którym dodaje się więcej funkcji i komponentów. W zwinnych modelach procesu tworzenia oprogramowania - których jest wiele - projekty rozwojowe są podzielone na podzbiory trwające od tygodnia do miesiąca zwane timeboxami, z których każdy przechodzi przez zminiaturyzowaną wersję całego procesu tworzenia oprogramowania, w tym wydanie na koniec. Inne cechy rozwoju zwinnego obejmują bliskość współpracującego zespołu i wykorzystanie klientów do reagowania na produkt w trakcie całego procesu.
Proces tworzenia oprogramowania może być radykalnie inny dla dużej firmy i dla indywidualnego programisty. Na przykład wydawca komercyjnego oprogramowania, taki jak Sibelius Software®, część Avid Technology®, może poświęcić kilka lat na proces opracowywania oprogramowania dla każdej wersji i wydać aplikację o wielkości setek MB i używaną przez tysiące ludzi . Z drugiej strony osoba taka jak Roman Molino Dunn, The Music Transcriber®, programująca wtyczkę w odpowiedzi na czyjeś życzenie, że może zrobić coś innego z oprogramowaniem komercyjnym, może stworzyć oprogramowanie o wielkości 4 kb w ciągu godziny od pomysłu, w skrajnym przypadku.