Wytwarzanie oprogramowania

Wytwarzanie oprogramowania (ang. software development) / Proces wytwórczy oprogramowania (ang. software development proces) – proces mający na celu utworzenie oprogramowania[1][2]. Zestawu działań z dziedziny informatyki, które są poświęcone procesowi powstawania oprogramowania[3]. Część inżynierii oprogramowania[2], która dodatkowo obejmuje zarządzanie projektem[4]. 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[3][4].

 Osobny artykuł: Fazy produkcji oprogramowania.

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:

Metodyki nurtu zwinnego:

  • XP (ang. Extreme Programming) – 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, timebox'ach, 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

  1. Ken Schwaber, Jeff Sutherland, Tworzenie oprogramowania w 30 dni. Programuj zwinnie i szybko!, Helion, 11 października 2013, s. 18,24,29,56, ISBN 978-83-246-7533-3 [dostęp 2024-10-03] (pol.).
  2. a b Bogdan Wit, Technologie informacyjno-komunikacyjne – założenia oprogramowania. Zintegrowany system zarządzania unieszkodliwianiem azbestu w ujęciu systemowym: Technologie informacyjno-komunikacyjne, Bogdan Wit, 2013, s. 159, ISBN 978-83-7285-736-1 [dostęp 2024-10-03] (pol.).
  3. a b What Is Software Development? | IBM [online], www.ibm.com, 14 lipca 2021 [dostęp 2024-10-03] (ang.).
  4. a b John F. Dooley, Software Development, Design and Coding: With Patterns, Debugging, Unit Testing, and Refactoring, wyd. 2nd ed. 2017, Berkeley, CA: Apress : Imprint: Apress, 2017, s. 1, ISBN 978-1-4842-3153-1 [dostęp 2024-10-03].