Aruba
Applicazioni
 

19/07/2016

Share    

di Alessandro Collino

Nuove certificazioni per lo sviluppo Agile

Arricchito il percorso di formazione delle competenze per rispondere alla continua crescita di organizzazioni IT che adottano la metodologia. Il ruolo dell’associazione ITA-STQB.

Il termine ‘Agile’ è stato per anni una delle principali ‘buzzwords’ nell’ambito dello sviluppo software. Tale termine denota una vera e propria cultura che promuove lo sviluppo del software sulla base di valori e principi espressi nel Manifesto Agile, www. agilemanifesto.org. Le pratiche e metodologie nate in ambito Agile, limitate inizialmente ad ambiti ristretti e progetti di piccole dimensioni, si sono affermate nel tempo come metodologie mainstream. Nel corso degli ultimi anni, infatti, diversi sondaggi hanno mostrato come gli approcci Agile allo sviluppo del software siano oggi persino più adottati degli approcci sequenziali tradizionali basati su Vmodel. Tali approcci hanno suscitato un interesse in continua crescita grazie alla loro capacità di affrontare in modo efficace le questioni fondamentali relative a costi e tempi dei progetti di sviluppo del software, attraverso un delivery rapido caratterizzato da un’alta flessibilità nella gestione e implementazione del cambiamento delle specifiche. Uno degli elementi distintivi dei cicli di vita Agile, rispetto a quelli tradizionali, è l’idea di sviluppare il software attraverso un processo iterativo-incrementale, con iterazioni di breve durata, in cui ogni iterazione mira a produrre un incremento del software che sia potenzialmente rilasciabile e aggiunga nuove funzionalità di valore per il business. I concetti di iterazione e feedback frequenti, pianificazione adattativa, testing e integrazione continua sono alle base dell’obiettivo di sviluppare in modo incrementale software che sia sempre funzionante.


Agile Testing: evoluzione
Nei progetti Agile le iterazioni sono fortemente dinamiche, e le attività di sviluppo, integrazione e testing vengono svolte in parallelo per tutta la durata di ogni singola iterazione, con un elevato grado di sovrapposizione. A differenza di quanto avviene nei cicli di vita sequenziali tradizionali, le attività di testing non vengono svolte come fase finale separata. Questo richiede chiaramente ai tester inseriti in team Agile un cambio in termini di approccio mentale e modalità di lavoro, tanto quanto lo sviluppo di nuove competenze. In qualità di Program Chair della conferenza Agile Testing Days, www.agiletestingdays.com, fin dalla prima edizione del 2009, ho avuto modo di osservare questi aspetti sia con riferimento al processo di transizione da progetti con cicli di vita tradizionali a progetti Agile, che con riferimento all’evoluzione stessa di Agile a livello organizzativo: dai layer di progetto, a quelli di prodotto/programma e portfolio in ambito enterprise (i tre layer caratteristici della visione Agile Enterprise). La cultura Agile si è sviluppata infatti nell’ottica di rompere i tradizionali silos a livello di progetto (sviluppo vs testing/QA) per poi replicare questo approccio anche a livello organizzativo nell’ambito di una visione evoluta del business aziendale. Analogamente, anche la cultura DevOps, sviluppatasi recentemente nell’ambito della cultura Agile, e quindi anche Lean, e che costituisce attualmente uno degli ‘hot topics’ che promette di svilupparsi significativamente nei prossimi anni, intende rompere i silos rappresentati dai due dipartimenti ‘sviluppo’ e ‘operation’ nelle organizzazioni IT tradizionali, con l’obiettivo di ottenere un processo continuo di modifica e miglioramento delle applicazioni in produzione che consenta di ridurre i fallimenti dei rilasci e rendere il business aziendale più reattivo alle richieste di mercato. Per poter perseguire tale obiettivo è essenziale l’adozione di strategie di testing continuo all’interno di framework Agile ben consolidati, ma sia il consolidamento di tali framework che l’adozione di tali strategie si scontrano molto spesso con la mancanza di competenze adeguate sul mercato.

Agile Testing: boom di certificazioni ISTBQ®
In tale contesto, la certificazione delle competenze rappresenta sicuramente un importante strumento di riferimento per colmare tale vuoto. L’organizzazione ISTQB® (International Software Testing Qualifications Board), leader mondiale della certificazione nelle competenze di testing del software, ha deciso, nell’ambito dell’evoluzione del suo portafoglio prodotti, di dedicare al testing in ambito Agile uno stream dedicato che si affianca agli stream ‘Core’ e ‘Specialist’. Il recente modulo ‘Agile Tester’, rilasciato come estensione del livello Foundation alla fine del 2014, ha avuto un ottimo riscontro dal mercato; già nel primo anno: l’esame è stato effettuato da 38 board internazionali (tra cui quello italiano), con oltre 4.000 esami a fine 2015, mentre nel 2016 si prevede un’ulteriore accelerazione, con adozione globale a livello mondiale di oltre 10.000 esami. A tale modulo verranno aggiunti due moduli a livello Advanced attualmente in fase di sviluppo: ‘Technical e ‘Organizational’. Contenuti dell’ISTQB® Agile Tester Foundation Extension Con il modulo Agile Tester si mira alla certificazione di competenze che consentano ai tester di lavorare efficacemente all’interno di team Agile, con particolare riferimento ai seguenti aspetti:

• Collaborazione all’interno di un team inter-funzionale fondata sui principi e le pratiche base dello sviluppo software Agile.

• Capacità di adattare le esperienze e conoscenze di testing ai valori e principi Agile.

• Capacità di supportare un team Agile nelle attività correlate alla pianificazione del testing.

• Applicazione di tecniche e metodi attinenti al testing in un progetto Agile.

• Capacità di assistere un team Agile nelle attività di automazione del testing.

• Capacità di supportare i business stakeholder nella definizione di user story, scenari, requisiti e criteri di accettazione comprensibili e testabili.

• Capacità di lavorare e condividere informazioni con altri membri di un team Agile usando stili e canali di comunicazioni efficI contenuti e gli obiettivi di apprendimento, necessari allo sviluppo di tali competenze nell’ambito della certificazione, sono strutturati come descritto nel syllabus corrispondente. Si tratta quindi di un modulo dedicato allo sviluppo di competenze esclusivamente all’interno del layer di progetto nella visione Agile Enterprise.

Il modulo Advanced Agile Organizational coprirà invece tutti e tre i layer - progetto, prodotto/programma, portfolio - mentre il modulo Advanced Technical riprenderà alcuni temi del modulo Agile Tester sviluppandoli in un’ottica di maggiore orientamento all’applicazione ed analisi delle pratiche più evolute. Quest’ultimo ha l’obiettivo di permettere ai tester di raggiungere un livello di competenze tecniche che consenta loro di lavorare efficacemente all’interno non solo di team Agile, ma anche in organizzazioni Agile mature ed evolute, che lavorano in regimi di ‘continuous delivery/deployment’ strettamente legati alla cultura DevOps.

Il board italiano di ISTQB®, riunito nell’associazione ITA-STQB (ITAlian Software Testing Qualifications Board) e nato nel 2007 con l’obiettivo di supportare in Italia le certificazioni delle competenze nell’ambito delle tematiche del software testing, è stato uno dei primi board a livello mondiale a lanciare sul proprio mercato la certificazione Agile Tester Foundation Extension. Sull’onda dei buoni riscontri ottenuti come numero di certificazioni, sta attivamente contribuendo anche allo sviluppo dei moduli Advanced Technical e Organizational all’interno di ISTQB®.

*l'autore è Membro del Comitato Scientifico di ITA-STQB

 
TAG: Sviluppo

TORNA INDIETRO >>