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 määrittelee osa-alueet seuraavasti:
Molemmissa listoissa viisi ensimmäistä kohtaa kattavat ohjelmiston varsinaisen kehitystyön: määrittely, suunnittelu, toteutus, testaus ja ylläpito. Alla oleva kuva havainnollistaa nämä keskeiset vaiheet. Kuten kuvasta näkyy, kehitysprosessia voi edeltää esitutkimus.