Upravljanje životnim ciklusom aplikacije (ALM) je praksa koja se koristi za razvoj računalnih softverskih aplikacija. Ovo nije samo upravljanje izvornim kodom koji se zatim kompilira u softverski program, već svaki aspekt razvoja od trenutka koncepta do točke kada se smatra da aplikacija više nije izvediva za daljnji razvoj. Uz ovu praksu, ALM je sredstvo za premošćivanje ciljeva koje tvrtka ili organizacija ima za određeni dio softvera, stvaranje ili implementaciju tog softvera i održavanje softvera. ALM je, dakle, učinkovit u poboljšanju proizvodnje, suradnje i kvalitete tijekom životnog vijeka razvojnog projekta.
Proces je obično podijeljen u tri glavna cilja, od kojih svaki ima preklapajuće odgovornosti. Primarna i najraširenija praksa tijekom cijele primjene procesa upravljanja životnim ciklusom je upravljanje. Od trenutka začeća, sve u ALM procesu se upravlja i prati. Svaka komponenta životnog ciklusa, uključujući dizajn, razvojne programere, sam softverski kod, spada pod odgovornost upravljanja.
Uprava upravlja cjelokupnom organizacijom ovih elemenata, kao i analizom i izvješćivanjem koje se generira iz svakog koraka u procesu. To pomaže tvrtki da donese razumne odluke o daljnjim razvojnim naporima kao što su usporedbe troškova s različitim aspektima životnog ciklusa kako bi se poboljšao cjelokupni proces. Podaci dobiveni tijekom upravljanja životnim ciklusom aplikacije kroz njegovo upravljanje također su važni u određivanju je li opravdan daljnji razvoj ili bi softverski projekt trebao biti odbačen radi drugog pokušaja.
Drugi primarni aspekt ALM-a, razvoj, je mjesto gdje se odvija sve poslovično okretanje ključa. Ovo je također mjesto gdje se upravljanje životnim ciklusom aplikacije može zamijeniti sa životnim ciklusom razvoja softvera (SDLC), koji sam po sebi sadrži dodatne razine složenosti. ALM, međutim, uključuje SDLC kao kritičnu komponentu. Razvojni aspekt vodi računa o zahtjevima, dizajnu, kodiranju i testiranju softvera. Tu se također događa velik dio održavanja, kao što su nove pune verzije, ispravci bugova i manja izdanja.
Zatim su tu dnevne operacije. Nakon što softver dosegne stanje u kojem se može uspješno implementirati, u skladu sa svim zahtjevima i specifikacijama dizajna te je prošao početno testiranje kvalitete, prikladan je za izdavanje. Operations ovdje preuzima ulogu upravljanja životnim ciklusom aplikacije, pripremajući softver za implementaciju. To može uključivati bilo koji marketing i prodaju po potrebi i postavljanje okruženja podrške za pružanje pomoći korisnicima.