Cos'è ALM? Acronimo di Application Lifecycle Management (Gestione del ciclo di vita delle applicazioni).
⚡ Riepilogo intelligente
ALM, o Application Lifecycle Management, governa un'applicazione software dalla specifica iniziale fino alla progettazione, allo sviluppo, al collaudo, alla distribuzione e all'esperienza utente a lungo termine. Governance, sviluppo e gestione operativa ne costituiscono i tre elementi, e sette fasi definite portano un'idea a diventare un prodotto mantenuto.

Cos'è l'ALM?
ALM È un processo di specifica, progettazione, sviluppo e test di un'applicazione software. Copre l'intero ciclo di vita, dall'idea iniziale dell'applicazione fino allo sviluppo, al test, alla distribuzione, al supporto e, infine, alla fase di esperienza utente. L'acronimo ALM sta per Application Lifecycle Management (Gestione del ciclo di vita delle applicazioni).
A seconda della metodologia di sviluppo software (ad esempio, waterfall, agile o DevOps), l'ALM può essere suddiviso in diverse fasi. Il processo ALM si articola principalmente in tre elementi: governance, sviluppo e operazioni.
Processo ALM
Ecco le aree chiave dell'ALM:
Governance LPI
Comprende la gestione dei requisiti, la gestione delle risorse, la sicurezza dei dati, l'accesso degli utenti, la revisione, la verifica, il controllo della distribuzione e il rollback.
Vantaggi della governance:
- Strategia aziendale allineata
- Sviluppareping un caso aziendale
- Offre un monitoraggio continuo
- Finanziare progetti che offrono il massimo valore
- Responsabilità e controllo chiari
Sviluppo di applicazioni
Comprende l'identificazione dei problemi attuali, la pianificazione, la progettazione, la realizzazione, il collaudo e la distribuzione dell'applicazione. Quest'area copre i ruoli tradizionali di sviluppatore e creatore di app.
Funzionamento dell'applicazione
Quest'area comprende la distribuzione dell'app e la manutenzione dello stack tecnologico. Nel metodo di sviluppo software a cascata, la fase operativa è separata da quella di sviluppo. Un team DevOps unisce le fasi operative e di sviluppo in un processo continuo e completamente integrato.
Perché l'ALM è importante?
Di seguito sono riportati i motivi principali per utilizzare ALM:
- Si ottiene una buona visibilità sullo stato del progetto.
- I team sono in grado di comunicare in modo efficace.
- I requisiti sono facili da definire e track.
- Il software è stato testato in modo adeguato.
- Il costo di manutenzione e funzionamento della soluzione rimane limitato.
ALM vs SDLC: le differenze
ALM e il ciclo di vita dello sviluppo del software vengono spesso trattati come sinonimi, il che genera confusione quando i team cercano di adottarne uno. Il ciclo di vita dello sviluppo del software (SDLC) si colloca all'interno di ALM, non accanto ad esso.
| Aspetto | SDLC | ALM |
|---|---|---|
| Obbiettivo | Costruire il software | L'intero ciclo di vita del prodotto, dall'idea al ritiro dal mercato. |
| Inizia alle | Requisiti per una build | Il business case iniziale |
| Termina alle | Distribuzione di tale rilascio | Disattivazione dell'applicazione |
| Copre la governance | Non | Sì — finanziamenti, accesso, audit, conformità |
| Numero di cicli | Uno per rilascio | Molti cicli SDLC nel corso della vita di un'applicazione |
Un'applicazione in genere attraversa numerose iterazioni del ciclo di vita dello sviluppo del software (SDLC) pur rimanendo all'interno di un singolo ciclo di vita ALM. Comprendere questa struttura annidata spiega perché le fasi descritte di seguito si estendono ben oltre il momento in cui il codice viene rilasciato.
Fasi dell'ALM (Application Lifecycle Management)
Ecco le diverse fasi dell’ALM:
1) Gestione dei requisiti
La gestione dei requisiti è la prima fase dell'ALM. Ti aiuta a documentare, analizzare, track, dare priorità e concordare i requisiti. È un processo continuo che si svolge durante tutto il ciclo di vita del progetto. Vedi anche il nostro elenco dei migliori software di gestione dei requisiti.
2) Design
La gestione del design è un processo che contribuisce a migliorare la soddisfazione e la fedeltà del cliente ottimizzando l'usabilità. Inoltre, modella l'interazione tra il cliente e il prodotto.
3) Gestione della costruzione
La gestione della build, nota anche come gestione del codice, è il processo di conversione dei file del codice sorgente in un componente software autonomo. In questa fase, un'idea per un'applicazione si trasforma in un'applicazione reale.
Durante questa fase l'applicazione viene creata, testata e distribuita, e il tester inizia a preparare i casi di test e a scrivere gli script di test per la fase di collaudo.
4) SCM
Gestione della configurazione software (SCM) è la fase ALM in cui il team di sviluppo organizza, gestisce e controlla sistematicamente le modifiche a documenti, codice e altre entità durante il ciclo di vita dello sviluppo dell'applicazione.
5) Operazioni e manutenzione
In questa fase iniziano il monitoraggio, la gestione e lo sviluppo continuo dell'applicazione. Nell'ambito del DevOps, questa fase comprende "rilascio", "configurazione" e "monitoraggio".
In questa fase si individuano e si risolvono i bug. Questa fase aiuta a pianificare e a stabilire le priorità per i prossimi aggiornamenti del prodotto.
6) Gestione dei test
Nella fase di test, i tester verificano che l'applicazione sia conforme ai requisiti definiti nelle fasi iniziali del processo.
Garantiscono inoltre che l'applicazione soddisfi le aspettative degli utenti e le esigenze di tutte le altre parti interessate che la supporteranno durante il suo ciclo di vita, anche laddove tali aspettative non siano state correttamente recepite durante la fase di definizione dei requisiti.
7) Esperienza utente
La manutenzione, o esperienza utente, è tradizionalmente la fase più lunga del ciclo di vita del prodotto (ALM), ma è anche la fase in cui la partecipazione dei team di test e sviluppo è solitamente più bassa.
Una volta sviluppata l'applicazione, entra in gioco il ruolo degli utenti. Essi testano l'intera applicazione e condividono la loro esperienza tramite feedback, dopodiché viene rilasciata la versione finale dell'applicazione.
Vantaggi di ALM
Ecco i vantaggi derivanti dall'utilizzo di ALM:
- ALM ti aiuta a controllare il sistema organizzando e traclavoro regale.
- I difetti possono essere condivisi tra progetti, riducendo così il rischio di duplicazione.
- ALM offre l'integrazione con altri strumenti di test.
- Fornisce una direzione chiara per un'app prima che venga creata.
- Senza ALM, è difficile per un team di sviluppo software produrre software con la velocità e l'agilità necessarie per rimanere competitivo.
- ALM fornisce software in modo efficiente con un carico di lavoro minimo per il team.
Strumenti ALM
Ecco alcuni importanti strumenti ALM:
1) Studio Kovair ALM
Kovair è uno dei prodotti più completi per la gestione del ciclo di vita delle applicazioni (ALM). È in grado di gestire tutte le fasi del ciclo di sviluppo, dai requisiti al rilascio.
Caratteristiche:
- Adotta una soluzione completamente basata sul web, senza software lato client, riducendo così il carico di lavoro di supporto.
- Utilizza qualsiasi metodologia di sviluppo: waterfall, agile o ibrida.
- Implementa un motore di flusso di lavoro configurabile basato su attività per una maggiore efficienza e produttività
- Ricevi notifiche in tempo reale in ogni fase operativa
- Garantire una copertura completa di ogni fase di sviluppo, consentendo la conformità agli standard.
- Consente la visualizzazione in tempo reale dello stato degli artefatti, aumentando la trasparenza e la prevedibilità del rilascio.
link: https://www.kovair.com/alm-studio/
2) OpenText Application Quality Management (precedentemente Micro Focus ALM)
Questo strumento supporta la consegna lean, agile e DevOps, aiutaping le organizzazioni rilasciano software più velocemente. Consente ai team di tutte le dimensioni di fornire app di alta qualità con maggiore velocità. Il prodotto ha cambiato proprietario diverse volte: è stato originariamente sviluppato da Mercury, acquisita da HP, trasferita a Micro Focus e da allora OpenText ha acquisito Micro Focus nel gennaio 2023 è stato venduto come OpenText Gestione della qualità delle applicazioni.
Caratteristiche:
- Fornisce app con velocità, qualità e scalabilità
- Consente alle parti interessate di interagire e coordinarsi per raggiungere gli obiettivi del progetto.
- Fornisce robustezza tracgestione e reporting, e integrazione senza soluzione di continuità delle attività relative al progetto
- Consente un'analisi dettagliata del progetto e una gestione efficace
- Si collega ai sistemi di posta elettronica e notifica ai membri del team le modifiche.
link: https://www.opentext.com/products/application-quality-management
3) Digital.ai Agility (precedentemente VersionOne)
Agility semplifica la pianificazione del prodotto con una facile gestione del backlog. È progettato per DevOps e fornisce una distribuzione continua end-to-end tramite un'interfaccia drag-and-drop. Il prodotto è stato lanciato come VersionOne, è passato a CollabNet e ora viene distribuito come Digital.ai Agilità.
Caratteristiche:
- Consente agli utenti di dare priorità a storie e difetti tramite trascinamento.
- Gestire le iniziative commerciali con elementi di portafoglio
- Consente di raggruppare gli elementi per tema
- Fornisce risultati in linea con gli obiettivi aziendali
- Raccoglie tutte le richieste di nuove funzionalità in un unico posto.
- Contribuisce a garantire l'allineamento tra gli obiettivi aziendali e i risultati del prodotto.
- Fornisce al responsabile del progetto informazioni dettagliate e una visibilità completa sull'intero processo.
link: https://digital.ai/products/agility/
La scelta dello strumento è meno importante di come il processo viene utilizzato quotidianamente, come illustrano i due scenari seguenti.
Scenario di utilizzo di ALM dal punto di vista dello sviluppatore
- Lo sviluppatore inizia a lavorare e controlla l'elenco delle attività che gli sono state assegnate.
- Esaminano i compiti in base alla priorità e ne scelgono uno.
- Cambiano lo stato dell'attività in "In corso".
- Prelevano il codice dal repository del codice sorgente.
- Implementano un test unitario con il framework di test.
- Eseguono il test con lo script di compilazione standard. Code I rapporti di ispezione segnalano convenzioni di denominazione illegali o potenziali bug.
- Correggono il codice e rieseguono il test.
- Una volta raggiunto il tasso di copertura prefissato, viene effettuato il commit del codice con l'ID dell'attività.
- Successivamente, controllano il codice ed eseguono lo script di compilazione.
- Il codice viene compilato e distribuito sulla macchina di staging.
- Il caso di test viene eseguito. Se si verifica un errore, viene inviata automaticamente una notifica allo sviluppatore e al responsabile del progetto.
- Lo sviluppatore ripristina il codice nel repository del codice sorgente e sulla macchina di staging.
- Se il test ha esito positivo, vengono avviate l'analisi del codice e la verifica della copertura. Eventuali problemi vengono segnalati; in caso contrario, lo sviluppatore viene informato che tutte le implementazioni sono state completate con successo.
- Registrano la loro cronologia lavorativa nel sistema di gestione delle attività.
- Il responsabile del progetto viene informato dell'avvenuta risoluzione del problema e ne esamina il risultato.
Scenario di utilizzo dell'ALM dal punto di vista del leader di progetto
- Il responsabile del progetto apre un browser web e accede alla pagina del pannello di controllo ALM.
- Ogni progetto ha la sua pagina di dashboard.
- Visualizza il numero di attività aperte, il numero di attività in sospeso e tutte le attività critiche aperte.
- La dashboard notifica al responsabile del progetto i potenziali rischi e mostra lo stato di salute generale del progetto.
- Ogni commit e ogni modifica vengono segnalati automaticamente.
- Il processo ALM elimina quindi la necessità di riunioni o telefonate per verificare lo stato di integrazione continua delle attività critiche.



