Nota dell’editor: Benvenuto nella serie Leadership In Test a cura del guru e consulente di test software Paul Gerrard. La serie è pensata per aiutare i tester con alcuni anni di esperienza—specialmente quelli che lavorano in team agile—a eccellere nei loro ruoli di test lead e management.
Nell’articolo precedente, abbiamo esaminato l'accettazione dei processi aziendali enterprise. In questo, l’ultimo articolo della serie, analizzeremo il panorama in continua evoluzione del test management e come continuare a far progredire la propria carriera nella gestione del testing.
Iscriviti alla newsletter The QA Lead per ricevere una notifica quando verranno pubblicate nuove parti della serie. Questi post sono estratti dal corso Leadership In Test di Paul che ti consigliamo vivamente per approfondire questo e altri argomenti. Se decidi di acquistarlo, usa il nostro codice sconto esclusivo QALEADOFFER per ottenere $60 di sconto sul prezzo intero del corso!
Nell’articolo introduttivo di questa serie, c’era questa introduzione:
Quando sei un test manager in un progetto, è molto probabile che le persone presumano che tu sia l’esperto su tutto ciò che riguarda i test. Gli altri membri del team avranno probabilmente opinioni consolidate o eccentriche sul testing; alcuni potrebbero avere (o almeno affermare di avere) più esperienza di te. Le aspettative riguardo al testing sono spesso irrealistiche e anche persone esperte adottano posizioni comode su ciò che i test possono ottenere. Alcuni potrebbero dubitare della tua competenza, del tuo valore per il team, o persino delle tue motivazioni. Può essere difficile.
Questo riassunto di ciò che significa essere un test manager merita di essere ripetuto. Determina le vere e significative sfide del ruolo:
- Lavori in una disciplina che la dirigenza potrebbe non comprendere o apprezzare
- Le aspettative poste su di te e sul tuo team saranno probabilmente troppo alte
- I tuoi colleghi di sviluppo e DevOps potrebbero credere che ‘chiunque possa testare’
- L’anno prossimo, e quello dopo, userai tecnologie diverse rispetto a oggi
- Le competenze principali di cui hai bisogno per avanzare nella tua carriera potrebbero includere ottimizzazione dell’esperienza cliente (CXO), DevOps, assurance, automazione, monitoraggio real-user, analytics, machine learning, intelligenza artificiale
- Il testing sta cambiando radicalmente e per sopravvivere devi adattarti.
In questo articolo esploreremo queste sfide, il futuro della gestione dei test e quali passi potresti intraprendere per sopravvivere e prosperare in un mondo nuovo. Vedremo anche le opportunità per i test manager di riqualificarsi e intraprendere ruoli alternativi.
- Competenze di Test Management in Evoluzione
- Competenze di Business, Leadership & Comunicative
- Lasciare il Test Management
Competenze di Test Management in Evoluzione
In questa serie abbiamo introdotto i concetti critici, le attività e — si spera — il valore del test management. Tutto ciò resta valido sia che tu sia un test manager a capo di un team di tester, sia che tu abbia la responsabilità su un programma di progetti, o che tu faccia parte di un team auto-gestito.
Ciò che cambia è l’ambiente in cui lavori. Certamente, le tecnologie variano in modi minori ogni anno e, ogni pochi anni, c’è una svolta. Ogni progresso tecnologico ci ha richiesto di ripensare quello che facciamo come tecnologi, architetti, programmatori e tester.
Il nostro approccio allo sviluppo si sta trasformando da metodi strutturati ad agile e, più recentemente, a continuous delivery e DevOps.
La motivazione per questi articoli era di concentrarsi non sulla tecnologia o sui modelli di lavoro. Piuttosto, ci siamo concentrati sui principi del testing e del test management, liberi da ciò che chiamiamo logistica – processi, tecnologia, ambiente aziendale, e così via.
Comprendendo i principi sottostanti, ci prepariamo ad affrontare qualsiasi cosa ci venga lanciata nei progetti. Tecnologie, metodologie e strumenti vanno e vengono, ma i principi rimangono sempre gli stessi.
Impara ad Adattarti
Il primo consiglio che posso darti è che devi imparare ad adattarti. Ricorda il sottotitolo del libro di Kent Beck, “Extreme Programming Explained”, era, “Abbraccia il Cambiamento”.
Il Manifesto Agile si basa su questo semplice messaggio e ti incoraggia ad adottare una serie di valori che ti aiutano a essere reattivo, non resistente, al cambiamento.
Alcuni pensano che agile sia un approccio – non lo è. È un atteggiamento verso il cambiamento, o forse persino – una filosofia.
Quindi, quando cambiano il tuo panorama tecnologico, i processi e l’ambiente aziendale, devi fidarti che i tuoi principi sono costanti.
Identifica i tuoi stakeholder e chiedi loro di cosa hanno bisogno da te. Usa modelli per semplificare sistemi e requisiti complessi. Utilizza questi modelli per comunicare la sfida del testing, identificare le misure di copertura e spiegare quanto testing verrà effettuato e quanto è già stato fatto.
Per essere sicuri dell'universalità dei principi di test serve esperienza, ma bisogna innanzitutto essere aperti a questa possibilità.
Avanzando nella tua carriera e vivendo diversi ambienti lavorativi e tecnici, impara a distinguere e separare la logistica e le pratiche di lavoro dal pensiero dei partecipanti al progetto.
Chiediti “in base agli input fissi e al contesto di questo processo, come ha deciso questo team di operare in questo modo?” Comprendi la differenza tra le due cose e come la logistica sia transitoria, mentre i principi sono universali.
Continua a Volontariato, Continua ad Imparare
Man mano che tu e il tuo team affrontate nuove situazioni e problemi, sii sempre aperto a offrirti volontario per prendere in carico questi compiti o assumere un ruolo di leadership nella loro risoluzione. In quasi tutti gli aspetti, i progetti software sono in realtà sfide di apprendimento di gruppo.
- Stakeholder e utenti imparano a descrivere i loro problemi e a capire come i sistemi e il software possano aiutarli a risolverli.
- Gli sviluppatori imparano come collegare la progettazione del software ai risultati di business e a risolvere problemi tecnici.
- I tester imparano come dimostrare che un sistema soddisfa le esigenze di stakeholder e utenti, utilizzano il rischio di fallimento per individuare errori e pericoli, e consigliano ai team come evitarli o forniscono prove che essi sono mitigati.
In tutti gli aspetti, queste sfide di apprendimento dipendono dalla raccolta di informazioni, dal pensiero razionale, dal processo decisionale basato sulle evidenze e dalle capacità di persuasione.
Offrirsi volontario per affrontare o gestire queste sfide ti insegnerà lezioni preziose. La tua reputazione all'interno del team software più ampio si rafforzerà e, quando i progetti raggiungeranno fasi critiche, i manager senior ti vedranno come una persona affidabile capace di gestire compiti difficili.
La disponibilità a offrirsi volontario per affrontare sfide nuove e uniche ti dà esperienza preziosa e ti distingue dagli altri membri del team.
Competenze di Business, Leadership e Comunicazione
Ci sono tre aree di competenze non tecniche in cui dovrai eccellere. Avere queste competenze ti distinguerà come tester o manager eccezionale. Le tre aree sono:
Competenze di Business
Prendi in considerazione l’idea di approfondire la conoscenza del business dei tuoi stakeholder di progetto. Se, ad esempio, stai sviluppando sistemi per il marketing, impegnati a saperne di più sul marketing. Questo ti aiuterà ad avere conversazioni più intelligenti con gli stakeholder, a comprendere le loro motivazioni e preoccupazioni e a essere preso più seriamente dai decisori senior.
Se lavori per una azienda di prodotti software, impara come funziona l’azienda dal punto di vista delle vendite e marketing di prodotto, delle licenze, del ciclo di vita di sviluppo di prodotto, della manutenzione e della fatturazione. In questo modo, verrai percepito come un professionista più informato e completo e, ancora una volta, comprenderai le motivazioni e le preoccupazioni dei principali stakeholder.
Competenze di Leadership
La leadership è probabilmente la competenza gestionale più importante. È necessaria per costruire team forti, efficaci e stabili. La logistica di reclutamento, delega, supervisione e direzione è importante, ma il leader efficace deve saper mostrare una visione al team, ideare un approccio o processo per raggiungere la missione e saper costruire rapporti personali con i membri del team per guadagnarne rispetto, lealtà e impegno.
I corsi di leadership possono aiutare, ma la maggior parte delle persone apprende attraverso l'esperienza e con il supporto di un coach o mentore di leadership (vedi oltre). Non fare affidamento solo sulle tue competenze tecniche e organizzative. Le grandi competenze di leadership ti distingueranno dai tuoi colleghi.
Competenze di Comunicazione
Forse la differenza più grande tra essere uno sviluppatore o un tester è la necessità di interagire e comunicare con altri membri del team, la direzione, gli stakeholder e i fornitori. Le principali interazioni di uno sviluppatore possono essere solo con alcuni colleghi, un analista di business e un tester.
Un tester o test manager deve interfacciarsi praticamente con ogni ruolo all’interno di un team software. Oltre a ciò, potresti dover collaborare con stakeholder senior e fornitori esterni di servizi, software e hardware.
La comunicazione è una strada a doppio senso. La tua capacità di assimilare grandi quantità di informazioni, magari contrastanti, provenienti da fonti diverse, è una sfida costante.
Naturalmente, devi anche comunicare verso l’esterno – al tuo team, agli stakeholder, agli sviluppatori e ai fornitori. Non si tratta solo di trasferire dati, ma di informare, persuadere e influenzare in diversi modi e situazioni.
Trova un Coach o Mentore
È scontato che, per migliorare le tue competenze ed avanzare nella carriera, avrai bisogno di aiuto. Aiuto che, in questo caso, si manifesta sotto forma di coach e mentori e, sebbene i due termini vengano spesso confusi, qui li intendiamo come ruoli distinti.
Esistono molte varianti nelle definizioni, negli stili, negli scopi e nel valore del mentoring e del coaching. Qui possiamo solo accennare all’argomento, quindi fai delle ricerche per vedere cosa può essere più utile per te. Questa è la nostra sintesi di ciò che coach e mentor possono fare per te.
Coaching
L'obiettivo del coaching di solito è aiutare il coachee a raggiungere uno specifico traguardo, ad esempio imparare a gestire meglio un team e migliorare le prestazioni. I coach non sono necessariamente esperti nel settore in cui ricevi il coaching.
I coach tendono a porre domande continue e a metterti costantemente alla prova. Lo scopo del coaching è quello di facilitare il pensiero e l’azione del coachee. Le domande tipiche sono ad esempio:
- Qual è il tuo obiettivo?
- Di cosa hai bisogno per raggiungerlo ad esempio supporto, risorse, tempo, denaro?
- Il tuo obiettivo è significativo, raggiungibile, vale la pena?
- Come misurerai i progressi?
- Man mano che progredisci, il tuo obiettivo è ancora un buon motivatore? L’obiettivo sta cambiando?
- Stai facendo progressi? Quali sono le barriere al progresso?
- Come supererai le barriere? Puoi aggirarle o evitarle?
Il coachee deve ragionare sulla problematica e svolgere tutto il lavoro. Attraverso un pensiero chiaro, i tuoi obiettivi, la motivazione e la comprensione di come progredire nasceranno da dentro di te.
Mentoring
L'obiettivo del mentoring di solito è sviluppare una competenza o capacità e realizzare un cambiamento incrementale; ad esempio, trasformarsi in ottica agile o implementare l’automazione dei test. Un mentor è generalmente un esperto nel campo in cui si lavora (ciò non esclude che possa anche essere un coach). Tipicamente, il dialogo tra mentor e mentee è meno unilaterale, con il mentee che pone domande tanto quanto riceve suggerimenti dal mentor.
In questo modo, il mentor aiuta il mentee a riflettere con maggior chiarezza e può dare consigli o proporre opzioni da considerare.
Un mentor nell’ambito testing potrebbe suggerire un approccio o offrire un framework per elaborare una strategia di test, per esempio. Il mentee raccoglie i dati e redige le varie sezioni della strategia. Il mentor può fornire feedback e consigli su come migliorare il contenuto, lo stile di scrittura, il livello di dettaglio, colmare le lacune e così via.
Queste definizioni di coaching e mentoring non sono standardizzate. Nelle vostre organizzazioni ci possono essere definizioni accettate e persino protocolli suggeriti per coaching e mentoring – quindi prestare attenzione a questi aspetti.
Sii un Coach o un Mentor
Gran parte della gestione, e in particolare della leadership, consiste nell’aiutare il proprio team a crescere e migliorare le proprie performance. In un certo senso, quando incontrerai e conoscerai i membri del tuo team, svilupperai con loro un rapporto personale destinato a durare, con il tuo ruolo che emergerà come coach o mentor per ciascun membro.
I rapporti che hai come coach e mentor sono ovviamente diversi e coprono aspetti di carriera diversi rispetto a quelli che hai con i tuoi stessi coach e mentor. Tuttavia, ricoprendo entrambi i ruoli acquisirai una visione più ampia sul modo migliore di sviluppare le persone e te stesso.
Molte persone che amano il coaching o il mentoring si offrono come volontari in ruoli anche al di fuori dell’ambiente lavorativo. Se hai esperienza nello sport, come calcio o atletica, potresti allenare le nuove generazioni. Altre possibilità comprendono l’educazione degli adulti, il coaching aziendale, o l’insegnamento di un tuo hobby come il giardinaggio o la manutenzione domestica.
In ogni caso, essere coach e mentor allargherà i tuoi orizzonti, migliorerà le tue capacità interpersonali e di comunicazione, e aumenterà la tua sicurezza nelle relazioni personali.
Presentazione
Ogni tanto, tutti sono chiamati a fare una presentazione sul lavoro. Un modo comune per migliorare le proprie capacità di presentazione è proporre interventi a conferenze tecniche. Queste vanno dalle conferenze internazionali con mille delegati alle grandi fiere, ai tutorial pre-conferenza, ai relatori principali, fino ai meetup locali con dieci o quindici colleghi appassionati in un pub.
Inutile dire che, se sei alle prime armi con le presentazioni, è più semplice cominciare da un meetup locale che proporsi per un intervento principale in un evento internazionale. I meetup sono sempre alla ricerca di relatori, specialmente di interventi da parte di professionisti esperti.
Trova un meetup nella tua zona, partecipa a uno o due incontri, chiedi agli organizzatori cosa cercano negli interventi – e fatti avanti. Tutti i relatori principali di fama internazionale hanno iniziato da qualche parte e un meetup è un punto di partenza valido quanto qualsiasi altro.
Lasciare alle Spalle il Test Management
Se la tua organizzazione intraprende una trasformazione agile, è possibile che il tuo ruolo di test manager venga gradualmente eliminato (o rimosso rapidamente). Che tu ritenga una buona decisione abbandonare il ruolo di test management o meno, dovrai affrontare la situazione. In queste circostanze in genere hai alcune opzioni disponibili.
Potresti tornare a essere un tester in un team agile, diventare uno specialista in test tecnici o di performance, evolvere il tuo ruolo verso l’assicurazione qualità, oppure lasciare l’azienda. Se lasci l’azienda, potresti cercare un nuovo ruolo interno di test management o entrare in una società di servizi di testing.
Vedremo due di queste opzioni: assurance e servizi di testing.
Passare all’Assurance
L'assicurazione (non l'assicurazione qualità) è una disciplina emergente correlata ai test, piuttosto che una disciplina di testing. Gli ex test manager sono ben qualificati perché sanno come gestire un servizio di test interno, hanno esperienza nel trattare con fornitori (di servizi di sviluppo o di test) e sono in grado di gestire interlocutori senior.
I ruoli di assurance abbracciano una serie di discipline:
Supervisione del testing di organizzazioni esterne o interne
Tipicamente, potresti essere coinvolto nella definizione o revisione della strategia di test. Una volta avviato il progetto, offri supporto consulenziale ai team di test nelle fasi iniziali. Successivamente, revisioni e valuti le prestazioni dei test e fornisci un punto di vista indipendente sui report prodotti dai fornitori per i comitati di progetto.
Leadership nell’assicurazione
I ruoli di leadership nell’assicurazione comprendono le attività di test assurance sopra menzionate, ma l’ambito di responsabilità può estendersi in diverse altre direzioni. Innanzitutto, potresti avere la responsabilità di consulenza e revisione indipendente di tutti gli output del progetto.
Potresti revisionare requisiti, design, piani di test, valutazioni dei rischi, riunioni di inizio e fine fase, report finali di fase e partecipare alle consuete sessioni di reporting di stato del progetto per fornire il tuo punto di vista indipendente sui progressi. Alcuni ruoli si estendono anche nelle fasi di migrazione dati, acquisizione di talento, cutover e roll-out di un progetto. In linea di principio, ovunque ci sia un'attività di progetto con dipendenze e deliverable, esiste un possibile ruolo di assurance.
Gestione assurance
La Gestione Assurance potrebbe richiederti di gestire un piccolo team di persone specializzate in test assurance, performance testing, information assurance, user experience design e valutazione, e così via. Nei progetti più grandi, soprattutto quelli della pubblica amministrazione centrale, i team di assurance sono comuni.
Tester agile
I tester agili svolgono “assicurazione in piccolo”. Un tester agile svolge tutte le attività menzionate sopra, ma nel contesto di un team più ristretto. Si relazionano e mettono alla prova gli stakeholder, supportano e affiancano gli sviluppatori nel testing, consigliano e indirizzano il lavoro degli utenti che testano e, a volte, effettuano anche loro stessi dei test.
Tipicamente, i ruoli di assurance richiedono che tu non abbia coinvolgimento o responsabilità diretta nelle attività di delivery quotidiana. È importante che tu sia in grado di mantenere una prospettiva indipendente sulle prestazioni dei team nel corso del progetto — sia interni che esterni.
Può essere un lavoro piuttosto isolato o solitario — non fai parte del team di progetto se non in modo temporaneo. Ma di solito sei responsabile verso lo sponsor del progetto e gli stakeholder di business. In alcune occasioni può essere un ruolo molto senior e influente.
L'assicurazione richiede un ampio spettro di competenze tecniche e non, e forti abilità manageriali e comunicative.
Diventare consulente per una società di servizi
Un percorso comune per i test manager qualificati è entrare in una società di servizi di testing. I servizi di test coprono ruoli che vanno dal tester junior alla gestione di grandi programmi e posizioni di assurance. Fornire servizi professionali richiede una prospettiva un po’ diversa da quella a cui potresti essere abituato e non sempre il passaggio è confortevole.
Ti potrebbe essere richiesto di essere coinvolto in un progetto nelle fasi molto iniziali e di essere responsabile della stesura delle strategie di test per progetti in ambiti di business a te sconosciuti. Le pratiche di lavoro dei clienti e dei loro fornitori possono essere molto diverse da quelle a cui sei abituato.
Questo può essere scoraggiante in programmi aziendali critici, soprattutto quando le tempistiche e i progetti sono sotto pressione per consegnare. A volte potresti trovarti in un ruolo per il quale ti senti poco qualificato; altre volte il contrario, dovendo lavorare con o per personale cliente meno esperto.
In ogni caso, diventare consulente e lavorare con una varietà di clienti è un ottimo modo per accumulare molta esperienza in poco tempo. Come consulente, le tue capacità aumenteranno e, se deciderai di lasciare i servizi di testing per tornare in un ruolo permanente in un dipartimento IT, dovresti essere molto più qualificato per accedere a un livello più senior.
I servizi di testing richiedono buone competenze tecniche e interpersonali ma, più di ogni altra cosa, servirà un atteggiamento flessibile e pragmatico. Lavorare con i clienti può essere alternativamente esaltante e noioso, stimolante e frustrante. Ancora una volta, non è per tutti e a volte dovrai viaggiare più di quanto vorresti, ma potrebbe offrirti molta esperienza in pochi anni.
Qualunque sia il tuo percorso professionale, ti auguriamo buona fortuna.
Pronto a saperne di più? Abbiamo una ricca libreria di podcast che dovresti esplorare! Eccone uno che potrebbe piacerti: COME IL SOFTWARE OPEN SOURCE SEMPLIFICA L’INTEGRAZIONE NELL’INGEGNERIA DELL’AUTOMAZIONE (CON JAMES WALKER E SANJAY KUMAR)
Iscriviti alla newsletter The QA Lead per restare aggiornato su tutte le nostre analisi dal mondo del testing. Questi articoli sono estratti dal corso Leadership In Test di Paul che consigliamo vivamente per approfondire questo e altri temi. Se lo fai, usa il nostro coupon esclusivo QALEADOFFER per ottenere $60 di sconto sul prezzo intero del corso!
Articolo correlato: 4 DESCRIZIONI DI RUOLI QA: TESTER, INGEGNERE, MANAGER & TECNICO
