DDD Europe 2016

Gli spunti portati a casa...

4,5'
Stefano Valle 02/02/2016 09:30
Categoria: Eventi

Si è da poco conclusa DDD Europe, la prima edizione della conferenza Europea di riferimento per il Domain Driven Design, un approccio allo sviluppo software particolarmente adatto a progetti complessi, e che devono durare nel tempo. Considerata la natura dei progetti su cui lavoriamo quotidianamente, non potevamo farci mancare quest’opportunità di approfondimento e confronto con i più illustri esperti al mondo nella materia.

 

La conferenza non poteva iniziare meglio: il keynote iniziale è stato tenuto da Eric Evans, autore del libro “Domain-Driven Design: Tackling Complexity in the Heart of Software” (anche chiamato “The Big Blue Book”), il testo di riferimento per la metodologia. Nel suo intervento ha spaziato fra i vari aspetti del DDD fornendo alcuni spunti interessanti. Uno di questi riguarda la definizione del modello: Eric afferma come esso non debba necessariamente essere realistico e allineato alla realtà; deve piuttosto risultare utile nel contesto in cui viene usato. Tendiamo a seguire e suggerire questo tipo di approccio; siamo stati lieti di trovare una conferma così illustre.

Nel talk successivo, “Arm yourself with Domain Driven Security. It’s time to slay some security trolls…”, gli speaker Dan Berg Johnsson e Daniel Deogun hanno fornito una panoramica di come la sicurezza di un progetto possa essere gestita in DDD. E’ stato per questo coniato il nuovo acronimo DDS: Domain Driven Security. E’ emerso un concetto interessante: applicare DDD correttamente consente già di gestire opportunamente le problematiche della sicurezza, senza di fatto pensarci esplicitamente. Un aspetto molto importante che rende così la sicurezza già intrinsecamente gestita in un progetto.

Il pomeriggio si è aperto con il talk “The precision blade” di Alberto Brandolini, unico italiano tra gli speakers, assieme a Carlo Pescio (che non abbiamo però avuto modo di ascoltare). Alberto ha presentato una retrospettiva sull’Event Storming, metodologia da lui inventata, e che consente di analizzare il dominio su cui si andrà a lavorare partendo dagli eventi di dominio e coinvolgendo in maniera costruttiva tutti gli attori coinvolti nello sviluppo: dagli sviluppatori agli esperti. E’ una metodologia visuale, che quindi consente di avere una panoramica d’insieme sugli eventi (e quindi sui processi) del dominio. L’analisi viene tipicamente condotta in progressione e regressione, in modo tale da minimizzare le possibilità che eventi di rilievo vengano omessi. L’approccio è senza dubbio interessante, sicuramente utile.

“Cognitive Cynefin: How Language and Bias Keep Us Complicated” di Liz Keogh ha chiuso la prima giornata, proponendo un’interessante riflessione sull’utilizzo del linguaggio e delle metafore e di come queste ci aiutino a muoverci con più facilità nell’analisi di domini complessi e complicati.

La seconda giornata è iniziata con il talk “Interviewing Domain Experts: heuristics from the trenches” in cui Cyrille Martraire ha affrontato lo spinoso argomento relativo al dialogo con gli esperti. Ha parlato dell’importanza del linguaggio utilizzato, di ascoltare attivamente l’esperto e con curiosità. Oltre alla classica domanda da porre all’esperto – ovvero il “perchè”  di una certa decisione / comportamento atteso dal sistema – ha evidenziato l’importanza di richiedere all’esperto esempi, da cui derivare le regole di funzionamento del sistema. Esempi che poi possono essere direttamente usati nei test comportamentali.

Il talk più tecnico a cui abbiamo avuto modo di partecipare è stato “Event sourcing and stream processing at scale” di Martin Kleppmann, che ha presentato un interessante parallelo tra l’event sourcing, metodologia molto diffusa in DDD, e lo stream processing utilizzato dalle più importanti compagnie web per processare l’ingente mole di dati che raccolgono. Lo speaker ha illustrato il funzionamento di Apache Kafka, uno strumento secondo noi molto promettente. Lo stiamo di fatto già utilizzando come server di messaggistica (pub/sub); interessante scoprire nuovi risvolti della sua versatilità, derivanti dalla capacità di gestire efficacemente stream di eventi.

La conferenza è stata chiusa da Greg Young, coniatore del termine CQRS, con il talk “A Decade of DDD, CQRS, Event Sourcing”, in cui ha ripercorso la storia dell’Event Sourcing e di CQRS, evidenziandone i pregi e i difetti, o meglio, gli aspetti delicati a cui fare attenzione per utilizzare questo approccio in maniera proficua.

Oltre che seguire i talk, durante le due giornate abbiamo anche avuto modo di partecipare alle sessioni denominate “Modelling with Strangers”. Si è strattato di momenti in cui è stato possibile condividere una situazione pratica sull’applicazione del DDD ad altri partecipanti o a esperti della metodologia. Si è trattato di momenti molto utili, che ci hanno consentito di confrontarci con altri professionisti di fama mondiale su problemi quotidiani e di ricavare spunti decisamente interessanti su come migliorare ulteriormente nell’applicazione della metodologia.

L’evento ha avuto un tale successo che la pur ottima location ha fatto fatica a contenere il gran numero di ingegneri e architetti del software accorsi da ogni parte d’Europa.
Lo svolgimento non ha deluso le aspettative: si è tenuto in un’ottima location e ha avuto come partecipanti i massimi esperti del settore a livello mondiale. A conferma di ciò, ecco una foto insolita; 3 fra gli autori dei libri più importanti sul DDD (Eric Evans, Vaughn Vernon, Scott Millett) per la prima volta tutti assieme nella stessa stanza.

Articolo di Stefano Valle

Stefano è il responsabile dei processi di sviluppo. Lavora instancabilmente per mantenere aggiornati gli standard di MV Associati in termini di strumenti e controllo di qualità. E' lui a definire gli standard per le operazioni di deployment, analisi statica e testing (unitari, funzionali). Suoi interessi sono le buone pratiche nell'ingegneria del software, i design pattern e la progettazione di basi di dati (SQL e NoSQL). E' certificato Zend PHP 5.3 e membro fondatore dello User Group PHP Friuli.

Segui @stefanovalle su twitter.

Inserisci un commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

*

*