Team di sviluppo software: come costruire il miglior team per la tua azienda o il tuo progetto
Analizziamo quali sono le caratteristiche più importanti con cui valutare un nuovo candidato per il tuo team di sviluppo software e quali errori non devi commettere per costruire il tuo team.In questo articolo scoprirai qual è la caratteristica più importante per costruire un team di sviluppo software, quella che sarà il seme per coltivare tutte le altre skill necessarie in un progetto o in una azienda che fa della propria piattaforma tecnologica un pilastro strategico.
Fine dei preamboli e passiamo al sodo.
Cominciamo!
La premessa è questa.
Cerchiamo sempre persone eccezionali.
Che tu sia un imprenditore o il responsabile di un progetto, il successo dipende dalla costruzione di un grande team.
Giusto?
Ma sai benissimo quanto è difficile selezionare persone eccezionali.
Oggi ti voglio parlare solamente di una delle caratteristiche per individuarle.
Quali caratteristiche cerchiamo in un team di sviluppo software
In un percorso, sia esso imprenditoriale o di progetto, ci sono sempre ritardi, strade alternative da percorrere, errori che commetteremo.
Sono fattori critici, sai perché?
Perché ti costringono a cambiare i programmi e a modificare la pianificazione che stavi seguendo.
Cerchiamo di controllare e di pianificare tutto, dedicando molto tempo ed energie alla progettazione del nostro piano perfetto.
Siamo “il professore” della nostra “Casa di Carta”.
In fondo, progettare ci dà tranquillità.
Ci mette a posto con la coscienza.
Ci fa pensare di aver fatto tutto il possibile.
In un certo senso, ci deresponsabilizza.
Peccato che con l’avanzare dei progetti, errori ed imprevisti fanno vacillare il nostro piano perfetto.
Fanno cadere lo splendido “castello” (anzi casa) che ti sei costruito nella testa.
Pensaci bene.
Quali competenze ricerchiamo in un candidato da inserire in un team di sviluppo software e soprattutto, come queste pesano nei momenti di difficoltà?
Lo sai molto bene, di solito, cerchiamo skill tecniche.
Ma le competenze tecniche incidono solamente nell’ordinario.
Le competenze tecniche sono uno spaccato di cosa la persona sa fare in quel periodo storico, non del suo potenziale.
Certo, se non abbiamo imprevisti e il team è formato da straordinari tecnici, allora tutto ciò che abbiamo “disegnato” a tavolino porterà al successo.
Fin troppo facile.
Troppo, infatti.
Costruiamo i team di sviluppo software basandoci solo sull’happy path.
La verità è diversa. L’ordinario è spesso governato dall’imponderabile: da tutto ciò che non è stato ponderato, appunto.
Sembra un paradosso, ma pensaci.
Fai di tutto per evitarlo, ma il tuo lavoro spesso si riduce a risolvere imprevisti.
E’ così.
E allora chiediti: come reagisci quando hai fatto un errore?
Ti sembrerà strano, ma nella maggior parte dei casi la probabilità di recuperare un errore, non dipende dalla sua grandezza, ma dalla tempistica con cui reagisci ad esso.
A small error in the former will produce an enormous error in the latter
Henri Poincare
Detto in altre parole: se reagisci tardi sei spacciato.
E’ proprio qui che entra in gioco la caratteristica più importante, l’emotività.
Come incide l’emotività del singolo in un team di sviluppo software?
Immagina un grosso imprevisto durante un progetto.
Come incide il tuo carattere?
Se sei fragile:
- ti farai prendere dal panico e reagirai in ritardo.
- ti sentirai sotto pressione e commetterai altri errori.
Nell’imprevisto, la differenza la fa (anche e) soprattutto l’emotività. Avere skill tecniche eccezionali non serve a nulla se sei fragile.
E’ tanto semplice, ma altrettanto frequente.
L’importante è imparare ad ammettere gli errori e considerarli parte del processo.
E’ difficile, ma la differenza tra successo e fallimento sta tutta qui.
Allora, come ti devi comportare?
Facile.
Se commettiamo un errore dobbiamo alzare subito la mano.
Perché ritardare la comunicazione mette in difficoltà le persone che lavorano con noi.
Però lo facciamo, anche molto spesso.
Cioè, siamo così autolesionisti che commettiamo un errore in modo consapevole.
MA PERCHE’?!?!?
Per non intaccare il nostro orgoglio.
Mettere il nostro orgoglio davanti al bene dell’obiettivo comune è, questo si, un errore imperdonabile.
Diversamente, una comunicazione tempestiva diminuisce drasticamente l’impatto di un errore.
In definitiva, quando commetti un errore, pensa che:
- Tu non sei l’errore che hai commesso.
- differenza però sta tutta qui con le risorse che avevi a disposizione.
Stessa cosa se l’errore lo commette un componente del team
Bada bene: non ti sto dicendo che non bisogna analizzare e giudicare chi commette errori.
E’ inevitabile.
Succederà, e gli errori commessi avranno un peso.
C’è un però, anzi due.
- Sappi che il giudizio non deve intaccare i valori della persona.
- Inoltre, il giudizio è sull’impatto dell’errore, non sull'errore in se.
Considerando tutto ciò, conviene ancora seguire l’orgoglio?
Come valutare un candidato.
Fai un salto in avanti, a quando ti troverai ad intervistare il tuo prossimo candidato.
Fagli pure un colloquio tecnico, ma riserva una buona parte del colloquio per testare la sua emotività.
No, non ti sto dicendo di metterlo sotto pressione.
Mettere sotto pressione un candidato è un grosso errore: non lo farebbe esprimere al massimo e non ti farebbe comprendere il suo potenziale.
Inventati alcuni scenari in cui farlo immedesimare e fatti spiegare come si comporterebbe in quel contesto.
Durante il racconto, fai evolvere gli scenari introducendo errori suoi o di altri componenti del team, cambio di priorità o imprevisti.
E’ il modo migliore per valutare il suo atteggiamento nei confronti del team ed del progetto.
Se gli scenari disegnano una persona che: mette il proprio orgoglio davanti al progetto, ha un comportamento distruttivo e accusatorio verso i colleghi, si preoccupa di portare a compimento solo il suo lavoro stai attento. Significa che hai davanti un problema, non una soluzione.
Non c'è nessuna capacità tecnica che possa sopperire ad una mancanza caratteriale.
Non dimenticartelo.
Tieni botta,
Gianluca