Megfogalmazás
Csak a helyesen meghatározott problémára lehet megfelelő megoldást adni. Nagyon fontos, hogy a leírás pontos, tömör és egyértelmű legyen. Sokan elhanyagolják ezt a fontos kezdeti lépést, és emiatt sok idő-, energia-, és pénzráfordítás kárba veszhet.
Elemzés
Az elemzési és tervezési tevékenység eredményei a rendszertervek. Ezek tartalmazzák a probléma megoldását támogató, leíró matematikai és más típusú modelleket, a kimenő adatok formai és tartalmi elvárásait és a bemenő adatokkal szemben támogatott követelményeket, a megoldás lehetséges eszközigényeit. Ezt a részt specifikációnak is nevezik.
Programtervezés
A rendszertervekben kidolgozott modelleket megvalósító algoritmusokat tervezik meg és dokumentálják ebben a fázisban. A programterv kidolgozása több lépésben történik egyre finomabb részletességgel. Az algoritmusok tervezésénél a minél nagyobb fokú hatékonyságot is szem előtt kell tartani.
Programozás
Ebben a kódolásnak is nevezett lépésben történik a megfelelő kidolgozottságú rendszer- és programtervek alapján az algoritmusok és adatszerkezetek kódolása megfelelő programnyelvre. Fontos a megfelelő, lehetőleg a feladatra legjobban specializálódott programnyelv kiválasztása.
Tesztelés
A programok tesztelése hosszadalmas, aprólékos munka. A tesztelésnél a több szem többet lát elv alkalmazására kell törekedni, tehát ne csak egy ember végezze ezt a műveletet. Nagyobb szoftvercégek a korábbi lépésekben összegyűjtött tesztesetek alapján külön szakembergárdát foglalkoztatnak ehhez a lépéshez.
Dokumentálás
A dokumentálás az elkészült rendszer leírására szolgál. A felhasználói dokumentáció a felhasználóknak, üzemeltetőknek készül. Ez tartalmazza a rendszer megfelelő működéséhez szükséges feltételeit, paramétereit, az adminisztrátori és a felhasználói kézikönyvet. A fejlesztői dokumentáció a programozóknak, a program készítőinek készül, és általában titkosan is kezelik. A fejlesztői dokumentációban van leírva a programkód működési elve, paraméterei és funkciói, működésének korlátai, esetleges továbbfejlesztési lehetőségeire is utalhat.
Átadás
A program mindennapi használatba vétele előtt történik meg az átadás, amely alatt a megrendelő betanítása is megtörténik, a készítők folyamatos ellenőrzés mellett. Ha az átadás sikeresen lezárul, a program készítői megkapják a kialkudott fizetséget a programért, innen a program önálló életre kel.
Használat
A program mindennapi használata kezdődik el ebben a fázisban, a fejlesztők folyamatos ellenőrzése mellett. Ezt a szakaszt karbantartásnak is nevezik. Ez a megnevezés jelzi azt is, hogy a használat közben felmerülő problémák kezelését, megoldását, javítását oldják itt meg, és emellett az új ötletekből és a visszajelzésekből, igényekből lassan megfogalmazódik a program következő verziója.
A probléma egy megoldásra váró elméleti vagy gyakorlati kérdés.