Wytwarzanie oprogramowania () / Proces wytwórczy oprogramowania (ang. ) – proces mający na celu utworzenie oprogramowania. Zestawu działań z dziedziny informatyki, które są poświęcone procesowi powstawania oprogramowania. Część inżynierii oprogramowania, która dodatkowo obejmuje zarządzanie projektem. Zasadniczą częścią procesu jest programowanie i utrzymanie kodu źródłowego, ale obejmuje on także prace koncepcyjne, ocenę wykonalności, analizę wymagań biznesowych, projektowanie oprogramowania, testowanie oraz publikację lub wdrażanie.

Oprogramowanie wytwarzane jest od stosunkowo niedawna, dlatego procesy wytwórcze oprogramowania szybko się zmieniają w czasie, zmienia się też często opinia na temat jakości i efektywności poszczególnych procesów. Istnieje wiele szkół mówiących o tym, jak należy wytwarzać oprogramowanie – podają one najczęściej wariacje dwóch głównych – i skrajnie różnych w stosunku do siebie procesów:

Metodyki tradycyjne:

Rational Unified Process (ang. ) – proces wytwarzania oprogramowania opracowany przez firmę (która jest również twórcą języka UML). Proces dostosowany jest do prowadzenia większych przedsięwzięć programistycznych. Open Unified Process – metodyka wytwarzania oparta na metodyce RUP. Szablon do tworzenia procesu zaimplementowany jest w produkcje Eclipse Process Framework rozwijanym przez Eclipse Foundation. OpenUP/basic – metodyka Open Unified Process przystosowana do małych przedsięwzięć programistycznych. Zawiera zarówno elementy RUP, jak również elementy z metodyk zwinnych Agile.

Metodyki nurtu zwinnego: XP (ang. ) – proces lżejszy od metodyki RUP, obarczony jednak większym ryzykiem – jest znacznie mniej sformalizowany. Scrum – jest bardziej sformalizowany od XP, ale wciąż przyjemny i przyjazny dla programistów. Oprogramowanie jest tworzone w wyszczególnionych odstępach czasowych, tzw. sprintach, timeboksach, w czasie których zespół ma za zadanie wykonać z góry określone wymogami zadania. Nad zespołem czuwa Scrum Master, który jest raczej pomocnikiem niż liderem zespołu.

Przypisy