Zhvillimi i softuerit dhe evolucioni mund të mendohen si proces i integruar, iterativ që mund të paraqitet duke e përdorur një model spiral.
Për sistemet specifike (të porositura enkas), kostot e mirëmbajtjes zakonisht i kalojnë kostot e zhvillimit të softuerit.
Procesi i evolucionit të softuerit udhëhiqet nga kërkesat për ndryshime dhe e përfshin analizën e ndikimit të ndryshimit, planifikimin e instalimit të versionit të ri, dhe implementimin e ndryshimit.
Ligjet e Lehmanit, si nocioni se ndryshimi është i vazhdueshëm, e përshkruajnë një numër të mençurive të nxjerra nga studimet afat-gjata të evolucionit të sistemit.
Janë tri lloje të mirëmbajtjes së softuerit: rregullimi i defekteve, ndryshimi i softuerit për të punuar në ambient të ri, dhe implementimi i kërkesave të reja apo të ndryshuara.
Riinxhinierimi i softuerit merret me ristrukturimin dhe ridokumentimin e softuerit për ta bërë më të lehtë të kuptohet dhe të ndryshohet.
Rifaktorimi, bërja e ndryshimeve të vogla në program që e ruajnë funksionalitetin, mund të mendohet si mirëmbajtje parandaluese.
Duhet të vlerësohen vlera biznesore e një sistemi të vjetër dhe cilësia e softuerit aplikativ dhe ambientit të tij për ta përcaktuar se a duhet të zëvendësohet, të transformohet, apo të mirëmbahet sistemi.
Burimi: Ian Sommerville, Inxhinierimi i softuerit