Az 1970-es években megjelentek az első magas szintű nyelvek, mint az ALGOL, a FORTRAN vagy a COBOL. Ez volt az az évtized, amelyben a számítógép programozói munka szakmává vált. Ebben az évtizedben az algoritmusok és az adatszerkezetek terén folytattak kutatásokat és a programozói módszertanok is ebben az évtizedben alakultak ki.
Algoritmus alatt olyan megengedett lépésekből álló módszert, utasítást, utasítássorozatot, részletes útmutatást, receptet értünk amely alkalmas egy felmerült probléma megoldására. Algoritmust lehet adni például egy asztal összeszerelésére. Ahhoz, hogy egy algoritmust megadhassunk tudnunk kell, hogy mik a megengedett lépések.
A számítógép programozása során használunk algoritmusokat, amelyeknek segítségével adjuk meg a gépnek az utasításokat egy adott feladat végrehajtására.
Az első számítógépre írt algoritmust és programnyelvet 1842-ben Ada Lovelace írta meg, egy olyan számítógépen amit Charles Babbage tervezett, de csak félig építettek meg. 1937-ben Alan Turing cikket írt a Turing-gépről, amelyben az algoritmusfogalom egy lehetséges leírását adta meg.
Ada Lovelace tekinthető az első programozónak, aki a Bernoulli-számok kiszámítására írta meg a világon az első számítógépre írt algoritmust.
Az algoritmusok kutatása és elemzése az informatika és a számítástudomány feladata.
A szoftverfejlesztési módszertanok jelentése attól függ, hogy mit értünk fejlesztés alatt, csak a program elkészítését vagy a hozzá kapcsolódó egyéb feladatok elvégzését is, mint például a problémafeltárás, specifikáció készítés, tesztelés, telepítés vagy betanítás.
Ha a szoftverfejlesztés egészét tekintjük akkor a tervezés, az algoritmus készítés, a hibakeresés, hibajavítás és bizonyos esetekben a továbbfejlesztés és támogatás is a szoftverfejlesztés része. A különböző életciklus modellek definiálják a projekt fázisait, meghatározzák, hogy melyik fázisban, melyik szereplőnek milyen munkát kell elvégeznie.
Az extrém programozás az agilis programozás egy formája. Egy szoftverfejlesztési módszertan, amely sok rövid fejlesztési ciklust alkalmaz a gyors reagálás érdekében, hiszen két rövid ciklus között lehet alkalmazkodni a megváltozott követelményekhez. A legfontosabb eszköze az extrém programozásnak a párban programozás, illetve a teljes kód egységtesztelése és a gyakori kommunikáció. Nevét arról kapta, hogy a hagyományos szoftverfejlesztés elemeit extrém szinten műveli.