Che cos'è l'ALM (gestione del ciclo di vita delle applicazioni)? Processi
Cos'è l'ALM?
ALM è un processo di specifica, progettazione, sviluppo e test di un'applicazione software. Copre l'intero ciclo di vita, dall'idea dell'applicazione fino alla fase di sviluppo, test, distribuzione, supporto e, infine, dell'esperienza dell'utente. La forma completa di ALM è la gestione del ciclo di vita delle applicazioni.
A seconda della metodologia di sviluppo del software (ad esempio, cascata, agile o DevOps), l'ALM potrebbe essere suddiviso in varie fasi. Il processo ALM è principalmente suddiviso in tre elementi: Governance, sviluppo e operazioni.
Processo ALM
Ecco alcune aree chiave dell'ALM:
Governance LPI
Include la gestione dei requisiti, la gestione delle risorse, la sicurezza dei dati, l'accesso degli utenti, la revisione, l'audit, il controllo della distribuzione e il rollback. Fornisce inoltre la gestione delle risorse, la sicurezza dei dati e l'accesso degli utenti.
Vantaggi della governance:
Ecco i pro/benefici della governance:
- Strategia aziendale allineata
- Sviluppo di un caso aziendale
- Offre un monitoraggio continuo
- Finanziare progetti che offrono il massimo valore
- Responsabilità e controllo chiari
Sviluppo di applicazioni
Include l'identificazione dei problemi attuali, la pianificazione, la progettazione, la creazione e il test dell'applicazione. Quest'area è costituita dai tradizionali ruoli di sviluppatore e creatore di app. Questa fase include l'identificazione dei problemi attuali, la pianificazione, la progettazione, la costruzione, il test, l'implementazione, ecc.
Funzionamento dell'applicazione
Il prossimo elemento importante di ALM è il funzionamento dell'applicazione. Quest'area include la distribuzione dell'app e la manutenzione dello stack tecnologico. Nel metodo di sviluppo del software a cascata, il funzionamento è una fase separata dallo sviluppo. Il team DevOps riunisce operazioni e sviluppo in un processo continuo e completamente integrato.
Perché l'ALM è importante?
Di seguito sono riportati i motivi principali per utilizzare ALM:
- Se utilizzi ALM, hai una buona visibilità sullo stato del progetto.
- I team sono in grado di comunicare in modo efficace.
- È facile monitorare o definire i requisiti.
- Il software è stato testato adeguatamente.
- Il costo di manutenzione e funzionamento della soluzione rimane limitato.
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 che ti aiuta a documentare, analizzare, monitorare, stabilire le priorità e concordare i requisiti. È un processo continuo che continuerà per tutto il ciclo di vita del progetto. Controlla anche il nostro elenco dei migliori software di gestione dei requisiti: - Clicca qui
2) Design
La gestione della progettazione è un processo che aiuta ad aumentare la soddisfazione e la fidelizzazione del cliente migliorando l'usabilità. Fornisce inoltre 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 l'idea applicativa si trasforma in un'applicazione vera e propria.
Durante questa fase, l'applicazione viene creata, testata e distribuita e il tester inizia a preparare i propri casi di test e a scrivere uno script di test per la fase di test.
4) SCM
Gestione della configurazione software (SCM) è un'altra fase ALM in cui il team di sviluppo organizza, gestisce e controlla sistematicamente le modifiche apportate a documenti, codici e altre entità durante il processo del ciclo di vita dello sviluppo dell'applicazione.
5) Operazioni e manutenzione
Operazioni e manutenzione è la fase successiva. Nella fase ALM inizierà il processo di monitoraggio, gestione e sviluppo delle applicazioni. In DevOps, questa fase ALM copre "rilascio", "config" e "monitor".
In questa fase trovi e risolvi i bug. Questa fase ti aiuta a pianificare e dare priorità ai prossimi aggiornamenti del prodotto.
6) Gestione delle prove:
Nella fase di testing i tester devono verificare che l'applicazione sia conforme ai requisiti definiti nelle fasi iniziali del processo.
Devono inoltre garantire che, anche se questo non è adeguatamente definito nella fase dei requisiti, l'applicazione soddisferà le aspettative degli utenti e di tutte le altre parti interessate che dovranno supportarla durante tutto il suo ciclo di vita.
7) Esperienza dell'utente:
La manutenzione o l'esperienza dell'utente è tradizionalmente la fase più lunga dell'ALM. Tuttavia, è anche quello in cui la partecipazione dei team di test e sviluppo è solitamente la più bassa.
Dopo che l'applicazione è stata sviluppata, entra in gioco il ruolo degli utenti. Controllano l'intera applicazione e condividono la loro esperienza in base al loro feedback. Verrà consegnata la domanda definitiva.
Vantaggio dell'ALM
Ecco i vantaggi/vantaggi derivanti dall'utilizzo di ALM:
- ALM ti aiuta a controllare il sistema organizzandolo e monitorandolo
- Puoi condividere i difetti tra progetti, riducendo i rischi aiutando.
- 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 una "tassa" minima per il team.
Strumenti ALM
Ecco alcuni importanti strumenti ALM:
1) Studio Kovair ALM
Kovair è la maggior parte del prodotto completo per la gestione del ciclo di vita delle applicazioni. Può gestire le fasi del ciclo di vita dello sviluppo end-to-end, dai requisiti al rilascio.
Caratteristiche:
- Adotta una soluzione basata al 100% sul Web senza software lato client per ridurre il carico di supporto
- Pratica una qualsiasi delle metodologie di sviluppo a cascata, 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
- Fornire una copertura completa dello sviluppo in ogni fase, consentendo la conformità agli standard.
- Consente la visualizzazione in tempo reale dello stato degli artefatti, aumentando la trasparenza e la prevedibilità dei rilasci.
link: https://www.kovair.com/alm-studio/
2) Microfocalizzazione
Microfocus ALM è un software e soluzioni Lean, Agile e DevOps che aiuta le organizzazioni a rilasciare il software più velocemente. Questo strumento consente a team di tutte le dimensioni di fornire app di alta qualità con maggiore velocità. Lo strumento è stato originariamente sviluppato da Mercury, in seguito acquisita da HP e infine rilevata da MicroFocus.
Caratteristiche:
- Distribuisci app con velocità, qualità e scalabilità
- Consente alle parti interessate di interagire e coordinarsi per raggiungere gli obiettivi del progetto.
- Fornisce un monitoraggio e un reporting affidabili e una perfetta integrazione di varie attività relative al progetto
- Permette un'analisi dettagliata del progetto e una gestione efficace.
- ALM può connettersi ai sistemi di posta elettronica e inviare e-mail su eventuali modifiche a tutti i membri desiderati del team.
link:https://software.microfocus.com/en-us/select/free-trial
3) Versione Uno
VersionOne semplifica la pianificazione del prodotto con una facile gestione del backlog. È costruito per DevOps e fornisce la consegna continua end-to-end. Ha un'interfaccia drag-and-drop.
Caratteristiche:
- Consente agli utenti di dare priorità a storie e difetti utilizzando la funzione di trascinamento della selezione.
- Gestisci le iniziative aziendali con gli elementi del portafoglio
- Permette di raggruppare gli elementi per tema
- Fornire risultati in base all'obiettivo aziendale
- Catturare tutte le richieste di funzionalità in un unico posto
- Aiuta gli utenti a garantire l'allineamento tra obiettivi aziendali e risultati finali del prodotto
- Fornisce un forum per interagire con altri clienti per imparare dai colleghi.
- Fornisce approfondimenti e visibilità end-to-end al project manager.
link: https://www.collab.net/products/versionone
Scenario di utilizzo di ALM dal punto di vista dello sviluppatore
- Lo sviluppatore inizia il suo lavoro
- Controlla l'elenco delle attività che gli è stato assegnato
- Controlla i compiti con priorità e ne prende uno.
- Quindi modifica lo stato dell'attività in In corso
- Estrai il codice dal repository del codice sorgente.
- Implementa un test unitario con il framework di test.
- Esegui il test con lo script di build standard. L'ispezione del codice mostra convenzioni di denominazione illegali o potenziali bug.
- Corregge il codice e testa nuovamente lo script.
- Dopo aver confermato il codice, la tariffa di copertura soddisfa la tariffa target. Esegue il commit del codice con l'ID dell'attività.
- Quindi controlla il codice ed esegue lo script di compilazione.
- Compila e distribuisci il codice sulla macchina di gestione temporanea.
- Esegui il caso di test. Nel caso in cui sia rotto, invia automaticamente una notifica allo sviluppatore e al project manager.
- Lo sviluppatore esegue quindi il rollback del codice nel repository di origine e nella macchina di gestione temporanea.
- Se il test viene superato, richiama l'ispezione del codice e l'analisi della copertura. Se c'è un problema. Segnalerà il problema; in caso contrario, lo sviluppatore notifica che tutte le implementazioni sono state eseguite con successo.
- Scrive la sua storia lavorativa in un sistema di gestione delle attività
- Il Project Manager riceve la notifica che l'attività è stata risolta.
- Controlla la nota del risultato dell'attività.
- Lo sviluppatore completa la sua giornata lavorativa.
Scenario di utilizzo dell'ALM dal punto di vista del leader di progetto
- Il responsabile del progetto esegue un browser Web e accede alla pagina del dashboard ALM.
- Ogni progetto ha una dashboard della pagina.
- Visualizza il numero di attività aperte, il numero di attività in sospeso e tutte le attività critiche aperte.
- Il leader del progetto viene informato del potenziale rischio e proietta uno stato integro utilizzando la dashboard.
- Tutti i commit e le modifiche vengono segnalati automaticamente.
- In questo caso, il processo ALM aiuta il team in modo tale da non dover effettuare una riunione o una telefonata per verificare il processo CI delle attività critiche.
Sommario
- Acronimo di Application Lifecycle Management ALM è un processo di specifica, progettazione, sviluppo e test di un'applicazione software.
- Le aree chiave di ALMS sono definite come 1) Governance, 2) Sviluppo di applicazioni 3) Gestione delle applicazioni.
- Se utilizzi ALM, hai una buona visibilità sullo stato del progetto.
- La gestione dei requisiti, la progettazione, la codifica, l'SCM, la gestione della creazione, la gestione dei test e le esperienze degli utenti sono fasi importanti del processo ALM.
- ALM ti aiuta a controllare il sistema organizzandolo e monitorandolo.
- Il processo ALM è utile per sviluppatori, project manager e tutte le voci del processo di gestione del sistema.