Avanscoperta
Strategic Domain-Driven Design

Strategic Domain-Driven Design

La giusta prospettiva per l’enterprise architecture

Un buon modello software è quello che permette di accogliere i nuovi requisiti senza problemi, o di mettere il team di sviluppo nella condizione di proporre soluzioni che migliorino l’efficienza e la competitività dell’azienda.

Questo è l’obiettivo di Domain-Driven Design: non la pulizia del software o l’eleganza fine a sé stessa, ma una profonda comprensione del dominio business che si traduce in un’architettura software pragmatica, efficiente e flessibile, dove è più necessario.

A chi si rivolge

  • Software Architect
  • Developer
  • Analyst
  • PM

Programma e Agenda

1° Giorno

  • Domain Driven Design: lo stato dell’arte. Un approccio diverso allo sviluppo del software: un nuovo mindset fa del DDD un match perfetto per progetti complessi.
  • Strategic DDD: il quadro generale. Dove quando e perché affrontare un progetto complesso con Domain-Driven Design. Core Domain, Supporting e Generic Subdomains. Strategic Distillation.
  • Core Domain Strategies: gestione della collaborazione, DDD come approccio al processo di sviluppo, ubiquitous language e Whirlpool model.
  • Sviluppo software come processo di apprendimento: cambio di prospettiva e conseguenze nella gestione dei progetti.
  • Esplorazione del dominio di riferimento con EventStorming. Stabiliamo le basi per la collaborazione creativa con gli esperti di dominio.

2° Giorno

  • Discovery del modello comportamentale del sistema.
  • Conceptual CQRS: come fare le domande giuste e capire qual è l’architettura più adatta al problema che stiamo esplorando.
  • Emersione degli aggregati ed evoluzione delle strategie implementative dal 2004 ad oggi. Quali le strategie migliori con il nostro stack tecnologico?
  • Quali architetture per DDD? Diversi approcci all’implementazione. DDD by-the-book, Hexagonal (ports and adapters), Event Sourcing e CQRS. Relazione con i principali paradigmi architetturali comunemente utilizzati.

3° Giorno

  • Gestione dei Bounded Context: come fare convivere e dialogare tra loro molteplici modelli, senza scendere a compromessi.
  • Brownfield Context Mapping: lettura dello scenario ed individuazione delle migliori strategie implementative. Context Mapping Patterns. Lettura delle organizzazioni.
  • Greenfield Context Mapping: strategie per modelli di complessità crescente. I tre archetipi e corrispondenti pattern implementativi.
  • Event Driven Modelling: realizzazione di un modello in modalità outside-in. Pattern per la modellazione e l’implementazione di un sistema basato su Domain Events.
  • Aggregati: individuazione dei confini e strategie implementative. Polyglot persistence.
  • Q&A: topic marketplace sugli argomenti più caldi delle giornate.

Cosa impareremo

Al termine del corso con Alberto Brandolini, i/le partecipanti saranno in grado di valutare se, come, quando e dove applicare Domain-Driven Design nei propri scenari di sviluppo, e di strutturare correttamente il proprio dominio, utilizzando le modalità di implementazione più consone al proprio problema.

Come si svolge

In tre giorni intensi ed interattivi, scopriremo nuovi modi di collaborare con gli stakeholders, di produrre software e di progettare architetture funzionali performanti e robuste, trovando il punto di contatto tra gli aspetti strategici e quelli implementativi.

La struttura del corso prevede un’alternanza facilitata tra argomenti ‘proposti’ ed argomenti richiesti, che garantisce la miglior combinazione possibile per soddisfare le esigenze dei/delle partecipanti.

F.A.Q.

Laptop e Strumenti: Devo portare il mio laptop?
Sì, è necessario che porto il tuo computer con te.

Prerequisiti: Devo fare qualcosa prima del workshop?
No, non ci sono attività pre-workshop da completare.
Il workshop è di livello intermedio.

Lingua del corso: In che lingua sarà il workshop?
Il corso sarà in inglese. Trovi tutte le info alla pagina Domain-Driven Design Modelling Workshop.

Porta il corso in azienda

Contattaci utilizzando il form in fondo alla pagina per chiedere informazioni sull’erogazione in forma privata e personalizzabile del corso Strategic Domain-Driven Design.

Testimonials…

Concetti fondamentali per ogni professionista IT che voglia sopravvivere al lavoro di ogni giorno e migliorarlo, spiegati in modo chiaro e semplice da un trainer d’eccellenza.Ivan dell’oro – Product Developer at lastminute.com

Penso che il workshop Strategic Domain-Driven Design sia un must have per ogni professionista del software indipendentemente dal suo job title.
Alberto è un docente eccezionale in grado di trasmettere tonnellate di conoscenza e di sensibilità verso temi complessi in un tempo limitato.Antonio Dell’Ava – UX Engineer at Extrategy

Strategic DDD è un corso veramente hands-on che permette di apprendere una nuova metodologia di analisi e definizione del modello di business che si approccia. Nel corso della mia carriera ho dovuto imparare a mie spese come approcciare al meglio lo stakeholder interessato al problema che dovevo risolvere ma nessun contenuto online o cartaceo è mai riuscito a trasmettermi le capacità necessarie per migliorare la comunicazione anche dal punto di vista umano. Ascoltando invece le esperienze maturate da Alberto e il modo in cui le si dovrebbe affrontare ho capito come muovermi nei progetti futuri. Consiglio quindi vivamente a qualsiasi membro del team questo corso, sia esso un Product Owner oppure che lo sviluppatore lato frontend. Ce n’è per tutti i gusti!Andrea Matossich – Strategic Domain-Driven Design

Strategic DDD è un corso irrinunciabile per chi vuole comprendere al meglio i fondamenti del DDD. Utilizzando strumenti pratici ed esercitazioni ziobrando mi ha permesso di vedere oltre ai tecnicismi della modellazione tattica.Gabriele Tondi – Strategic Domain-Driven Design

Una quantità infinita di informazioni arricchite da preziosi momenti di attività pratiche e di esempi reali. Ti apre la mente e ti fa osservare il problema da molti punti di vista differenti. Ti fa alzare l’asticella di quello che definisci “complesso”.Nicola Grigoletti – Strategic Domain-Driven Design

Basta con i monoliti!!! È giunta l’ora di farli a pezzi… un po’ alla volta, con Strategic Domain-Driven Design e un sacco di post-it!
Davvero illuminante capire quanto valore ha la corretta strategia di modellazione e come coinvolgere le persone di riferimento al tavolo delle idee. Partire dalle persone per arrivare al codice è la giusta via.Valentina Vivian

Alberto Brandolini

Alberto Brandolini è un consulente a 360° nell'ambito dell'Information Technology.

Fondatore di Avanscoperta, inventore di EventStorming, e figura di riferimento internazionale per Domain-Driven Design, è spesso speaker in conferenze.

Architetto software con una visione di business? Facilitatore agile in grado di leggere la sala e fiutare le contraddizioni? I problemi complessi non si risolvono con una singola disciplina, ed Alberto si comporta di conseguenza, scoprendo rapidamente le azioni risolutive a maggiore impatto, con un occhio al sistema ed uno alle persone.

Learn More

Leggi l’articolo scritto da Andrea Vallotti, partecipante dell’edizione di novembre 2017 di “Strategic Domain-Driven Design”: Strategic Domani-Driven Design.

Chi siamo, in breve :)

Avanscoperta è un ecosistema in espansione fatto di professionisti con una grande passione per l’apprendimento: ci piace imparare cose nuove e scambiare esperienze e idee, esplorando territori finora inesplorati in ambito software, nella sua accezione più ampia possibile.

Selezioniamo con attenzione gli argomenti più rilevanti e i migliori docenti da tutto il mondo, e diamo particolare importanza alle tecniche di insegnamento, preferendo approcci pratici e coinvolgenti.
Unisciti a noi! ?

Ti interessa questo corso?

Se hai delle domande specifiche, o vuoi ricevere maggiori informazioni, scrivici. Saremo felici di risponderti!







    NEWSLETTER

    Vuoi ricevere una volta a settimana i nostri contenuti esclusivi su tecnologia, sviluppo software, business e design?

    ISCRIVITI ALLA NEWSLETTER :-)

    Iscriviti alla newsletter!