Questo sito utilizza cookie per raccogliere informazioni sull'utilizzo. Cliccando su questo banner o navigando il sito, acconsenti all'uso dei cookie. Leggi la nostra cookie policy.OK

Il nuovo Alm ‘agile’ per accelerare il time-to-market

pittogramma Zerouno

Il nuovo Alm ‘agile’ per accelerare il time-to-market

16 Gen 2013

di Nicoletta Boldrini

Ridurre il ciclo di rilascio delle applicazioni si può. Una delle vie è introdurre nei team di sviluppo le metodologie di Application Lifecycle Management per garantire una migliore collaborazione con le operation che si occupano di gestire, mantenere e governare le applicazioni dopo il rilascio, durante il loro ciclo di vita. Ma la piattaforma tecnologica deve trovare nell’approccio metodologico il supporto corretto. Ed entra in gioco Agile.

Per poter essere competitive e arrivare sul mercato con i propri prodotti prima della concorrenza, le aziende devono contare su un ciclo di sviluppo del software molto più breve rispetto al passato. Ma se pensiamo a trend come cloud computing, mobile delivery, applicazioni ‘service-based’, ossia a tecnologie disruptive che stanno aumentando la complessità dei processi di sviluppo delle soluzioni software, il rilascio di applicazioni in linea con le richieste di business, di alta qualità e sicure, diventa sempre più complesso. Ecco perché servono piattaforme di Alm – Application Lifecycle Management – innovative, che consentono una vera e propria collaborazione tra team che si occupano di sviluppo e quelli dell’It operations.

Quando fecero la loro prima apparizione le piattaforme di Alm (all’inizio degli anni 2000), l’obiettivo era introdurre nelle aziende una disciplina ‘business oriented’ per le pratiche di sviluppo software. In realtà, ad oggi, tale disciplina fatica ancora ad essere introdotta nelle aziende e le ragioni sono molteplici: i costosi budget richiesti per rimpiazzare i tool esistenti con una piattaforma Alm; il significativo impatto sul piano del cambiamento dei processi; la complessa implementazione e integrazione tecnologica; la crescita di soluzioni open source sempre più adottate dai team di sviluppo.

Eppure, l’efficacia dell’Alm era (ed è tutt’ora) indirizzata alla ‘standardizzazione dei team di sviluppo’ (intesa come comunanza di processi, di metriche, di strategie) per superare le barriere di integrazione e interoperabilità tecnologica (e di processo) che si creano quando, soprattutto nelle grandi organizzazioni, i team sono molteplici o quando si ricorre all’outsourcing di alcune parti dei processi di sviluppo.

Sono infatti ancora moltissime le organizzazioni It strutturate ‘a silos’ che includono all’interno della stessa area applicativa team e strutture organizzative diverse, spesso anche all’interno della divisione specifica dedicata allo sviluppo applicativo dove esistono gruppi eterogenei che operano con tool e metodologie diversificate. Il vantaggio delle piattaforme Alm, in questo senso, emerge dalla possibilità di unificare e condividere processi e informazioni, attraverso un unico strumento tecnologico, afferenti ai business analyst, ai tester, agli sviluppatori, ai project manager, ecc.

Una tecnologia, tuttavia, che necessita del giusto approccio per poter ‘esprimere’ al meglio tutto il suo potenziale. In questo caso, il supporto arriva dalla metodologia Agile.

Agile: nuova vita all’Alm

Negli ultimi due/tre anni la metodologia Agile è divenuta, di fatto, il metodo standard per l’application delivery. E dato che, si legge in un recente business white paper rilasciato da Hp (intitolato “Shorten release cycles”), la maggior parte dei tool di Alm non erano progettati e disegnati per supportare la metodologia Agile o metodi simili, molti team di sviluppo hanno rivalutato i propri tool e le proprie pratiche di sviluppo, guardando all’Alm con rinnovato interesse.

Questo perché la metodologia consente di accelerare i cicli di rilascio attraverso una più efficace gestione dei processi di sviluppo e test che possono essere eseguiti in parallelo (testando le funzionalità direttamente mentre le si sviluppa) consentendo di sviluppare molti più progetti e in modo molto più rapido. Un beneficio che però accresce le problematiche di quality & assurance nonché di sicurezza che devono essere indirizzate da processi di test e controllo costanti e affrontate con una visibilità in real-time dell’intero ciclo di sviluppo, fin dalle primissime fasi.

La metodologia Agile ‘incoraggia’ le organizzazioni a raggiungere un elevato livello di tracciabilità di tutti i processi e dei task di lavoro in grado di garantire la visibilità completa di tutto il ciclo di sviluppo (requirement, fasi di sviluppo, test, cambiamenti, revisioni, ammodernamenti, ecc.). Il consolidamento e l’integrazione tra le soluzioni di Agile project management e le piattaforme Alm crea, secondo Hp, un hub ideale in grado di aumentare la produttività grazie alla più efficace collaborazione e condivisione di obiettivi e informazioni tra i team di sviluppo (che utilizzano le soluzioni di agile project management e applicano la metodologia Agile per lo sviluppo applicativo) e le It operation (che utilizzano le piattaforme Alm per gestire il ciclo di vita delle applicazioni).

Dal punto di vista tecnico, introdurre all’interno dei team di sviluppo soluzioni di Alm significa ‘spingere’ verso un approccio che non si limita a ‘guardare’ alle pratiche di sviluppo in sé ma al suo intero ciclo, ossia a quello che viene identificato come software development lifecycle (Sdlc).

Verso un ciclo di sviluppo e rilascio sempre più ‘agile’

Attenzione però, il Sdlc non è una ‘sottoarea’ dell’Alm ma un hub, come si diceva, tra l’Alm e l’application delivery che introduce importanti novità in termini di accelerazione dei processi e velocità di time-to-market, ma non impatta sui cosiddetti Ide (integrated development environment), consentendo cioè agli sviluppatori di continuare a programmare utilizzando i tool e gli ambienti a loro più confortevoli.

Ciò che, di fatto, introduce il Sdlc è un più efficace controllo di tutte le fasi del ciclo di sviluppo garantendo una vista olistica anche su elementi quali:

  1. gli obiettivi e le esigenze di business, per capire da dove arrivano le richieste di nuovo codice o di revisione funzionale o di modifica delle applicazioni esistenti e identificare meglio le possibili aree di intervento;  
  2. le motivazioni, per avere chiare le ragioni che spingono allo sviluppo applicativo, soprattutto se si tratta di revisioni e modifiche per le quali è fondamentale tenere traccia di tutti i passaggi e ‘ricostruire’ in tempi rapidi lo ‘storico’ del ciclo di sviluppo;
  3. la tracciabilità dei processi, per verificare in real-time tutti gli interventi di sviluppo;
  4. il progress dei progetti;
  5. la gestione e l’assessment del rischio, per capire quanto sia stabile il codice, quanto sia sicuro, quanto sia complicato o meno effettuare eventuali modifiche e revisioni future, ecc.;
  6. la governance, per assicurarsi che il tempo ‘speso’ dai team di sviluppo sia coerente con le priorità di business.

E affinché tale vista olistica si concretizzi e i team di sviluppo inizino a ‘ragionare’ in un ottica di ‘ciclo’ e non su un singolo progetto (e processo), è fondamentale che il ciclo di sviluppo venga considerato e gestito all’interno di una più ampia ‘filosofia’ di Alm. L’obiettivo è tenere sotto controllo il ciclo di vita dell'applicazione con una soluzione che soddisfi le necessità di tutti gli stakeholder, inclusi gli analisti aziendali, i manager dello sviluppo, i project manager, i manager che si occupano di Quality & Assurance e i team di testing. E questo risulta possibile solo attraverso piattaforme che consentano la condivisione delle informazioni e la collaborazione e garantiscano quindi quella tracciabilità e visibilità utile ad un governo efficace di tutti i progetti.

Non solo: date le necessità odierne delle aziende, che contano proprio sul servizio applicativo per aumentare la produttività ma anche per migliorare le propria capacità competitiva, l’approccio Alm applicato anche alle fasi di sviluppo consente di modernizzare rapidamente le applicazioni in ambienti eterogenei, ibridi (virtualizzati e cloud) e mobili, introducendo, come abbiamo visto, logiche collaborative, di governo e controllo che consentano di accelerare i processi.

Nicoletta Boldrini

Giornalista

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

LinkedIn

Twitter

Whatsapp

Facebook

Link

Articolo 1 di 4