Staranje programske opreme je pojav, ki se pojavlja pri vseh vrstah programske opreme, ne glede na to, kdo jo je ustvaril ali kako zmogljiva je bila programska oprema ob prvem nakupu. Staranje programske opreme je postopna degradacija kodiranja, pri kateri se začne pojavljati razdrobljenost, kar vodi do počasnejšega delovanja in zmanjšanja proizvodnje. Pomlajevanje programske opreme je namenjeno odpravljanju napak staranja, vendar ponuja le omejeno rešitev problema. Nenehne nadgradnje programske opreme prav tako poslabšajo učinke staranja in izvirno kodiranje postane izkrivljeno. Večini uporabnikov je lažje in manj zamudno kupiti novo programsko opremo, namesto da bi poskušali vzdrževati starajočo se programsko opremo.
Programska oprema, ki se uporablja prvič, je sveža in ni bila uvedena v nobeno ponižujočo kodo, niti njene informacije niso bile razdrobljene. To pomeni, da lahko program deluje hitro, brez težav. Ko bo staranje programske opreme napredovalo, bo operacijski sistem lahko v program vnesel manj virov. Z manj viri in degradirajočo kodo začne programska oprema povzročati zamike ali se lahko samodejno izklopi.
Nadgradnje, čeprav so navidez dobre, imajo lahko uničujoče učinke na staranje programske opreme. Nadgradnja uvaja novo kodo. Ta nova koda lahko izboljša učinke ali vidnost razdrobljene kode. Nadgradnja uvaja tudi več kode, kar poveča velikost programa. To pomeni, da je za proizvodnjo enakega rezultata kot pred dodajanjem nadgradnje potrebnih še več virov.
Pomlajevanje programske opreme je bilo uporabljeno za odpravo škodljivih učinkov staranja programske opreme. Obstaja veliko vrst tehnik pomlajevanja programske opreme, vendar je na splošno njihov cilj olajšati razdrobljenost in vrniti programsko opremo v prvotno kodiranje. Pomlajevanje programske opreme ponuja omejen popravek, ker ne more popraviti vseh napak, in se najbolje uporablja pri programski opremi, ki kaže od nizkih do srednjih znakov staranja.
Leta po pridobitvi programske opreme bodo učinki staranja programske opreme postali neizogibni. Količina časa ni določena, saj je odvisna od tega, kako dobro je bil program narejen, vendar je običajno 10 let zgornji razpon, ko je zaradi posledic staranja program skoraj neuporaben. Pomlajevanje programske opreme lahko popravi nekatere napake, ko programska oprema pride do te točke, vendar bodo učinki staranja še vedno otežili uporabo programa.
Ko so učinki staranja programske opreme neizogibni, se večina uporabnikov odloči za nakup nove programske opreme. Nova programska oprema ne bo potrebovala enakega vzdrževanja šele pozneje v svojem življenju in bo lahko ustvarila boljši rezultat kot stara programska oprema. Nakup novejše programske opreme, zlasti za podjetja, sprosti človeške vire za delo pri drugih nalogah ali projektih.