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.

  • 🧭 Tre elementi: La governance controlla i finanziamenti e l'accesso, lo sviluppo crea l'applicazione e le operazioni gestiscono e mantengono lo stack tecnologico implementato.
  • 📋 Requisito Foundation: La documentazione, l'analisi, la definizione delle priorità e la concordanza dei requisiti sono processi continui, anziché essere conclusi prima dell'inizio della fase di sviluppo.
  • 🔁 Metodologia sensibile: Il modello Waterfall separa le operazioni dallo sviluppo, mentre DevOps li unisce in un unico processo continuo e completamente integrato.
  • 🗂️ Controllo della configurazione: Gestione della configurazione del software tracRegistra ogni modifica al codice, ai documenti e alle entità correlate durante l'intero ciclo di vita.
  • 🧪 Ambito di verifica: I test confermano la conformità ai requisiti dichiarati e alle aspettative delle parti interessate, che i requisiti non erano riusciti a cogliere.
  • Panorama degli strumenti: Kovair ALM Studio, OpenText Gestione della qualità delle applicazioni e Digital.ai Requisiti di agilità per la copertura fino al rilascio.

Cos'è ALM?

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)

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.

Kovair ALM Studio

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.

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à.

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.

DOMANDE FREQUENTI

No. ALM è la disciplina; HP ALM è un prodotto che lo implementa. Quel prodotto è ora venduto come OpenText Gestione della qualità dell'applicazione dopo il passaggio Mercury, HP e Micro Focus.

La responsabilità è condivisa. La governance è generalmente affidata alla gestione del prodotto e del portfolio, lo sviluppo ai responsabili dell'ingegneria e le operazioni al team della piattaforma o al team DevOps. È raro che un unico responsabile si occupi dell'intero ciclo di vita.

AI Redige i requisiti a partire dalle note degli stakeholder, genera casi di test a partire da tali requisiti, prevede quali modifiche comportano il rischio di difetti più elevato e riassume lo stato di prontezza del rilascio per le revisioni di governance.

In parte. L'IA può suggerire collegamenti tra requisiti, casi di test e commit abbinando linguaggio e cronologia delle modifiche. Gli ambienti regolamentati richiedono ancora l'approvazione umana. tracmatrice di fattibilità prima dell'audit.

Copertura dei requisiti, tasso di difetti sfuggiti, tempo di consegna dalla richiesta al rilascio e percentuale di rilavorazione. Una copertura in aumento con un numero decrescente di difetti sfuggiti indica che i controlli del ciclo di vita sono efficaci.

Riassumi questo post con: