Your SlideShare is downloading. ×
Idea - post-it - test verdi.
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Idea - post-it - test verdi.

839
views

Published on

Modellare un dominio applicativo può essere decisamente complesso; in questa sessione vedremo come Event Storming ed Event Sourcing permettono di prendere una idea, darle forma usando un rotolo di …

Modellare un dominio applicativo può essere decisamente complesso; in questa sessione vedremo come Event Storming ed Event Sourcing permettono di prendere una idea, darle forma usando un rotolo di carta e dei post-it e tradurla in codice C# sfruttando BDD e Machine Specifications... alla velocità della luce.

Presentazione a 4 mani di Alberto Brandolini e Andrea Balducci.

Published in: Technology

0 Comments
10 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
839
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
31
Comments
0
Likes
10
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Idea Idea —> Post-It —> Test Verdi Post-it Test Verdi! #CDays14 – Milano 25, 26 e 27 Febbraio 2014 Alberto Brandolini! alberto.brandolini@avanscoperta.it @ziobrando http://ziobrando.blogspot.com Andrea Balducci! andrea.balducci@prxm.it @andreabalducci
  • 2. Idea —> Post-it —> Test verdi Alberto Brandolini! alberto.brandolini@avanscoperta.it @ziobrando http://ziobrando.blogspot.com Andrea Balducci! andrea.balducci@prxm.it @andreabalducci #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 3. Grazie a Sponsor #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 4. About me @ziobrando alberto.brandolini@avanscoperta.it DDD-IT XPUG - Romagna avanscoperta #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 5. About me Certified DDD Trainer @ziobrando alberto.brandolini@avanscoperta.it DDD-IT XPUG - Romagna avanscoperta #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 6. About me Certified DDD Trainer Post-it addicted @ziobrando alberto.brandolini@avanscoperta.it DDD-IT XPUG - Romagna avanscoperta #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 7. About me Certified DDD Trainer Post-it addicted Visual thinker @ziobrando alberto.brandolini@avanscoperta.it DDD-IT XPUG - Romagna avanscoperta #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 8. About me Certified DDD Trainer Post-it addicted Visual thinker Chaos summoner @ziobrando alberto.brandolini@avanscoperta.it DDD-IT XPUG - Romagna avanscoperta #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 9. About me Certified DDD Trainer Post-it addicted Visual thinker Chaos summoner Idea thief @ziobrando alberto.brandolini@avanscoperta.it DDD-IT XPUG - Romagna avanscoperta #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 10. About me Certified DDD Trainer Post-it addicted Visual thinker Chaos summoner Idea thief Lean & Agile @ziobrando alberto.brandolini@avanscoperta.it DDD-IT XPUG - Romagna avanscoperta #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 11. About me Certified DDD Trainer Post-it addicted Visual thinker Chaos summoner Idea thief Lean & Agile Entrepreneur @ziobrando alberto.brandolini@avanscoperta.it DDD-IT XPUG - Romagna avanscoperta #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 12. About me Certified DDD Trainer Post-it addicted Visual thinker Chaos summoner Idea thief Lean & Agile Entrepreneur …never satisfied #CDays14 – Milano 25, 26 e 27 Febbraio 2014 @ziobrando alberto.brandolini@avanscoperta.it DDD-IT XPUG - Romagna avanscoperta
  • 13. Il problema #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 14. Costo delle modifiche 10 9 8 Dobbiamo riscrivere Costo di modifica 7 6 Non si può fare 5 4 “manutenzione” 3 2 Label Illusione del greenfield 1 0 0 1 2 #CDays14 – Milano 25, 26 e 27 Febbraio 2014 3 4 5 Complessità 6 7 8 9 10
  • 15. #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 16. Imponente #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 17. Imponente Flessibile? #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 18. Ooops…. #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 19. Il miglior modo per rimuovere il pattume dal sistema è… #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 20. non mettere pattume nel sistema #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 21. Altrimenti… #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 22. l App n at i o ic pl i p A i pl Ap Ap pl i D at a b a s e c io at ca tio n at c i on ppl A i o ati c n pl i p A tio ca n App tio n l ic a n pl i Ap io n c at D at a ba se ci ritroviamo con la solita architettura #CDays14 – Milano 25, 26 e 27 Febbraio 2014 © Alberto Brandolini 2013
  • 23. …da portare sul cloud #CDays14 – Milano 25, 26 e 27 Febbraio 2014 !14
  • 24. #CDays14 – Milano 25, 26 e 27 Febbraio 2014 © Alberto Brandolini 2013
  • 25. Quando si fa refactoring? #CDays14 – Milano 25, 26 e 27 Febbraio 2014 © Alberto Brandolini 2013
  • 26. Quando si fa refactoring? #CDays14 – Milano 25, 26 e 27 Febbraio 2014 Mañana!! © Alberto Brandolini 2013
  • 27. Ignorance is the single greatest impediment to throughput. Dan North #CDays14 – Milano 25, 26 e 27 Febbraio 2014 http://dannorth.net/2010/08/30/introducing-deliberate-discovery/
  • 28. Learning is the constraint #CDays14 – Milano 25, 26 e 27 Febbraio 2014 http://dannorth.net/2010/08/30/introducing-deliberate-discovery/ Dan North
  • 29. Piano d’azione #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 30. Piano d’azione 1. Cominciare con il piede giusto #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 31. Piano d’azione 1. Cominciare con il piede giusto 2. Rimuovere gli ostacoli all’apprendimento #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 32. Piano d’azione 1. Cominciare con il piede giusto 2. Rimuovere gli ostacoli all’apprendimento 3. Iterare alla massima frequenza possibile #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 33. Event Storming! #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 34. Event Storming • Tutti in una stanza • Rotolone di carta —> “unlimited modelling surface” • Partiamo dai domain events! • Raffiniamo il modello un passo alla volta #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 35. #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 36. Tutti in una stanza? #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 37. Tutti in una stanza! • Risoluzione anticipata dei conflitti • Visualizzazione di un artifact • Possibilità di osservare l’aspetto umano • Alto livello di energia. #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 38. Si, TUTTO lo spazio #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 39. #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 40. #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 41. Il dominio… #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 42. Prenotazione risorse #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 43. Video! #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 44. Video! #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 45. Video! #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 46. Che è successo? #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 47. Bounded Contexts • Lavorando con le persone emergono i naturali confini tra • le porzioni del dominio —> subdomains! • i modelli in essere —> Bounded Contexts #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 48. Ubiquitous Language • la discussione ci ha portato ad una precisione del linguaggio sempre maggiore • Il linguaggio è consistente e preciso all’interno di un Bounded Context #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 49. Aggregati ed Invarianti • aggregati = unità di consistenza.! • Gli aggregati vengono individuati sulla base del comportamento del sistema • Le invarianti sono garantite dagli aggregati. #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 50. Roles & Responsibility #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 51. Prima capiamo cosa sta dentro agli aggregati #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 52. Poi capiamo che nome dargli #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 53. Conceptual CQRS issues Command to Domain Model raises Event User influences Read Model notified to influences updates External information #CDays14 – Milano 25, 26 e 27 Febbraio 2014 Projection
  • 54. Read Model • Gli aggregati prendono decisioni sulla base dello stato corrente. • Gli utenti prendono decisioni sulla base di quello che vedono… #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 55. Vedo i dati vecchi… #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 56. Cambio! #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 57. @andreabalducci #CDays14 – Milano 25, 26 e 27 Febbraio 2014 !42
  • 58. Event Sourcing !43 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 59. Il nostro dominio ha una storia da raccontare… !44 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 60. …ma spesso ci accontentiamo dei titoli di coda !45 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 61. !46 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 62. ..invece di guardare tutta la storia. !47 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 63. !48 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 64. Quante informazioni perdiamo ? !49 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 65. Il saldo è 6.684€ !50 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 66. Data Dare 3/2 Avere Descrizione operazione 160 4/2 1.500 4/2 1.400 10/2 180 12/2 200 12/2 180 14/2 80 17/2 200 20/2 16 20/2 300 20/2 320 20/2 75 21/2 16 22/2 180 22/2 200 2.107 2.900 #CDays14 – Milano 25, 26 e 27 Febbraio 2014 Saldo al 22/2 : 6.684 !51
  • 67. Data Dare 3/2 Avere Descrizione operazione Supermercato Le Fornaci - Castelfidardo 160 4/2 1.500 ACME Spa - Stipendio Gennaio 4/2 1.400 ACME Spa - Stipendio Gennaio 10/2 180 Supermercato Le Fornaci - Castelfidardo 12/2 200 Mediaworld Ancona 12/2 180 Pittarello Ancona 14/2 80 17/2 200 20/2 16 20/2 300 Mediaworld Bologna 20/2 320 Carpisa Bologna 20/2 75 Hotel Bologna 21/2 16 Autostrade Spa - Casello Ancona 22/2 180 amazon.it 22/2 200 zalando.it 2.107 Ristorante Osteria da Pippo IperSimply- Castelfidardo Autostrade Spa - Casello Bologna 2.900 #CDays14 – Milano 25, 26 e 27 Febbraio 2014 Saldo al 22/2 : 6.684 !52
  • 68. Data Dare 3/2 Avere Descrizione operazione Supermercato Le Fornaci - Castelfidardo 160 4/2 1.500 ACME Spa - Stipendio Gennaio 4/2 1.400 ACME Spa - Stipendio Gennaio 10/2 180 Supermercato Le Fornaci - Castelfidardo 12/2 200 Mediaworld Ancona 12/2 180 Pittarello Ancona 14/2 80 17/2 200 20/2 16 20/2 300 Mediaworld Bologna 20/2 320 Carpisa Bologna 20/2 75 Hotel Bologna 21/2 16 Autostrade Spa - Casello Ancona 22/2 180 amazon.it 22/2 200 Due persone
 Stessa Azienda zalando.it 2.107 Ristorante Osteria da Pippo IperSimply- Castelfidardo Autostrade Spa - Casello Bologna 2.900 #CDays14 – Milano 25, 26 e 27 Febbraio 2014 Saldo al 22/2 : 6.684 !52
  • 69. Data Dare 3/2 Avere Descrizione operazione Supermercato Le Fornaci - Castelfidardo 160 4/2 1.500 ACME Spa - Stipendio Gennaio 4/2 1.400 ACME Spa - Stipendio Gennaio 10/2 180 Supermercato Le Fornaci - Castelfidardo 12/2 200 Mediaworld Ancona 12/2 180 Pittarello Ancona 14/2 80 17/2 200 20/2 16 20/2 300 Mediaworld Bologna 20/2 320 Carpisa Bologna 20/2 75 Hotel Bologna 21/2 16 Autostrade Spa - Casello Ancona 22/2 180 amazon.it 22/2 200 Due persone
 Stessa Azienda zalando.it 2.107 Ristorante Osteria da Pippo IperSimply- Castelfidardo Carnivori Autostrade Spa - Casello Bologna 2.900 #CDays14 – Milano 25, 26 e 27 Febbraio 2014 Saldo al 22/2 : 6.684 !52
  • 70. Data Dare 3/2 Avere Descrizione operazione Supermercato Le Fornaci - Castelfidardo 160 4/2 1.500 ACME Spa - Stipendio Gennaio 4/2 1.400 ACME Spa - Stipendio Gennaio 10/2 Auto senza 12/2 telepass 12/2 180 Supermercato Le Fornaci - Castelfidardo 200 Mediaworld Ancona 180 Due persone
 Stessa Azienda Pittarello Ancona Ristorante Osteria da Pippo 14/2 80 17/2 200 20/2 16 20/2 300 Mediaworld Bologna 20/2 320 Carpisa Bologna 20/2 75 Hotel Bologna 21/2 16 Autostrade Spa - Casello Ancona 22/2 180 amazon.it 22/2 200 Carnivori zalando.it 2.107 IperSimply- Castelfidardo Autostrade Spa - Casello Bologna 2.900 #CDays14 – Milano 25, 26 e 27 Febbraio 2014 Saldo al 22/2 : 6.684 !52
  • 71. LuiDataLei Dare & 3/2 Avere Descrizione operazione Supermercato Le Fornaci - Castelfidardo 160 4/2 1.500 ACME Spa - Stipendio Gennaio 4/2 1.400 ACME Spa - Stipendio Gennaio 10/2 Auto senza 12/2 telepass 12/2 180 Supermercato Le Fornaci - Castelfidardo 200 Mediaworld Ancona 180 Due persone
 Stessa Azienda Pittarello Ancona Ristorante Osteria da Pippo 14/2 80 17/2 200 20/2 16 20/2 300 Mediaworld Bologna 20/2 320 Carpisa Bologna 20/2 75 Hotel Bologna 21/2 16 Autostrade Spa - Casello Ancona 22/2 180 amazon.it 22/2 200 Carnivori zalando.it 2.107 IperSimply- Castelfidardo Autostrade Spa - Casello Bologna 2.900 #CDays14 – Milano 25, 26 e 27 Febbraio 2014 Saldo al 22/2 : 6.684 !52
  • 72. LuiDataLei Dare & 3/2 Avere Descrizione operazione Supermercato Le Fornaci - Castelfidardo 160 4/2 1.500 ACME Spa - Stipendio Gennaio 4/2 1.400 ACME Spa - Stipendio Gennaio 10/2 Auto senza 12/2 telepass 12/2 180 Supermercato Le Fornaci - Castelfidardo 200 Mediaworld Ancona 180 Due persone
 Stessa Azienda Pittarello Ancona Ristorante Osteria da Pippo 14/2 80 17/2 200 20/2 16 20/2 300 Mediaworld Bologna 20/2 320 Carpisa Bologna 20/2 75 Hotel Bologna 21/2 16 Autostrade Spa - Casello Ancona 22/2 180 amazon.it 22/2 200 zalando.it Carnivori 2.107 IperSimply- Castelfidardo Autostrade Spa - Casello Bologna 2.900 #CDays14 – Milano 25, 26 e 27 Febbraio 2014 Lei compra entro un’ora da lui Saldo al 22/2 : 6.684 !52
  • 73. LuiDataLei Dare & 3/2 Avere Descrizione operazione Supermercato Le Fornaci - Castelfidardo 160 4/2 1.500 ACME Spa - Stipendio Gennaio 4/2 1.400 ACME Spa - Stipendio Gennaio 10/2 Auto senza 12/2 telepass 12/2 180 Supermercato Le Fornaci - Castelfidardo 200 Mediaworld Ancona 180 Due persone
 Stessa Azienda Pittarello Ancona Ristorante Osteria da Pippo 14/2 80 17/2 200 20/2 16 20/2 300 Mediaworld Bologna 20/2 320 Carnivori Carpisa Bologna 20/2 21/2 22/2 22/2 IperSimply- Castelfidardo Autostrade Spa - Casello Bologna 75 24/2 spesa a Hotel Bologna 16 Autostrade Spa - Casello Ancona Lei compra entro Castelfidardo amazon.it 180 un’ora da lui 200 zalando.it 2.107 2.900 #CDays14 – Milano 25, 26 e 27 Febbraio 2014 Saldo al 22/2 : 6.684 !52
  • 74. Event Sourcing?
 !53 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 75. Event Sourcing?
 ne ho sentito parlare… !53 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 76. Dominio !54 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 77. Aggregato DB ORM Risorsa_1 Proprietà Richiesta_1 Richiesta_2 Utente_1 Metodi Risorsa_2 !55 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 78. ok.. basta una tabella di log !56 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 79. basta !57 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 80. basta duplicare tutte le strutture dati !57 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 81. basta duplicare tutte le strutture dati tenere tutto sincronizzato !57 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 82. basta duplicare tutte le strutture dati tenere tutto sincronizzato versionare tutto !57 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 83. basta duplicare tutte le strutture dati tenere tutto sincronizzato versionare tutto un bel flag “comando io” !57 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 84. basta duplicare tutte le strutture dati tenere tutto sincronizzato versionare tutto un bel flag “comando io” mapping! mapping! mapping! (cit) !57 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 85. basta uno storage ad eventi !58 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 86. NEventStore A persistence agnostic Event Store for .NET
 http://neventstore.org/ !59 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 87. CommonDomain la “colla” tra DDD e NEventStore !60 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 88. Aggregato DB ORM Risorsa_1 Proprietà Richiesta_1 Richiesta_2 Utente_1 Metodi Risorsa_2 !61 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 89. Aggregato EventStore Richiesta Creata Stato Common
 Domain Eventi Richiesta Approvata Prenotazione Confermata Prenotazione
 Respinta Risorsa
 Acquistata Comandi Risorsa
 Dismessa !62 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 90. Evento Chi Quando Dove Cosa Perché !63 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 91. Evento Chi Headers: User_1 Quando Timestamp: 2014-02-25T15:45 Dove Aggregato: Presentazione Cosa Slide Attiva: 1 Perché PresentazioneIniziata !64 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 92. Evento Chi Headers: User_1 Quando Timestamp: 2014-02-25T15:45 Dove Aggregato: Presentazione Cosa Slide Attiva: 1 Perché PresentazioneIniziata !65 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 93. A. var aggregate = repository.GetById<TAggregate>(id); B. aggregate.Command(a,b,c); C. repository.Save(aggregate, commitId, h => h.Add(k,v)); !66 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 94. A. var aggregate = repository.GetById<TAggregate>(id); B. aggregate.Command(a,b,c); C. repository.Save(aggregate, commitId, h => h.Add(k,v)); Store Commit Commit Headers Event1 Event2 #CDays14 – Milano 25, 26 e 27 Febbraio 2014 !66
  • 95. A. var aggregate = repository.GetById<TAggregate>(id); B. aggregate.Command(a,b,c); C. repository.Save(aggregate, commitId, h => h.Add(k,v)); Store Commit Observers Commit Headers Event1 Event2 #CDays14 – Milano 25, 26 e 27 Febbraio 2014 Dispatch Commit Projections Process Managers Clients !66
  • 96. Command State !67 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 97. ubiquitous language Interrogazione Command State !67 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 98. Domain
 Exception ubiquitous language Interrogazione Command State !67 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 99. Domain
 Exception ubiquitous language Interrogazione Command Event (ok) State !67 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 100. Domain
 Exception ubiquitous language Interrogazione Command Event (ko) Event (ok) State !67 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 101. Domain
 Exception ubiquitous language Interrogazione Command Event (ko) Event (ok) Router State !67 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 102. Svantaggi !68 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 103. Quantità di codice dipende.. !69 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 104. Quantità di codice tanto !69 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 105. Quantità di codice tanto ma dannatamente semplice !69 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 106. Vantaggi !70 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 107. Focus su struttura dati !71 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 108. Focus su comportamento !71 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 109. Focus su comportamento business value !71 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 110. Decisioni prese su stato (stale) !72 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 111. Decisioni prese su stato corrente !72 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 112. Decisioni prese su stato corrente by design !72 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 113. Costo di implementazione esponenziale !73 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 114. Costo di implementazione lineare !73 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 115. Costo di implementazione lineare eventi++ !73 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 116. Testing complesso !74 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 117. Testing facile !74 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 118. Testing facile stato -> comando -> eventi !74 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 119. Collisioni transazioni (tutto o niente) !75 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 120. Collisioni merge intelligenti / replay !75 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 121. Collisioni merge intelligenti / replay by design !75 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 122. Integrabilità batch / etl / ws ad hoc / trigger !76 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 123. Integrabilità evento -> subscriber !76 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 124. Integrabilità evento -> subscriber push o pull !76 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 125. !77 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 126. !78 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 127. !79 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 128. !79 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 129. !79 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 130. !79 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 131. Nei test runner diventa !80 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 132. Join the dots !81 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 133. !82 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 134. Register Resource Resource Registered !83 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 135. !84 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 136. !85 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 137. !86 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 138. stato Handler eventi Interrogazioni allo stato in UL !87 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 139. !88 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 140. !89 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 141. !90 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 142. !91 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 143. !92 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 144. !93 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 145. Ricapitolando !94 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 146. Event Storming Common
 Domain NEventStore DDD #CDays14 – Milano 25, 26 e 27 Febbraio 2014 Machine Specifications !94
  • 147. http://github.com/andreabalducci/cdays14 !95 #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 148. Elogio alla community “…gli user group sono stati lo strumento che maggiormente mi hanno permesso di imparare sia come scrivere software in modo nettamente migliore, sia come affrontare le altre componenti relative alla gestione di un prodotto o di un progetto. Ciò è stato possibile grazie al dialogo e al confronto con persone intelligenti e disponibili a scambiare gratuitamente le proprie idee, opinioni ed esperienze, col coraggio di riportare anche quelle fallimentari, invece di chiudersi nel proprio orticello cercando di nascondere i propri segreti. Questo è lo scambio culturale, che porta ad un’effettiva crescita, a cui tutti coloro che svolgono la nostra professione farebbero bene a partecipare e contribuire.” Elogio alla community - @ste8 #CDays14 – Milano 25, 26 e 27 Febbraio 2014 !96
  • 149. Conclusioni #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 150. Emersione rapida… • … della complessità • del problema business • dei conflitti #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 151. Troppa complessità #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 152. EventStorming non è la pillola per diventare intelligenti #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 153. EventStorming ci permette di scoprire dove abbiamo torto …il prima possibile #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 154. rapporto costi/benefici • Alcuni domini chiamano a gran voce EventSourcing • …su altri non è che ci sia poi tutta questa complessità. • ma… #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 155. CRUD #CDays14 – Milano 25, 26 e 27 Febbraio 2014 Assumo ORA di non avere bisogno della storia del dato in futuro
  • 156. Quanto costa la colla? #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 157. Ignorance is the single greatest impediment to throughput. #CDays14 – Milano 25, 26 e 27 Febbraio 2014 http://dannorth.net/2010/08/30/introducing-deliberate-discovery/ Dan North
  • 158. Customer Satisfaction #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 159. Domain Events #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 160. Domain Events • Lo-Fi —> Gli esperti ci correggono #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 161. Domain Events • Lo-Fi —> Gli esperti ci correggono • Transizioni di stato —> Maggior precisione e ricchezza del linguaggio #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 162. Domain Events • Lo-Fi —> Gli esperti ci correggono • Transizioni di stato —> Maggior precisione e ricchezza del linguaggio • Non ragiono più in tabelle. —> non costringo gli utenti ad adattarsi. #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 163. Domain Events • Lo-Fi —> Gli esperti ci correggono • Transizioni di stato —> Maggior precisione e ricchezza del linguaggio • Non ragiono più in tabelle. —> non costringo gli utenti ad adattarsi. • Faccio le domande giuste #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 164. #CDays14 – Milano 25, 26 e 27 Febbraio 2014 UX
  • 165. #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 166. Scenari classici • Analisi redditività • Fraud detection • Analisi temporali • Predittività e correlazioni (scenario walmart) • … #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 167. gli esperti ci aiutano a capire #CDays14 – Milano 25, 26 e 27 Febbraio 2014 e noi aiutiamo loro ©  Alberto  Brandolini  2009
  • 168. Cicli corti #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 169. #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 170. #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 171. Per saperne di più… • http://ziobrando.blogspot.it/2013/11/ introducing-event-storming.html • https://it.groups.yahoo.com/neo/groups/ DDD-IT/ • 19 marzo a Roma / 2 aprile a Bologna #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 172. Grazie! #CDays14 – Milano 25, 26 e 27 Febbraio 2014
  • 173. Q&A Tutto il materiale di questa sessione su http://www.communitydays.it/ ! Lascia il feedback su questa sessione, potrai essere estratto per i nostri premi! ! Seguici su Twitter @CommunityDaysIT Facebook http://facebook.com/cdaysit #CDays14 #CDays14 – Milano 25, 26 e 27 Febbraio 2014