Englannin kielinen termi Software Engineering on suomennettu yleensä joko ohjelmistotekniikaksi tai ohjelmistotuotannoksi.
Ohjelmistotuotanto tarkoittaa ohjelmistotyötä, jonka tuloksena syntyy järjestelmä, joka täyttää käyttäjiensä toiveet ja odotukset. Tarkoituksena on lisäksi varmistaa, että vaadittu järjestelmä valmistuu ajallaan ja pysytään annetussa budjetissa, vaikka tämä on käytännössä usein haastavaa.
Aiheesta on kirjoitettu paljon kirjoja ja yksi varsin arvostettu teos on The Guide to the Software Engineering Body of Knowledge(SWEBOK Guide), jonka voi ladata ilmaisena pdf versiona sivulta https://www.computer.org/education/bodies-of-knowledge/software-engineering
Ohjelmistotuotantoon kuuluu kaikki tuotantoprosessiin kuuluvat osa-alueet. Niihin voidaan katsoa kuuluvaksi ainakin:
Kyseisestä listasta on muitakin versioita ja SWEBOK v3 määrittelee osa-alueet seuraavasti (uudempi v4 sisältää 18 osa-aluetta):
Varsinaiseen ohjelmiston kehitystyöhön kuuluvat vaiheet: määrittely, suunnittelu, toteutus, testaus, käyttöönotto ja ylläpito. Alla oleva kuva havainnollistaa nämä keskeiset vaiheet. Kuten kuvasta näkyy, kehitysprosessia voi edeltää esitutkimus.
Seuraava animaatio havainnollistaa ohjelmiston etenemistä ideasta käyttöönottoon. Käynnistä animaatio painikkeesta.