Vuoi migliorare la gestione dei progetti a lungo termine con team multidisciplinari e prendere decisioni rischiose in modo sicuro e ponderato? Non perderti il nostro workshop gratuito!
Antonio Dell’Ava, Frontend Developer di eDreams Odigeo, condividerà strategie per aiutarti a ottimizzare la collaborazione nel tuo team, scegliere gli strumenti giusti per ogni situazione e garantire l’evoluzione del progetto nel tempo
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
More Related Content
Similar to Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ho imparato lavorando in un grande progetto software cross funzionale
Similar to Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ho imparato lavorando in un grande progetto software cross funzionale (20)
3. 3
Perchè
3 fattori critici per la maggior parte dei progetti che ho vissuto
1. Collaborazione VS Silos e Catene di Montaggio
2. Decisionalità VS “Lui ha detto che..”
3. Gestione della complessità nel tempo VS
“Facciamo così poi vedremo”
* non sono 3 cose separate
4. 4
Come
Seguiremo schema
1. Connessione con la vostra esperienza
dalla quale spero di imparare
2. Concetti derivati dalla mia esperienza (*)
3. Pratica
* in particolare gli ultimi mesi in eDreams odigeo
6. 6
La vostra esperienza
Identifica il principale bottleneck collaborativo che percepisci
nella tua organizzazione.
Quale impatto negativo ha/ha avuto sul progetto/i?
Miro
Decisionalità
7. 7
Regole
● Abbiamo un euro all’asta 🤑
● L’offerta minima è 5 cents
● I rilanci sono per multipli di 5
● In quanto gestore dell’asta incasso la prima e la seconda
offerta 💸
Esperimento
col pubblico
L’asta dell’euro
8. 8
Sistema
Connessione esercizio / realtà
Il nostro
team
Altro team
(es. product)
Altro team
(es UX)
L’azione individuale anche
se è razionale localmente
non porta benefici e risulta
irrazionale nel suo
complesso.
No condivisione di dati o di
strategie.
11. 11
Collaborazione parte da noi, ma con chi?
Fattori Esterni al nostro
team. Ma che possono
influenzare la nostra
decisione
Team
Vicini al nostro
team
Periferici al nostro
team
12. 12
Collaborazione, ma con chi?
team
Vicini al nostro
team
Esterni al nostro team,
Ma che possono
influenzare la nostra
azione
Periferici al nostro
team
Legal
Regulation
Mercato
Business
Analytics
DevOps
Team di
Prodotto Y
Team di
Prodotto Z
Consulting
Team
Marketing
Team di
Prodotto X
13. 13
Come collaborare con le persone giuste nel modo giusto?
Challenger
Alto potere
Basso interesse
Key Supporter
Alto potere
Alto interesse
Passive
Basso potere
Basso interesse
Follower
Basso potere
Alto interesse
POTERE
INTERESSE
14. 14
Esempio Pratico
Challenger
Alto potere
Basso interesse
Key Supporter
Alto potere
Alto interesse
Passive
Basso potere
Basso interesse
Follower
Basso potere
Alto interesse
Gestite le
aspettative, da
coinvolgere
quando serve
Da tenere
monitorati, info
broadcast
Mantienili
Informati,
mostra
considerazione
Tienili vicini,
coinvolgerli
nelle iniziative,
riti comuni
POTERE
INTERESSE
Team di
Prodotto Y
Team di
Prodotto Z
Legal Analytics Team di
Prodotto X Business
Consulting
Team Marketing
DevOps
15. 15
Come collaborare con le persone giuste nel modo giusto?
Expressive
Creativi
“Generiamo nuove idee
e poi scegliamo”
Amiable
Team-player
“Facciamolo insieme”
Driver
Risultati
“Avremo questi
risultati facendo ciò in
questo tempo”
Analytics
Dati e Processi
“Seguiremo questo
metodo e ci baseremo
su queste metriche”
STILE
ASSERTIVO
(TELLING)
NON MOSTRANO EMOZIONI
MOSTRANO EMOZIONI
STILE
NON
ASSERTIVO
(ASKING)
16. 16
Esempi di azioni
Expressive
Creativi
“Generiamo nuove idee
e poi scegliamo”
Amiable
Team-player
“Facciamolo insieme”
Driver
Risultati
“Avremo questi
risultati facendo ciò in
questo tempo”
Analytics
Dati e Processi
“Seguiremo questo
metodo e ci baseremo
su queste metriche”
STILE
ASSERTIVO
(TELLING)
NON MOSTRANO EMOZIONI
MOSTRANO EMOZIONI
STILE
NON
ASSERTIVO
(ASKING)
empatia,
coinvolgimento
nei processi
generativi
business plan,
metriche
Empatia,
inclusività, lego
serious play,
workshop
Dati storici &
learnings,
metriche
18. 18
Booster
● Connessioni Allocare tempo per creare connessioni
● Domande fare challenge intelligenti > dare ordini
● Dati dati e metriche per guidare la discussione
● Bisogni capire prima i bisogni degli altri
● WIIFM what is the benefit for them
● Ideation coinvolgere i le persone dall’inizio
● Prototypes discutere soluzioni concrete non idee vaghe
● Chiarezza qual è l’obiettivo dell’organizzazione?
come lo stiamo implementando?
19. 19
Cosa NON fare
● Sfiducia negli altri
● Paura del feedback (dare e ricerverlo)
● Personalizzazione dei conflitti
● Mancanza (o accettazione della mancanza) di
commitment & poca attenzione ai risultati
● Non prendersi la responsabilità di ciò che si è fatto
● Obiettivi/metriche locali non connessi a quelli globali
* tanto più sono evidenti nelle key people quanto più questi sono
dannosi
21. 21
6 Momenti in cui chiedersi se lavorare insieme
1. Ideation coinvolgere i dev dall’inizio
2. Prototypes feedback & opportunità
3. UX Research Dare visibilità e importanza alle
informazioni che abbiamo sull’utente
4. Grooming condividere priorità e evolutive
5. Inizio Task reframe/refresh delle attività
6. QA feedback sul risultato
22. 22
Richiesta
1. Identifica il principale bottleneck collaborativo che
percepisci nella tua organizzazione ✅
2. Identifica un’azione da mettere in capo da domani per
iniziare a rimuoverlo;
3. Definisci cosa fare, perché è importante, chi coinvolgere,
come, e che benefici ha.
4. Spiega la tua decisione alla persona seduta accanto a te in
meno di due minuti e vice versa.
Miro
Esercizio Pratico
24. 24
La vostra esperienza
Tutti noi abbiamo in testa come vorremmo lavorare se fossimo
completamente liberi (XP, Agile, Lean, etc etc).
Immagina il tuo processo decisionale come un piatto perfetto:
quali sono gli ingredienti che non possono mancare secondo te?
🍎🍆🥦🥒🌶🫑🌽🥕🧄🥔🍋
Miro
Decisionalità
25. 25
Gli ingredienti di un buon decision making
Right Data
Right
Process
Right People
Decisioni
buone 1. Opzionalità
2. Criteri di
giustezza
chiari e
condivisi
Collaborazione!
1. Sugli utenti
2. Sul business
3. Sul contesto
33. 33
Categorizzare una decisione
Importante
Da pianificare
Critico
Da fare subito
Archivio
Da non considerare ora
Delega
Da delegare a chi ha
passione e
responsabilità
IMPORTANZA
URGENZA
35. 35
Delegare una decisione: esempio
Milestone Champion
Compie l’analisi tecnica
Affianca il team di prodotto e UX
Effettua lo user story mapping
Monitora l’andamento
Tech Lead Developer
36. 36
1. Identifica il tuo processo decisionale perfetto ✅
2. Identifica almeno un ingrediente da aggiungere a quelli che
hai già definito;
3. Definisci perché è importante e in che modo migliora il
processo definito precedentemente;
4. Spiega la tua decisione alla persona seduta accanto a te in
meno di due minuti e vice versa.
Miro
Esercizio Pratico
38. 38
La vostra esperienza
Identifica la “cosa” (tecnologia/pratica/approccio/metodologia)
che ha avuto il più alto impatto positivo sulla produttività tua e
del team e ha semplificato l’evoluzione del software?
Spiega brevemente il perché
Miro
Gestione della complessità nel tempo
39. 39
Il costo del software nel tempo
Il costo delle attività di sviluppo di un software o di una feature
dipendono per una quota variabile tra il 40 e l’80% dalle
evolutive e dalle correzioni che avvengono dopo il primo
rilascio.
Facts and Fallacies of Software Engineering, Robert Glass
42. 42
Come rendere facile l’evoluzione? la teoria degli hotspot
Code as Crime Scene, Adam Tornhill
43. 43
Saper guidare l’evoluzione
1. Fare sofware è un lungo processo di apprendimento e passiamo la
maggior parte a capire e evolvere un software esistente,
l’evoluzione ha un impatto economico alto;
2. In grandi codebase abbiamo un intersezione tra variabili tecniche e
sociali/organizzative interdipendenti;
3. Fare buon design è essenziale ed è un’arte agile che implica
rendere facile l’evoluzione;
4. Per rendere facile l’evoluzione è necessario capire dove
focalizzarsi per trovare i “colpevoli” che la ostacolano
44. 44
La teoria degli hotspot: how to
Gli hotspot rappresentano parti complesse della codebase che sono più
critiche (solitamente sono il 4..6% della nostra codebase).
● 📌 I crimini: la ricerca (*) ha dimostrato che modifiche frequenti a
codici complessi generalmente indicano un calo della qualità
(NB i file di config vanno esclusi)
● 🎯 Il nostro obiettivo: ridurre la complessità e rendere il codice
facile e sicuro da modificare ed evolvere
Sonarqube
45. 45
La teoria degli hotspot: how to
● 📌 modifiche frequenti 👉 git (file config esclusi)
git log --since "1 year ago" --name-only --pretty="format:" |
sed '/^s*$/'d | sort | uniq -c | sort -r | head -n 30
● 🎯 complessità 👉 sonarqube (fallback lines of code)
/api/measures/component_tree?&metricKeys=cognitive_complexity&c
omponent=<yourcomponent>&strategy=leaves&s=metric&metricSort=cog
nitive_complexity
(git ls-files | xargs wc -l | sort -gr | head -n30)
47. 47
Cosa fare quando abbiamo un indiziato
● Ci sono ragioni eterogenee per cui il file sta cambiando?
● Ci sono gruppi di file che cambiano per la stessa ragione?
● Come è evoluto questo file nel tempo?
48. 48
Buone pratiche per gestire la complessità: tech & lean metrics
Metriche che ogni team calibra e valuta regolarmente:
● Lean metrics:
○ Lead time
○ Bugs/features ratio
○ Blockers
○ Throughput
● Tech metrics:
○ Test coverage
○ Acceptance/criteria & test plan
○ Cognitive Complexity
49. 49
Test della teoria degli hotspot:
1. Se potessi apportare qualche modifica alla tua codebase,
dove sarebbe? Identifica un hotspot
2. Cosa potresti fare per ridurre la complessità e semplificare
l’evoluzione?
3. Spiega la tua decisione alla persona seduta accanto a te in
meno di due minuti e vice versa.
Miro
Gestione della complessità nel tempo
50. 50
"94% of most problems and possibilities for
improvement belong to the system, not the
individual."
W. Edwards Deming
L’opportunità
https://hbr.org/2021/01/productivity-is-about-your-systems-not-your-people
51. 51
Libri e Risorse per approfondire
● Decision Making for Software Development Teams
Francesco Strazzullo
● Code as Crime Scene
Adam Tornhill
● Agile Estimating and Planning
Mike Cohn
● The New How
Nilofer Merchan