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
Report
Share
Report
Share
1 of 53
Download to read offline
More Related Content
Similar to Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ho imparato lavorando in un grande progetto software cross funzionale
Workshop Ideare e creare Web Applications, Introduzione ad AngularJSGiovanni Buffa
Gli argomenti trattati durante il Workshop gratuito sull'ideazione e creazione di Web Applications con AngularJS:
- Metodologie innovative di ideazione e creazione di Web Applications;
- Sfide e problemi del lavoro in team;
- Introduzione ad AngularJS e alle sue componenti principali;
- Dimostrazione pratica di una WebApp
Agile Project Management - the Board Game workshopGiulio Roggero
Agile workshop based on the board game "Agile: the Board Game" -
http://code.google.com/p/agile-the-board-game
(Italian Version).
During this 1day workshop participants embrace the Agile values and Lean principles using the Agile board game and the A3 Airplane game.
The spirit of the workshop is learning by doing.
You can download and use freely these slide under CC3 License.
Agile Project Management: Insieme di attività che rendono la gestione di un processo più flessibile. Nel complesso la sua caratteristica principale è che consente al project manager e ai membri del team di capire le priorità e seguire l’avanzamento delle differenti fasi.
Data skills: come e perché diffonderle in azienda genera vantaggio competitivoSMAU
Come e perché diffondere competenze data driven in azienda. Estrapolare, leggere e interpretare i dati per prendere decisioni consapevoli, deve e può essere un obiettivo di ogni membro del Team.
Growth Marketing & Performance ROI - Webinar gratuitoNinja Academy
Piattaforme e tecniche per aumentare le conversioni nel tuo mercato: http://ininja.it/2rb3qFO
Segui un'anteprima del webinar e iscriviti gratis per sbloccare il video completo!
Luca Barboni, docente del Corso in Growth Hacking, ti insegnerà a:
- Distinguere i canali di marketing che funzionano da quelli che sprecano le tue risorse
- Gestire i costi di acquisizione di nuovi clienti
- Individuare le metriche giuste per valutare l’andamento del tuo business
Open Innovation Campus - 05/04/2018 - Agile challenges: essere agili nello sv...Vittorio Polizzi
Perché i progetti falliscono? Gli approcci tradizionali nei progetti di sviluppo hardware e software sono davvero efficaci in un mercato in continua evoluzione e con prodotti ad elevata obsolescenza? Le caratteristiche dell’approccio Agile possono essere applicate per ideare e creare soluzioni innovative in modo efficace ed economico?
In occasione di questo incontro affronteremo questi quesiti e le metodologie agili che possono dare una risposta.
Le slide del mio talk di venerdì 16 dicembre allo UX Genova.
Si parla di come aiutare le aziende a risolvere i problemi in modo creativo e collaborativo. Tutto il materiale presentato è di copyright dei rispettivi proprietari.
Design of experiment represent the properly approach and method to test and validate business ideas.
This a collection of easy to set up experiments you can build by tomorrow: from fake doors to smoke test and the most relevant brain triggers to engage people and users into your testing funnel
Similar to Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ho imparato lavorando in un grande progetto software cross funzionale (20)
Oltre l'hype: vulnerabilità e limiti dell'intelligenza artificiale.pdfCommit University
Non è tutto oro quello che luccica, in questa presentazione esploreremo le principali criticità e i rischi associati all'intelligenza artificiale (IA). Come si può attaccare un sistema informatico allo stesso modo esistono gli attacchi ai modelli di machine learning, come l'avvelenamento dei dati e gli esempi avversariali, che minano l'integrità dei sistemi. Inoltre, si evidenzia come i bias nei dati di addestramento possano portare a decisioni discriminatorie, influenzando settori cruciali come la giustizia e l'occupazione. La necessità di una spiegabilità nell'IA viene sottolineata per garantire trasparenza, fiducia e un uso etico della tecnologia. L'obiettivo è fornire una visione equilibrata, sottolineando l'importanza di una vigilanza continua e di miglioramenti costanti per sfruttare il potenziale dell'IA in modo responsabile.
Come funzionano i Retrieval-Augmented Generators (RAG) e quanto i database vettoriali sono fondamentali per poter memorizzare e utilizzare le sorgenti dati aziendali e personali?
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
Open source, in Python, compatibile con vari LLM ed estendibile tramite plugin: queste sono solo alcune delle potenzialità del framework Cheshire Cat AI!
Breaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdfCommit University
This document contains slides from a presentation by Luca Del Puppo about building GraphQL servers using Fastify and Mercurius. The presentation introduces GraphQL and its advantages over REST APIs. It then discusses why Mercurius is a good choice for building GraphQL servers on Fastify and outlines some features it provides out of the box. The presentation concludes by providing resources for learning more about Fastify, Mercurius and building GraphQL servers.
A volte essere pigri è una qualità, evita (quasi) tutte le richieste di personalizzazioni lasciando "finestre aperte" nei tuoi componenti generici.
Gli slots sono un modo per passare il contenuto a un componente in Vue.js. Permettono di definire una sezione nel template di un componente che può essere sostituita dall'esterno.
È inoltre possibile assegnare un nome o uno "scope" agli slots, garantendo così maggiore controllo e personalizzazione sul contenuto. I "named slots" consentono di definire più slots nello stesso componente, assegnando dei nomi specifici.
Gli "scoped slots" ti consentono di accedere dall'esterno ai dati interni del componente.
Quante volte mi è capitato di migliorare applicazioni lente e difficili da ottimizzare, ma poi ho scoperto Qwik e tutto è cambiato.
Con il suo nuovo modello mentale è in grado di fare la differenza e scalare facilmente qualsiasi applicazione.
Non conosci questo framework? Nessuna paura...andiamo a scoprirlo assieme!
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...Commit University
Backstage is an open source platform for building developer portals that unifies all tooling, services, apps, data, and documentation with a single consistent UI. It allows developers to focus on their work by providing a centralized location to create software, manage what they own, and explore the entire software ecosystem. Backstage has a customizable, extensible plugin architecture built with modern technologies to make it easy to develop for and contribute to developer portals in a cloud-agnostic, vendor-neutral way.
Nella giungla degli ORM node, Prisma sta prendendo sempre più piede. Ha migliorato la Developer Experience, si integra perfettamente con Typescript e funziona dannatamente bene con diversi provider. In questo talk, vedrai come Prisma può migliorare il tuo lavoro quotidiano e come ti permette di avere un maggior controllo della tua code base aiutandoti a prevenire fastidiosi errori nella tua applicazione nodejs.
Decision-making for Software Development Teams - Commit UniversityCommit University
Ti senti bloccato quando si tratta di prendere decisioni critiche su aspetti tecnologici? Vuoi conoscere i processi decisionali collaborativi e come applicarli al tuo team?
Francesco Strazzullo, Chief Operating Officer di Claranet Italia, ti insegnerà gli elementi chiave per prendere decisioni critiche su aspetti tecnologici, gestire i requisiti non funzionali e lavorare con processi decisionali collaborativi.
L’Advisor Leader dell’area Game di NABA, Marco Secchi, ti insegnerà come migliorare la gestione degli oggetti in-game e la loro comunicazione utilizzando Unity Engine e Design Pattern Component.
La prototipazione è un’attività fondamentale per “capire facendo”. Lo scopo della prototipazione non è costruire partendo da un progetto definito ma, piuttosto, acquisire dati preziosi per essere poi più consapevoli di prendere la giusta direzione. Alla base delle attività di prototipazione ci sono spesso strumenti low code e no code. Esistono ormai da diversi anni e ultimamente stanno guadagnando sempre più attenzione nella community per la loro immediatezza e velocità. Abbiamo definito meglio le loro qualità e le opportunità che ci sono nel loro utilizzo.
Durante il talk abbiamo approfondito perché è importante prototipare e come questa attività migliora i nostri progetti. In particolare, abbiamo approfondito l’utilizzo AWS Step Functions Workflow Studio, strumento low code prodotto da AWS. Workflow Studio ci permette di imbastire una state machine basata su step functions con uno strumento visuale drag & drop che semplifica moltissimo il nostro lavoro. Abbiamo analizzato cosa lo contraddistingue da altri strumenti e quali sono i suoi punti di forza. Infine siamo passati alla pratica facendo una piccola esercitazione con AWS Step Functions.
KMM survival guide: how to tackle struggles between Kotlin and SwiftCommit University
Kotlin Multiplatform Mobile (KMM) è un SDK per lo sviluppo di applicazioni Android ed iOS che consente agli sviluppatori di condividere la business logic mantenendo UI/UX native.
Ogni SDK/framework cross/multi platform ha i suoi pro ed i suoi contro, e purtroppo KMM non è l'eccezione che conferma la regola.
Se sei uno sviluppatore Android potresti pensare che tutto funzionerà correttamente, ma purtroppo non sarà così quando dovrai confrontarti con Swift.
Se sei uno sviluppatore iOS saprai che Swift è simile a Kotlin, ma non in tutto, dovrai quindi conoscere alcune sue caratteristiche.
In questo talk vedremo quali sono i problemi che si possono riscontrare nell'interoperabilità tra Kotlin e Swift, i motivi che li causano, e come risolverli.
Stai perdendo la testa cercando di convertire il tuo state manager da Vuex a Pinia?
Ecco una guida step-by-step per affrontare questo task senza difficoltà.
I micro-frontend sono uno degli argomenti più interessanti nel mondo frontend dell'ultimo periodo ma nonostante la loro popolarità, non esistono delle linee guida comuni per svilupparli. micro-lc risponde a questa esigenza e permette di raccogliere in un unico applicativo tanti micro-frontend, orchestrandoli e rendendoli parte della stessa applicazione e non più componenti singoli, scollegati e sconnessi.
Fastify è il web framework del momento e diverse aziende in tutto il mondo lo stanno utilizzando in produzione da anni.
Costruito da zero per essere il più veloce possibile, con un overhead minima e una potente architettura a plugin, Fastify fornisce la migliore esperienza di sviluppo, senza sacrificare prestazioni e sicurezza.
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