Nel 2011 Forrester ha condotto un’approfondita indagine su oltre 200 Cio e decisori It appartenenti a grandi imprese distribuite sia nella geografia (metà in Nord America e metà in Europa, Asia e Australia), sia nei settori di attività. Unici requisiti: avere un consistente budget It (oltre 10 milioni di dollari all’anno) e un parco applicativo con una forte presenza di soluzioni sviluppate ad hoc o largamente customizzate. Scopo dell’indagine: conoscere i piani e le attività in atto per modernizzare le piattaforme tecnologiche e i processi e strumenti di sviluppo e di gestione del ciclo di vita delle applicazioni (Sdlc, Software Development & Life Cycle), in modo d’avere l’agilità e l’efficienza richieste. Di quanto emerso da questo studio diamo una sintesi ai lettori.
Un mostro a tre teste
La situazione di rincorsa di cui si è detto nasce dal fatto che la funzione It, dopo più di quarant’anni passati a costruire, ampliare, riparare e adattare alle varie tendenze della tecnologia le soluzioni sulle quali poggia il business (e che poi sono la sua stessa ragion d’essere) si è costruita una gabbia a guardia della quale sta, come nell’Inferno dantesco, un mostro a tre teste. Che sono:
– 1) Piattaforme tecnologiche obsolete, complicate e costose da gestire. Un data center dall’infrastruttura troppo eterogenea drena risorse economiche ed umane ad un livello tale da avere, secondo l’80% degli intervistati, un impatto critico o quanto meno significativo sulla produttività dello sviluppo applicativo (figura 1).
– 2) Applicazioni invecchiate e non più rispondenti ai bisogni del business. Al pari delle infrastrutture, le applicazioni basate su vecchie tecnologie e tenute in vita a forza d’interventi per risolvere problemi contingenti sono un peso per l’It e andrebbero sostituite quanto prima. Così come, ovviamente, quelle divenute inadeguate ai bisogni del business. Ma eliminare le vecchie applicazioni non è facile, e non solo per problemi tecnici. Spesso un software resta in vita solo perché gli utenti, pur conoscendone i limiti, non se ne vogliono staccare o, semplicemente, perché non si ha il tempo di pensare allo sviluppo del nuovo.
– 3) Processi e strumenti di Sdlc superati. La produttività nello sviluppare e gestire il ciclo di vita delle applicazioni non potrà mai crescere in modo decisivo senza una radicale modernizzazione dei processi e degli strumenti correlati. C’è di buono che sviluppo e lifecycle management sono obiettivi primari per tutte le realtà indagate e il 51% ha in atto delle iniziative del genere.
Figura 1 – Gli elementi che impattano sulla produttività dello sviluppo applicativo
(cliccare sull'immagine per visualizzarla correttamente)
I buoni propositi non mancano
Nel complesso, lo studio Forrester evidenzia che il bisogno di consolidare e razionalizzare il parco applicativo è ben sentito dai responsabili It. Quasi tutti (91%) sono d’accordo sul fatto che ciò porterebbe grandi vantaggi e quasi la metà ritiene assolutamente necessario prevedere nei progetti a budget le risorse occorrenti al ritiro delle applicazioni che questi vanno a sostituire. Ma sebbene il 37% ritenga ugualmente necessario che la dismissione delle applicazioni vada prevista e condotta seguendo un processo formalizzato, in realtà solo un terzo ritira e sostituisce gli applicativi secondo piani e tempi precisi.
Modernizzare e consolidare le applicazioni business è comunque, e non da oggi, tra le priorità dei Cio: il 69% degli intervistati ha allocato allo scopo più di un quarto del budget It e il 30% vi destina oltre la metà.
Gli obiettivi finali di questi ingenti sforzi innovativi sono molteplici, ma ridurre i costi, migliorare le funzionalità degli applicativi e, soprattutto, aumentare l’agilità nella produzione del software, sono ai primi posti. Cosa si fa dunque per ottenere tali risultati? Le soluzioni messe in atto sono molteplici e diverse. In pratica, i responsabili It seguono una strategia bilanciata su più approcci, nessuno dei quali è nettamente prevalente sugli altri. Le attività in atto e/o pianificate puntano ai seguenti obiettivi: migliorare i processi Sdlc, compresi quelli di testing; ridurre la dipendenza dalle applicazioni legacy; razionalizzare il portafoglio applicativo; migliorare gli strumenti per il test e la gestione del ciclo di vita del software; ridurre la dipendenza dalle piattaforme legacy; sfruttare le possibilità offerte da diversi modelli di sourcing, incluso ovviamente l’outsourcing. A parte quest’ultima strada, adottata dal 36% degli intervistati, per tutte le altre i livelli di adozione sono, come si è detto, molto vicini tra loro, variando tra il 51% del miglioramento dei processi Sdlc e il 47% del rinnovamento delle piattaforme tecnologiche (figura 2).
Figura 2 – Le attività in atto o pianificate per migliorare la produttività dello sviluppo applicativo
(cliccare sull'immagine per visualizzarla correttamente)
L’approccio è… "Agile"
Interessante notare come tra le attività sui processi Sdlc, come si è visto la strada più battuta, l’adozione della metodologia Agile stia portando concreti risultati. L’80% di chi sta usando questo approccio allo sviluppo (che appare più apprezzato e diffuso in Europa che nel resto del mondo) ha rilevato un aumento delle produttività: più del 70% ha guadagnato nella qualità e nel valore delle applicazioni per il business (compreso il time-to-market) e il 65% ha migliorato la struttura dei costi.
Interessante (anzi “sorprendente”, per Forrester) anche il fatto che il metodo Agile sia applicato non solo allo sviluppo delle nuove applicazioni, ma in una quantità di altri compiti: dalla gestione dei grandi progetti (72% dei casi), all’adozione delle tecnologie Web (67%), sino a lavori prettamente ‘tradizionali’, come la manutenzione e la gestione delle tecnologie mainframe e client-server (figura 3).
Figura 3 – Adozione della metodologia Agile sia nello sviluppo applicativo sia con altre finalità
(cliccare sull'immagine per visualizzarla correttamente)
In conclusione, dallo studio si possono estrarre alcune considerazioni sulla necessità e sulle opportunità offerte dall’innovazione degli ambienti di sviluppo e testing applicativo che Forrester sintetizza nelle seguenti “raccomandazioni”:
– 1) Non si possono gestire le applicazioni del futuro con vecchi strumenti e metodologie superate. E questo è tanto più vero nel momento in cui le imprese devono trarre il meglio di sé per gestire l’attuale complessità economica e creare opportunità di crescita e sviluppo competitivo.
– 2) Bisogna razionalizzare il parco applicativo per eliminare tecnologie superate e applicazioni ridondanti. Altrimenti agilità e innovazione restano un miraggio.
– 3) Occorre modernizzare tutto il sistema degli strumenti di sviluppo. Si tratta di passare da tool di prima generazione a set per la gestione integrata dell’intero ciclo di vita delle applicazioni.
– 4) Le tre facce del problema di cui si è detto all’inizio (il mostro a tre teste) vanno affrontate con un approccio comprensivo: fluidificazione dei processi (metodo Agile); uso di nuovi tool capaci di sfuttare i nuovi metodi; razionalizzazione della infrastruttura e del parco applicativo;
– 5) Non dimenticare che se il metodo Agile porta vantaggi concreti, la sua adozione non è affatto banale (il 69% degli intervistati la considera di difficile esecuzione). Va quindi affrontata cercando di conoscerne le difficoltà e chiedendo aiuto se necessario.