SlideShare a Scribd company logo
1 of 112
Dove
Desideriamo

   Dirigerci?
About
me
In
the
IT
field
since
ZX
Spectrum
Generally
in
large
scale
projects
(I
might
be
biased)
Freelance
consultant:
NotOnlyCode
Trainer
(Freelance
&
Skills
MaBer
+
Zenika)
Technical
Writer
Blogger:
h<p://ziobrando.blogspot.com
TwiBer:
ziobrando


My
e‐mail:

alberto.brandolini@gmail.com
@avanscoperta
www.avanscoperta.it
avanscoperta.wordpress.com
alberto.brandolini@avanscoperta.it




                               ©
Alberto
Brandolini
2009
The world in 2004




                ©
Alberto
Brandolini
2011
Ascoltavamo...
1. F**k it (I don't want you back) - Eamon [# 1, 2004/05]
2. A chi mi dice (Breath easy) - Blue [# 1, 2004/05]
3. Dragostea din tei - Haiducii vs Gabry Ponte [# 1]
4. Left outside alone - Anastacia [# 1, 2004/05]
5. Hey ya! - Outkast [# 2, 2003/04]
6. Yeah - Usher feat. Lil' Jon & Ludacris [# 3, 2004/05]
7. In the shadows - The Rasmus [# 2, 2003/04]
8. Curtain falls - Blue [# 1, 2004/05]
9. Sick and tired - Anastacia [# 2, 2004/05]
10.Superstar - Jamelia [# 3]
11.Lose my breath - Destiny's Child [# 1, 2004/05]
12.Resta in ascolto - Laura Pausini [# 1]
13.Shut up - The Black Eyed Peas [# 2]
14.Vertigo - U2 [# 1, 2004/05]
15.Calma e sangue freddo - Luca Dirisio [# 2, 2004/05]
16.Turn me on - Kevin Lyttle [# 3]
17.This love - Maroon 5 [# 4, 2004/05]
18.Spiderman - Michael Bublè [# 3, 2004/05]
19.Universal prayer - Tiziano Ferro feat. Jamelia [# 1, 2004/05]
20.Toxic - Britney Spears [# 5]
                                                         ©
Alberto
Brandolini
2011
Ascoltavamo...
1. F**k it (I don't want you back) - Eamon [# 1, 2004/05]
2. A chi mi dice (Breath easy) - Blue [# 1, 2004/05]
3. Dragostea din tei - Haiducii vs Gabry Ponte [# 1]
4. Left outside alone - Anastacia [# 1, 2004/05]
5. Hey ya! - Outkast [# 2, 2003/04]
6. Yeah - Usher feat. Lil' Jon & Ludacris [# 3, 2004/05]
7. In the shadows - The Rasmus [# 2, 2003/04]
8. Curtain falls - Blue [# 1, 2004/05]
9. Sick and tired - Anastacia [# 2, 2004/05]
10.Superstar - Jamelia [# 3]
11.Lose my breath - Destiny's Child [# 1, 2004/05]
12.Resta in ascolto - Laura Pausini [# 1]
13.Shut up - The Black Eyed Peas [# 2]
                                                                                nt o. .
14.Vertigo - U2 [# 1, 2004/05]
                                                                     ci    co
15.Calma e sangue freddo - Luca Dirisio [# 2, 2004/05]             o
16.Turn me on - Kevin Lyttle [# 3]
                                                           nd i am
                                                        Re
17.This love - Maroon 5 [# 4, 2004/05]
18.Spiderman - Michael Bublè [# 3, 2004/05]
19.Universal prayer - Tiziano Ferro feat. Jamelia [# 1, 2004/05]
20.Toxic - Britney Spears [# 5]
                                                          ©
Alberto
Brandolini
2011
leggevamo




            ©
Alberto
Brandolini
2011
Java andava per la maggiore




                      ©
Alberto
Brandolini
2011
E nel mondo Java...




                ©
Alberto
Brandolini
2011
...parlando di processo...

                  - RUP come
                  paradigma
                  dominante


       XP come
    metodologia
agile emergente         ©
Alberto
Brandolini
2011
Si progetta in UML




               ©
Alberto
Brandolini
2011
Poi arrivò il libro...




                   ©
Alberto
Brandolini
2011
Ed imparammo qualcosa




                 ©
Alberto
Brandolini
2011
Ed imparammo qualcosa
- Ubiquitous language




                        ©
Alberto
Brandolini
2011
Ed imparammo qualcosa
- Ubiquitous language
- Domain Model Pattern




                         ©
Alberto
Brandolini
2011
Ed imparammo qualcosa
- Ubiquitous language
- Domain Model Pattern
- Entities




                         ©
Alberto
Brandolini
2011
Ed imparammo qualcosa
- Ubiquitous language
- Domain Model Pattern
- Entities
- Value Objects




                         ©
Alberto
Brandolini
2011
Ed imparammo qualcosa
- Ubiquitous language
- Domain Model Pattern
- Entities
- Value Objects
- Factories




                         ©
Alberto
Brandolini
2011
Ed imparammo qualcosa
- Ubiquitous language
- Domain Model Pattern
- Entities
- Value Objects
- Factories
- Aggregates



                         ©
Alberto
Brandolini
2011
Ed imparammo qualcosa
- Ubiquitous language
- Domain Model Pattern
- Entities
- Value Objects
- Factories
- Aggregates
- Repositories


                         ©
Alberto
Brandolini
2011
Ed imparammo qualcosa
- Ubiquitous language
- Domain Model Pattern
- Entities
- Value Objects
- Factories
- Aggregates
- Repositories
- Services

                         ©
Alberto
Brandolini
2011
Ed imparammo qualcosa
- Ubiquitous language
- Domain Model Pattern
 - Entities
 - Value Objects
 - Factories
 - Aggregates
 - Repositories
 - Services
- ... Bounded Contexts
                         ©
Alberto
Brandolini
2011
Ed imparammo qualcosa
- Ubiquitous language
- Domain Model Pattern
 - Entities
 - Value Objects
 - Factories
 - Aggregates
 - Repositories
 - Services
- ... Bounded Contexts
- ... Context Mapping?
                         ©
Alberto
Brandolini
2011
Ed imparammo qualcosa
- Ubiquitous language
- Domain Model Pattern
 - Entities
 - Value Objects
 - Factories
 - Aggregates
 - Repositories
 - Services
- ... Bounded Contexts
- ... Context Mapping?
- ... Core domain?
                         ©
Alberto
Brandolini
2011
Io nel 2004




              ©
Alberto
Brandolini
2011
Io nel 2004
- Consulente in giacca e cravatta




                               ©
Alberto
Brandolini
2011
Io nel 2004
- Consulente in giacca e cravatta
- Analisi




                               ©
Alberto
Brandolini
2011
Io nel 2004
- Consulente in giacca e cravatta
- Analisi
- Design




                               ©
Alberto
Brandolini
2011
Io nel 2004
- Consulente in giacca e cravatta
- Analisi
- Design
- Sviluppo




                               ©
Alberto
Brandolini
2011
Io nel 2004
- Consulente in giacca e cravatta
- Analisi
- Design
- Sviluppo
- Test



                               ©
Alberto
Brandolini
2011
Io nel 2004
- Consulente in giacca e cravatta
- Analisi
- Design
- Sviluppo
- Test
- System Integration


                               ©
Alberto
Brandolini
2011
Io nel 2004
- Consulente in giacca e cravatta
- Analisi
- Design
- Sviluppo
- Test
- System Integration
- Java ...J2EE

                               ©
Alberto
Brandolini
2011
Io nel 2004
- Consulente in giacca e cravatta
- Analisi
- Design
- Sviluppo
- Test
- System Integration
- Java ...J2EE
- Arial (o al massimo verdana)
                               ©
Alberto
Brandolini
2011
Io nel 2004
- Consulente in giacca e cravatta
- Analisi
- Design
- Sviluppo
- Test
- System Integration
- Java ...J2EE
- Arial (o al massimo verdana)
- elenchi puntati              ©
Alberto
Brandolini
2011
Lessons
(learned?)
“90% of the questions on
the DDD mailing list used to
 be about Aggregates and
       Repositories”
                  Eric Evans
Qualche fallimento

  DDD è troppo costoso
  DDD è troppo complesso
  DDD è troppo esigente
  DDD richiede troppo tempo


                              avanscoper
                                  ta
Sono l’unico a capirci
qualcosa di DDD


                    avanscoper
                        ta
All’a<acco!
Cosa
ci
siamo
persi?
The
world
in
2011
Java
nel
2011
Java
nel
2011
Java
nel
2011
...solo
i
vecchi
lo
guardano....
No
SQL




         ©
Alberto
Brandolini
2011
“We spend too much
    time on simply
persisting the domain”

            Eric Evans
!     The


    Command
      Query
?   revoluQon
!
?
                     UI
               DTO
                                         Commands


Remote
facade                            Remote
facade
                                         ApplicaQon
Services




 Thin
Read
Layer




                                                      ORM
?

                     Events
                     publish
subscribe
Domain
Event




È
successo
qualcosa
che
ci
interessa
s
           TDD
and
DDD
                       Frequent
rewriQng

       Focus
on
Unit
Tests
                               Exploratory
coding
    Frequent
Short
Cycles
                             Tiny
Domain
Objects
               Quick
Feedback
                    Self
explanatory
code
                         Freedom
to
change   ©
Alberto
Brandolini
‐
2010
BDD
&
DDD

Be<er
communicaQon

 with
Domain
Experts
                 Overlapping
CommuniQes
        enforcing
a
consistent

        Ubiquitous
Language
                                  ©
Alberto
Brandolini
2011
©
Alberto
Brandolini
2011
©
Alberto
Brandolini
2011
ti !
         ica
     e nt
D im

              ©
Alberto
Brandolini
2011
Cos’è

Domain‐Driven

   Design

  nel
2011?
Maggio
2011
‐
Portland
DDD
è
un
insieme
di
principi
Focus
on
the
core
domain

Explore
models
in
a
creaQve

collaboraQon
of
domain
pracQQoners

and
soWware
pracQQoners

Speak
a
ubiquitous
language
within

an
explicitly
bounded
context

Core
domain?
C o re D
        om a i n
Core
Domain



Non
fare
nulla
di
meno
del
vostro
meglio
SupporQng
subdomain
Or...
...un
momento!
Auditing


                                Delivery



                                  Delivery Management
Old Legacy component


                                                        Invoicing
                                                         System

                       AC L
                                                 Invoicing
Booking
                       New Booking System




                                                             ©
Alberto
Brandolini
2011
Core
Domain
Guidato
dal
business
Spazio
dei
problemi



              Bounded
Contexts
                “guidato”
dallo
sviluppo
                   spazio
delle
soluzioni
                                 ©
Alberto
Brandolini
2011
Bounded
Contexts
Ubiquitous
Language
Be<er
Understanding

of
the
domain
CreaQve
CollaboraQon
Aggregates
Bounded
Contexts
Ubiquitous
Language
Be<er
Understanding

of
the
domain
CreaQve
CollaboraQon
Aggregates
E
se
DDD
non
fosse
una
cosa

    solo
per
sviluppatori?
Ignorance
is
the
single

 greatest
impediment

    to
throughput

             Dan
North
100%


            90%


            80%


            70%
Ignorance




            60%


            50%


            40%
                           Ignorance
            30%


            20%


            10%


              0
                   0   1      2   3    4    5     6   7   8   9   10


                                           Time
100%
                             Th i s i s
            90%                         whe n
                               c r i t ic a       we m a
                                            l de c i s       ke
            80%                                        io ns
            70%
Ignorance




            60%


            50%


            40%
                           Ignorance
            30%


            20%


            10%


              0
                   0   1       2        3       4       5         6   7   8   9   10


                                                     Time
100%


            90%


            80%




                                           B re a kt
            70%




                                              h ro u g h
Ignorance




            60%


            50%


            40%
                           Ignorance
            30%


            20%


            10%


              0
                   0   1      2   3    4    5              6   7   8   9   10


                                           Time
100%


            90%


            80%




                                           B re a kt
            70%
                                                           Can w




                                              h ro u g h
                                                                  e a n t ic
Ignorance




            60%
                                                            t his m          i p a te
                                                                    ome n t
            50%                                                                 ?
            40%
                           Ignorance
            30%


            20%


            10%


              0
                   0   1      2   3    4    5              6      7      8       9      10


                                           Time
100%


            90%


            80%




                                           B re a kt
            70%




                                              h ro u g h
Ignorance




            60%


            50%


            40%
                           Ignorance
            30%


            20%


            10%


              0
                   0   1      2   3    4    5              6   7   8   9   10


                                           Time
l’apprendimento
è
un

    dominio
di
cui

sappiamo
ancora
poco
...se
avessi
avuto
i
test...
Abbiamo
a
disposizione

strumenQ
incredibili
per

      imparare
s
           TDD
and
DDD
                       Frequent
rewriQng

       Focus
on
Unit
Tests
                               Exploratory
coding
    Frequent
Short
Cycles
                             Tiny
Domain
Objects
               Quick
Feedback
                    Self
explanatory
code
                         Freedom
to
change   ©
Alberto
Brandolini
‐
2010
Ah,
se
avessi
avuto
i
test...
...se
avessi
avuto
i
test...
Explore
&
Play
L’ecosistema


    E’
necessario
un
processo
di

  sviluppo
agile,
che
permeBa
di

 raccogliere
il
feedback
di
utenQ
e

domain
experts,
in
iterazioni
brevi.
                             ©
Alberto
Brandolini
2009
E’
necessario
un
processo
di

   sviluppo
agile,
che
permeBa
di

 raccogliere
il
feedback
di
utenQ
e

 Il
nostro
obie]vo
è
stabilire
una

domain
experts,
in
iterazioni
brevi.
       collaborazione
creaQva

                             ©
Alberto
Brandolini
2009
gli
esperQ
ci
   e
noi
aiuQamo

aiutano
a
capire        loro



                        ©
Alberto
Brandolini
2009
Bounded
Context
DDD
non
è
uno

     s7le

archite8urale
             ©
Alberto
Brandolini
2011
DDD
SupporQng
Architectures
 Domain
Model
Pa<ern
 Hexagonal
Architecture
 Event
Sourcing
 CQRS
 ...DCI?
Rich
UI
and
DDD
Complexity
      Application Complexity




               Domain Complexity
...seen
by
the
user
           Application Complexity




                    Domain Complexity



   User
...seen
by
the
user
           Application Complexity




                    Domain Complexity



   User
...seen
by
the
user
           Application Complexity




                    Domain Complexity



   User
...seen
by
the
user
           Application Complexity




                    Domain Complexity



   User
...seen
by
the
user
           Application Complexity




                    Domain Complexity



   User
...seen
by
the
user
           Application Complexity




                    Domain Complexity



   User
...seen
by
the
user
           Application Complexity




                    Domain Complexity



   User
InformaQon

   DDD
                 Architect
pracQcioner




SQamo
guardando
alla
stessa
cosa...
“There will be no second
  edition of the book”
               Eric Evans
Non
esa<amente...
:‐)
Dove
Desideriamo

   Dirigerci?
Perché
facciamo
tu<o

      questo?
WriQng
Socware

 That
Ma<ers
Thank
you
alberto.brandolini@avanscoperta.it
  hBp://ziobrando.blogspot.com
         twiBer:
ziobrando

More Related Content

Similar to DDD 2011 - Dove Desideriamo Dirigerci

Coworking e FabLab: parte dello stesso ecosistema.
Coworking e FabLab: parte dello stesso ecosistema.Coworking e FabLab: parte dello stesso ecosistema.
Coworking e FabLab: parte dello stesso ecosistema.Coworking Cowo®
 
Gestire La Complessità Con Domain Driven Design
Gestire La Complessità Con Domain Driven DesignGestire La Complessità Con Domain Driven Design
Gestire La Complessità Con Domain Driven DesignAlberto Brandolini
 
"Elevator Pitch: presenta la tua Azienda!" - Faberlab 11 aprile 2017
"Elevator Pitch: presenta la tua Azienda!" - Faberlab 11 aprile 2017 "Elevator Pitch: presenta la tua Azienda!" - Faberlab 11 aprile 2017
"Elevator Pitch: presenta la tua Azienda!" - Faberlab 11 aprile 2017 FaberLab
 
Software ...e tutto ciò che comporta
Software ...e tutto ciò che comportaSoftware ...e tutto ciò che comporta
Software ...e tutto ciò che comportaAlberto Brandolini
 
3. Progettare per l utente
3. Progettare per l utente3. Progettare per l utente
3. Progettare per l utenteRoberto Polillo
 

Similar to DDD 2011 - Dove Desideriamo Dirigerci (7)

Coworking e FabLab: parte dello stesso ecosistema.
Coworking e FabLab: parte dello stesso ecosistema.Coworking e FabLab: parte dello stesso ecosistema.
Coworking e FabLab: parte dello stesso ecosistema.
 
Gestire La Complessità Con Domain Driven Design
Gestire La Complessità Con Domain Driven DesignGestire La Complessità Con Domain Driven Design
Gestire La Complessità Con Domain Driven Design
 
"Elevator Pitch: presenta la tua Azienda!" - Faberlab 11 aprile 2017
"Elevator Pitch: presenta la tua Azienda!" - Faberlab 11 aprile 2017 "Elevator Pitch: presenta la tua Azienda!" - Faberlab 11 aprile 2017
"Elevator Pitch: presenta la tua Azienda!" - Faberlab 11 aprile 2017
 
Presentazione Kit.Brunello.System
Presentazione Kit.Brunello.SystemPresentazione Kit.Brunello.System
Presentazione Kit.Brunello.System
 
Presentazione del Kit.Brunello.System
Presentazione del Kit.Brunello.SystemPresentazione del Kit.Brunello.System
Presentazione del Kit.Brunello.System
 
Software ...e tutto ciò che comporta
Software ...e tutto ciò che comportaSoftware ...e tutto ciò che comporta
Software ...e tutto ciò che comporta
 
3. Progettare per l utente
3. Progettare per l utente3. Progettare per l utente
3. Progettare per l utente
 

More from Alberto Brandolini

L'illusione dell'ortogonalità
L'illusione dell'ortogonalitàL'illusione dell'ortogonalità
L'illusione dell'ortogonalitàAlberto Brandolini
 
Redesigning everything ITARC Stockholm 2021
Redesigning everything ITARC Stockholm 2021Redesigning everything ITARC Stockholm 2021
Redesigning everything ITARC Stockholm 2021Alberto Brandolini
 
Redesigning everything (avanscoperta meeutp edition)
Redesigning everything (avanscoperta meeutp edition)Redesigning everything (avanscoperta meeutp edition)
Redesigning everything (avanscoperta meeutp edition)Alberto Brandolini
 
Software design as a cooperative game with EventStorming
Software design as a cooperative game with EventStormingSoftware design as a cooperative game with EventStorming
Software design as a cooperative game with EventStormingAlberto Brandolini
 
Reshaping enterrprise software
Reshaping enterrprise softwareReshaping enterrprise software
Reshaping enterrprise softwareAlberto Brandolini
 
Guerrilla portfolio management
Guerrilla portfolio managementGuerrilla portfolio management
Guerrilla portfolio managementAlberto Brandolini
 
Idea stickies green bar - Wroclaw edition
Idea stickies green bar - Wroclaw editionIdea stickies green bar - Wroclaw edition
Idea stickies green bar - Wroclaw editionAlberto Brandolini
 
Why do all my ddd apps look the same - Vienna 2014
Why do all my ddd apps look the same - Vienna 2014Why do all my ddd apps look the same - Vienna 2014
Why do all my ddd apps look the same - Vienna 2014Alberto Brandolini
 

More from Alberto Brandolini (20)

L'illusione dell'ortogonalità
L'illusione dell'ortogonalitàL'illusione dell'ortogonalità
L'illusione dell'ortogonalità
 
Redesigning everything ITARC Stockholm 2021
Redesigning everything ITARC Stockholm 2021Redesigning everything ITARC Stockholm 2021
Redesigning everything ITARC Stockholm 2021
 
What lies beneath
What lies beneathWhat lies beneath
What lies beneath
 
Redesigning everything (avanscoperta meeutp edition)
Redesigning everything (avanscoperta meeutp edition)Redesigning everything (avanscoperta meeutp edition)
Redesigning everything (avanscoperta meeutp edition)
 
Extreme DDD modelling
Extreme DDD modellingExtreme DDD modelling
Extreme DDD modelling
 
The gordian knot
The gordian knotThe gordian knot
The gordian knot
 
Software design as a cooperative game with EventStorming
Software design as a cooperative game with EventStormingSoftware design as a cooperative game with EventStorming
Software design as a cooperative game with EventStorming
 
La fatina dei denti
La fatina dei dentiLa fatina dei denti
La fatina dei denti
 
50.000 orange stickies later
50.000 orange stickies later50.000 orange stickies later
50.000 orange stickies later
 
The alignment
The alignmentThe alignment
The alignment
 
Chasing elephants
Chasing elephantsChasing elephants
Chasing elephants
 
Transactions redefined
Transactions redefinedTransactions redefined
Transactions redefined
 
Optimized for what
Optimized for whatOptimized for what
Optimized for what
 
Reshaping enterrprise software
Reshaping enterrprise softwareReshaping enterrprise software
Reshaping enterrprise software
 
Guerrilla portfolio management
Guerrilla portfolio managementGuerrilla portfolio management
Guerrilla portfolio management
 
The precision blade
The precision bladeThe precision blade
The precision blade
 
Idea stickies green bar - Wroclaw edition
Idea stickies green bar - Wroclaw editionIdea stickies green bar - Wroclaw edition
Idea stickies green bar - Wroclaw edition
 
Why do all my ddd apps look the same - Vienna 2014
Why do all my ddd apps look the same - Vienna 2014Why do all my ddd apps look the same - Vienna 2014
Why do all my ddd apps look the same - Vienna 2014
 
Managing debt remastered
Managing debt remasteredManaging debt remastered
Managing debt remastered
 
The sweet spot
The sweet spotThe sweet spot
The sweet spot
 

DDD 2011 - Dove Desideriamo Dirigerci

Editor's Notes

  1. \n
  2. \n
  3. And that&amp;#x2019;s the company I started one year ago.\n
  4. Cominciamo guardando indietro. A dove eravamo. Il libro DDD &amp;#xE8; uscito nel 2004 e la sua gestazione &amp;#xE8; durata quattro anni. Molte delle considerazioni presenti nel libro sono espresse tenendo conto del contesto dell&amp;#x2019;epoca.\n
  5. Questo &amp;#xE8; l&amp;#x2019;elenco dei dischi pi&amp;#xF9; venduti in Italia nel 2004. Abbastanza imbarazzante a guardarci bene.\nDecisamente non un anno memorabile.\nParticolarmente imbarazzante &amp;#xE8; il duetto in posizione 19\n
  6. Questi erano i libri di riferimento del periodo. Design Patterns era probabilmente quello che andava per la maggiore. E Martin Fowler era l&amp;#x2019;autorit&amp;#xE0; suprema riconosciuta.\n
  7. Java era il linguaggio dominante all&amp;#x2019;epoca. L&amp;#x2019;avvallamento del 2004 &amp;#xE8; stato determinato da un cambio negli algoritmi di ricerca di google pi&amp;#xF9; che da un&amp;#x2019;effettiva variazione.\n
  8. In ambiente Java, SUN era ancora l&amp;#x2019;azienda di riferimento, ed EJB l&amp;#x2019;architettura di riferimento all&amp;#x2019;interno del sistema, con tutto l&amp;#x2019;ambaradan di pattern che era fondamentale conoscere altrimenti non eri nessuno. Una sorta di &amp;#x201C;nonnismo architetturale&amp;#x201D; se vogliamo.\n
  9. Sebbene mostrasse gi&amp;#xE0; evidenti segni di declino, RUP era ancora il processo di sviluppo di riferimento. Mentre il mondo agile si identificava principalmente con XP. Scrum godeva di popolarit&amp;#xE0; minore, almeno in Italia e Kanban doveva ancora essere inventato.\n
  10. La progettazione si faceva con bizzarri strumenti che producevano rettangoli gialli gestiti da santoni espertissimi nell&amp;#x2019;uso della stampante e del nastro adesivo. Bizzarre decorazioni giallastre decoravano gli uffici.\n
  11. Lo ammetto. L&amp;#x2019;ho comprato senza sapere che cosa ci fosse scritto dentro. Unicamente per la frase &amp;#x201C;Foreword by Martin Fowler&amp;#x201D;.\n
  12. L&amp;#x2019;ho letto. Lo abbiamo letto. E cosa abbiamo capito? Beh, a tutti &amp;#xE8; piaciuto il concetto di Ubiquitous Language, ma fondamentalmente abbiamo cercato di fare il paio con le pratiche di design che avevamo gi&amp;#xE0; incontrato in Design Patterns e ci siamo fermati l&amp;#xEC;. Il libro &amp;#xE8; grosso, ed arrivare in fondo &amp;#xE8; dura. Molti non ce l&amp;#x2019;hanno fatta. Molti si sono accontentati di usare Entities e Value Object per poter dire &amp;#x201C;stiamo facendo DDD&amp;#x201D;. :-/\n\nMolti non sono mai arrivati alla seconda parte del libro.\n
  13. L&amp;#x2019;ho letto. Lo abbiamo letto. E cosa abbiamo capito? Beh, a tutti &amp;#xE8; piaciuto il concetto di Ubiquitous Language, ma fondamentalmente abbiamo cercato di fare il paio con le pratiche di design che avevamo gi&amp;#xE0; incontrato in Design Patterns e ci siamo fermati l&amp;#xEC;. Il libro &amp;#xE8; grosso, ed arrivare in fondo &amp;#xE8; dura. Molti non ce l&amp;#x2019;hanno fatta. Molti si sono accontentati di usare Entities e Value Object per poter dire &amp;#x201C;stiamo facendo DDD&amp;#x201D;. :-/\n\nMolti non sono mai arrivati alla seconda parte del libro.\n
  14. L&amp;#x2019;ho letto. Lo abbiamo letto. E cosa abbiamo capito? Beh, a tutti &amp;#xE8; piaciuto il concetto di Ubiquitous Language, ma fondamentalmente abbiamo cercato di fare il paio con le pratiche di design che avevamo gi&amp;#xE0; incontrato in Design Patterns e ci siamo fermati l&amp;#xEC;. Il libro &amp;#xE8; grosso, ed arrivare in fondo &amp;#xE8; dura. Molti non ce l&amp;#x2019;hanno fatta. Molti si sono accontentati di usare Entities e Value Object per poter dire &amp;#x201C;stiamo facendo DDD&amp;#x201D;. :-/\n\nMolti non sono mai arrivati alla seconda parte del libro.\n
  15. L&amp;#x2019;ho letto. Lo abbiamo letto. E cosa abbiamo capito? Beh, a tutti &amp;#xE8; piaciuto il concetto di Ubiquitous Language, ma fondamentalmente abbiamo cercato di fare il paio con le pratiche di design che avevamo gi&amp;#xE0; incontrato in Design Patterns e ci siamo fermati l&amp;#xEC;. Il libro &amp;#xE8; grosso, ed arrivare in fondo &amp;#xE8; dura. Molti non ce l&amp;#x2019;hanno fatta. Molti si sono accontentati di usare Entities e Value Object per poter dire &amp;#x201C;stiamo facendo DDD&amp;#x201D;. :-/\n\nMolti non sono mai arrivati alla seconda parte del libro.\n
  16. L&amp;#x2019;ho letto. Lo abbiamo letto. E cosa abbiamo capito? Beh, a tutti &amp;#xE8; piaciuto il concetto di Ubiquitous Language, ma fondamentalmente abbiamo cercato di fare il paio con le pratiche di design che avevamo gi&amp;#xE0; incontrato in Design Patterns e ci siamo fermati l&amp;#xEC;. Il libro &amp;#xE8; grosso, ed arrivare in fondo &amp;#xE8; dura. Molti non ce l&amp;#x2019;hanno fatta. Molti si sono accontentati di usare Entities e Value Object per poter dire &amp;#x201C;stiamo facendo DDD&amp;#x201D;. :-/\n\nMolti non sono mai arrivati alla seconda parte del libro.\n
  17. L&amp;#x2019;ho letto. Lo abbiamo letto. E cosa abbiamo capito? Beh, a tutti &amp;#xE8; piaciuto il concetto di Ubiquitous Language, ma fondamentalmente abbiamo cercato di fare il paio con le pratiche di design che avevamo gi&amp;#xE0; incontrato in Design Patterns e ci siamo fermati l&amp;#xEC;. Il libro &amp;#xE8; grosso, ed arrivare in fondo &amp;#xE8; dura. Molti non ce l&amp;#x2019;hanno fatta. Molti si sono accontentati di usare Entities e Value Object per poter dire &amp;#x201C;stiamo facendo DDD&amp;#x201D;. :-/\n\nMolti non sono mai arrivati alla seconda parte del libro.\n
  18. L&amp;#x2019;ho letto. Lo abbiamo letto. E cosa abbiamo capito? Beh, a tutti &amp;#xE8; piaciuto il concetto di Ubiquitous Language, ma fondamentalmente abbiamo cercato di fare il paio con le pratiche di design che avevamo gi&amp;#xE0; incontrato in Design Patterns e ci siamo fermati l&amp;#xEC;. Il libro &amp;#xE8; grosso, ed arrivare in fondo &amp;#xE8; dura. Molti non ce l&amp;#x2019;hanno fatta. Molti si sono accontentati di usare Entities e Value Object per poter dire &amp;#x201C;stiamo facendo DDD&amp;#x201D;. :-/\n\nMolti non sono mai arrivati alla seconda parte del libro.\n
  19. L&amp;#x2019;ho letto. Lo abbiamo letto. E cosa abbiamo capito? Beh, a tutti &amp;#xE8; piaciuto il concetto di Ubiquitous Language, ma fondamentalmente abbiamo cercato di fare il paio con le pratiche di design che avevamo gi&amp;#xE0; incontrato in Design Patterns e ci siamo fermati l&amp;#xEC;. Il libro &amp;#xE8; grosso, ed arrivare in fondo &amp;#xE8; dura. Molti non ce l&amp;#x2019;hanno fatta. Molti si sono accontentati di usare Entities e Value Object per poter dire &amp;#x201C;stiamo facendo DDD&amp;#x201D;. :-/\n\nMolti non sono mai arrivati alla seconda parte del libro.\n
  20. L&amp;#x2019;ho letto. Lo abbiamo letto. E cosa abbiamo capito? Beh, a tutti &amp;#xE8; piaciuto il concetto di Ubiquitous Language, ma fondamentalmente abbiamo cercato di fare il paio con le pratiche di design che avevamo gi&amp;#xE0; incontrato in Design Patterns e ci siamo fermati l&amp;#xEC;. Il libro &amp;#xE8; grosso, ed arrivare in fondo &amp;#xE8; dura. Molti non ce l&amp;#x2019;hanno fatta. Molti si sono accontentati di usare Entities e Value Object per poter dire &amp;#x201C;stiamo facendo DDD&amp;#x201D;. :-/\n\nMolti non sono mai arrivati alla seconda parte del libro.\n
  21. L&amp;#x2019;ho letto. Lo abbiamo letto. E cosa abbiamo capito? Beh, a tutti &amp;#xE8; piaciuto il concetto di Ubiquitous Language, ma fondamentalmente abbiamo cercato di fare il paio con le pratiche di design che avevamo gi&amp;#xE0; incontrato in Design Patterns e ci siamo fermati l&amp;#xEC;. Il libro &amp;#xE8; grosso, ed arrivare in fondo &amp;#xE8; dura. Molti non ce l&amp;#x2019;hanno fatta. Molti si sono accontentati di usare Entities e Value Object per poter dire &amp;#x201C;stiamo facendo DDD&amp;#x201D;. :-/\n\nMolti non sono mai arrivati alla seconda parte del libro.\n
  22. L&amp;#x2019;ho letto. Lo abbiamo letto. E cosa abbiamo capito? Beh, a tutti &amp;#xE8; piaciuto il concetto di Ubiquitous Language, ma fondamentalmente abbiamo cercato di fare il paio con le pratiche di design che avevamo gi&amp;#xE0; incontrato in Design Patterns e ci siamo fermati l&amp;#xEC;. Il libro &amp;#xE8; grosso, ed arrivare in fondo &amp;#xE8; dura. Molti non ce l&amp;#x2019;hanno fatta. Molti si sono accontentati di usare Entities e Value Object per poter dire &amp;#x201C;stiamo facendo DDD&amp;#x201D;. :-/\n\nMolti non sono mai arrivati alla seconda parte del libro.\n
  23. Ok c&amp;#x2019;&amp;#xE8; una parte dell&amp;#x2019;equazione che non abbiamo considerato: il lettore. Io nel 2004 ero un po&amp;#x2019; diverso da adesso. Pi&amp;#xF9; magro probabilmente. Pi&amp;#xF9; ingenuo.\n
  24. Ok c&amp;#x2019;&amp;#xE8; una parte dell&amp;#x2019;equazione che non abbiamo considerato: il lettore. Io nel 2004 ero un po&amp;#x2019; diverso da adesso. Pi&amp;#xF9; magro probabilmente. Pi&amp;#xF9; ingenuo.\n
  25. Ok c&amp;#x2019;&amp;#xE8; una parte dell&amp;#x2019;equazione che non abbiamo considerato: il lettore. Io nel 2004 ero un po&amp;#x2019; diverso da adesso. Pi&amp;#xF9; magro probabilmente. Pi&amp;#xF9; ingenuo.\n
  26. Ok c&amp;#x2019;&amp;#xE8; una parte dell&amp;#x2019;equazione che non abbiamo considerato: il lettore. Io nel 2004 ero un po&amp;#x2019; diverso da adesso. Pi&amp;#xF9; magro probabilmente. Pi&amp;#xF9; ingenuo.\n
  27. Ok c&amp;#x2019;&amp;#xE8; una parte dell&amp;#x2019;equazione che non abbiamo considerato: il lettore. Io nel 2004 ero un po&amp;#x2019; diverso da adesso. Pi&amp;#xF9; magro probabilmente. Pi&amp;#xF9; ingenuo.\n
  28. Ok c&amp;#x2019;&amp;#xE8; una parte dell&amp;#x2019;equazione che non abbiamo considerato: il lettore. Io nel 2004 ero un po&amp;#x2019; diverso da adesso. Pi&amp;#xF9; magro probabilmente. Pi&amp;#xF9; ingenuo.\n
  29. Ok c&amp;#x2019;&amp;#xE8; una parte dell&amp;#x2019;equazione che non abbiamo considerato: il lettore. Io nel 2004 ero un po&amp;#x2019; diverso da adesso. Pi&amp;#xF9; magro probabilmente. Pi&amp;#xF9; ingenuo.\n
  30. Ok c&amp;#x2019;&amp;#xE8; una parte dell&amp;#x2019;equazione che non abbiamo considerato: il lettore. Io nel 2004 ero un po&amp;#x2019; diverso da adesso. Pi&amp;#xF9; magro probabilmente. Pi&amp;#xF9; ingenuo.\n
  31. Ok c&amp;#x2019;&amp;#xE8; una parte dell&amp;#x2019;equazione che non abbiamo considerato: il lettore. Io nel 2004 ero un po&amp;#x2019; diverso da adesso. Pi&amp;#xF9; magro probabilmente. Pi&amp;#xF9; ingenuo.\n
  32. Sulla base di quanto siamo riusciti a capire, siamo partiti garruli e felici alla conquista del nuovo mondo. Convinti che sarebbe stato facile.\n
  33. Un primo aspetto da tenere in considerazione &amp;#xE8; che il libro come strumento divulgativo ha qualche controindicazione. E&amp;#x2019; sostanzialmente immutabile: una volta pubblicato ...rimane, mentre la comunit&amp;#xE0; DDD e lo stesso Eric Evans hanno imparato non poco dal feedback conscio o inconscio dei lettori. In particolare, non era stata prevista la distribuzione dell&amp;#x2019;interesse sui vari argomenti.\n\n
  34. Un sacco di domande sul dito.\n
  35. Non tutti quelli che hanno provato ad applicare DDD sono stat soddisfatti. Le motivazioni pi&amp;#xF9; classiche sono quelle riportate qui sopra. Se aggiungiamo il fatto che nel frattempo siano apparsi Ruby on Rails, Grails ed altri framework RAD, qualche dubbio viene...\n
  36. Questa &amp;#xE8; l&amp;#x2019;obiezione pi&amp;#xF9; frequente. Lo sviluppatore frustrato circondato da colleghi espertissimi nell&amp;#x2019;arte del copia ed incolla colleghi espertissimi nell&amp;#x2019;arte del copia ed incolla colleghi espertissimi nell&amp;#x2019;arte del copia ed incolla colleghi espertissimi nell&amp;#x2019;arte del copia ed incolla\n
  37. Ma suona tanto come un&amp;#x2019;atteggiamento donchisciottesco. Lancia in resta ed all&amp;#x2019;attacco dei mulini a vento.\n
  38. Probabilmente c&amp;#x2019;&amp;#xE8; qualcosa di importante che non abbiamo capito.\n
  39. Arriviamo ai giorni nostri. Ne &amp;#xE8; passata di acqua sotto i ponti.\n
  40. Java, oramai territorio Oracle, non &amp;#xE8; pi&amp;#xF9; una piattaforma cos&amp;#xEC; interessante. A meno di non includere in &amp;#x201C;Java&amp;#x201D; anche linguaggi come Scala, Groovy e JRuby che qualche cosa d&amp;#x2019;interessante da dire ce l&amp;#x2019;hanno.\n
  41. Java, oramai territorio Oracle, non &amp;#xE8; pi&amp;#xF9; una piattaforma cos&amp;#xEC; interessante. A meno di non includere in &amp;#x201C;Java&amp;#x201D; anche linguaggi come Scala, Groovy e JRuby che qualche cosa d&amp;#x2019;interessante da dire ce l&amp;#x2019;hanno.\n
  42. L&amp;#x2019;esplosione del fenomeno NoSQL, abbastanza imprevedibile nel 2004. In uno scenario in cui i database ad oggetti erano considerati degli oggetti costosissimi e non sufficientemente affidabili/performanti.\n
  43. Ma il buon Eric lo disse in tempi non sospetti per commentare la complessit&amp;#xE0; accidentale introdotta dagli ORM.\n
  44. Per non parlare della rivoluzione introdotta da Greg Young ed Udi Dahan quando hanno iniziato a portare avanti Command Query Responsibility Segregation. Performance ed un nuovo paradigma di modellazione.\n
  45. Un&amp;#x2019;architettura per i comandi ed un&amp;#x2019;architettura per accedere ai dati. Ciascuna ottimizzata senza compromessi. Una figata.\n
  46. Il concetto di evento di dominio, qualcosa che &amp;#xE8; avvenuto nel sistema, modellato come un verbo al participio passato, diventa un elemento centrale sia della tradizionale architettura DDD sia di quelle pi&amp;#xF9; avveniristiche come CQRS ed Event Sourcing.\n
  47. Il legame tra TDD e DDD era gi&amp;#xE0; forte nelle fasi iniziali\n
  48. Ma dalla comunit&amp;#xE0; DDD (in particolare grazie al contributo di Dan North e successivamente di Aslak Hellesoy) nascono strumenti che rivoluzionano l&amp;#x2019;approccio al testing portando al centro del test la necessit&amp;#xE0; di rendere il test accessibile anche ai ruoli non di sviluppo, attraverso un lavoro sul linguaggio che porta ai test in linguaggio naturale di Cucumber, e delle sue declinazioni in altri linguaggi, come SpecFlow.\n
  49. Per colmare un piccolo vuoto informativo, Eric Evans presenta qualcosa che assomiglia un po&amp;#x2019; di pi&amp;#xF9; ad un processo di riferimento. La chiave di volta &amp;#xE8; l&amp;#x2019;uso di differenti strumenti per raffinare continuamente il modello, in modalit&amp;#xE0; &amp;#x201C;pull&amp;#x201D;. \n
  50. Ma soprattutto, nel 2011 il duetto di Tiziano ferro e Jamelia &amp;#xE8; solo uno sbiadito ricordo.\n
  51. Purtroppo per&amp;#xF2; sul fronte editoriale non si &amp;#xE8; mosso molto. E le novit&amp;#xE0; hanno un po&amp;#x2019; complicato il quadro. Ci&amp;#xF2; nonostante, i progetti andavano in porto e la comunit&amp;#xE0; DDD era attiva e sempre pi&amp;#xF9; convinta.\n
  52. Tempo di fare il punto della situazione. Di raccogliere alcuni tra i personaggi pi&amp;#xF9; attivi ed influenti della comunit&amp;#xE0;, per sincronizzarsi e scambiarsi idee in una &amp;#x201C;collaborazione creativa&amp;#x201D; :-)\n
  53. Ed eccoci qua, in quel di Portland ME a discutere per 3 intensi giorni, di un po&amp;#x2019; di tutto. Tra una camminata per i boschi, una partita di baseball, un&amp;#x2019;interminabile discussione sui Bounded Contexts, ed un po&amp;#x2019; di birra.\n
  54. ... per arrivare ad una nuova versione della definizione di cosa sia DDD.\n
  55. Ok, ma cosa intendiamo esattamente per Core Domain? Era nella seconda parte del libro, quindi ...forse ce lo siamo persi.\n
  56. Questa &amp;#xE8; il diagramma su cui siamo riusciti ad avere un minimo di consenso. Troviamo tutte e quattro le categorie di partizionamento di DDD, in colori diversi.\n
  57. Ma dopo interminabili discussioni, sulla via del ritorno mi sono finalmente reso conto che il core domain aveva una forma molto riconoscibile.\n
  58. Se il nostro dominio &amp;#xE8; un maiale, la coscia &amp;#xE8; il nostro Core Domain.\n
  59. L&amp;#x2019;area in cui concentrarci per raggiungere l&amp;#x2019;eccellenza. Perch&amp;#xE9; la qualit&amp;#xE0; in questa zona paga.\n
  60. Ha senso dedicare le stesse energie alla pancetta? In qualche caso pu&amp;#xF2; avere senso.\n
  61. In altri casi la pancetta non fa alcuna differenza, ed allora possiamo esternalizzare il processo o adottare strategie Low Cost.\n
  62. Ma &amp;#xE8; sempre pancetta. Come posso capire quali strategia applicare e quando?\n
  63. E&amp;#x2019; che non si tratta di un problema di architettura software. E&amp;#x2019; un problema business.\n\n
  64. Che cosa sia core domain &amp;#xE8; determinato essenzialmente dal contesto di mercato in cui ci troviamo. E potr&amp;#xE0; cambiare. E cambier&amp;#xE0;, in maniera indipendente dalla nostra volont&amp;#xE0;.\n\nI Bounded Contexts invece sono il risultato del contesto di sviluppo in cui ci troviamo, della dimensione e della dislocazione del team di sviluppo. E delle soluzioni tecniche che adottiamo.\n
  65. Durante il DDD Summit, abbiamo cercato di categorizzare alcuni aspetti chiave di DDD.\nIn azzurro ci&amp;#xF2; che era core, in verde gli aspetti supporting, in giallo quelli generic o comunque non cos&amp;#xEC; strettamente correlati a DDD, mentre in rosso ci&amp;#xF2; che non era DDD.\n
  66. E questo &amp;#xE8; il distillato delle aree che hanno raggiunto il maggiore consenso.\n
  67. Interessante. Dove sono gli aspetti legati al codice?\n
  68. E se forse la cosa che non abbiamo capito, o il peccato originale fosse stato pensare che con un paio di factory e di value object avessimo potuto cambiare il mondo? O semplicemente se il pubblico fosse stato sbagliato?\n
  69. Nel frattempo, Dan North - si sempre lui, quello di JBehave che poi &amp;#xE8; diventato Cucumber - se ne &amp;#xE8; uscito con un post spettacolare sul concetto di Deliberate Learning. Andatelo a leggere.\n
  70. E&amp;#x2019; l&amp;#x2019;ignoranza che ci frega. E nel momento di massima ignoranza spesso prendiamo le decisioni pi&amp;#xF9; vincolanti.\n
  71. E se lavorassimo sull&amp;#x2019;ignoranza? \n
  72. E se riuscissimo ad anticipare in qualche modo il momento in cui finalmente capiamo cosa abbiamo sbagliato?\n
  73. Su questo punto al DDD summit siamo stati praticamente unanimi.\n
  74. Non &amp;#xE8; una contrapposizione. In DDD &amp;#xE8; un&amp;#x2019;allineamento. Non possiamo produrre software senza imparare, ma non possiamo nemmeno imparare senza produrre software. Testando la nostra capacit&amp;#xE0; di comprendere il dominio.\n
  75. Ma se il limite &amp;#xE8; l&amp;#x2019;apprendimento allora dobbiamo essere consapevoli di essere ignoranti in materia.\n
  76. Il vero saggio &amp;#xE8; colui che sa di non sapere...\n
  77. Ma dobbiamo anche renderci conto che abbiamo a disposizione strumenti che non sono disponibili alle altre discipline\n
  78. Come il TDD.\n
  79. \n
  80. O possiamo sperimentarne di altri. Non deve essere faticoso imparare. Anzi.\n
  81. L&amp;#x2019;ecosistema &amp;#xE8; importante.\n
  82. \n
  83. Apparentemente il nostro contributo pare limitarsi alla formalizzazione di un modello per un dominio complesso. Il punto &amp;#xE8; che in dominii non ancora ben consolidati c&amp;#x2019;&amp;#xE8; un sacco di spazio per l&amp;#x2019;esplorazione e per capire bene cosa sia il modello.\n\nNella realt&amp;#xE0; dei fatti, questo accade anche per dominii consolidati. Dove tutti fanno la stessa cosa e dove un approccio sperimentale pu&amp;#xF2; ribaltare il tavolo e definire un nuovo paradigma. Succede. Succede solo provando. Pu&amp;#xF2; succedere a noi.\n
  84. Un alto elemento chiave dell&amp;#x2019;approccio &amp;#xE8; quello dell&amp;#x2019;introduzione dei buonded context ad ogni livello della discussione. Non esiste un modello unico. Esiste un contesto in cui questo modello &amp;#xE8; il migliore che conosciamo. Per risolvere un altro problema in un altro contesto, esiste un altro modello.\n
  85. E ...SORPRESA! DDD non &amp;#xE8; uno stile architetturale o un&amp;#x2019;architettura. Se nel 2004 il Domain Model Pattern era l&amp;#x2019;unica alternativa visibile nel panorama dell&amp;#x2019;epoca, non significa che sia un vincolo irrinunciabile.\n\nIn generale tutto l&amp;#x2019;aspetto dell&amp;#x2019;architettura diventa in DDD supporting. E diverse sono le alternative possibili. Il tutto nel rispetto dei principi e dei valori di DDD.\n
  86. E&amp;#x2019; interessante notare che in tutti questi approcci, gli aggregati restano centrali.\n\nHo incluso anche DCI... s&amp;#xEC;. Date un&amp;#x2019;occhiata a Qi4J e ne riparliamo.\n
  87. Ecco un aspetto che &amp;#xE8; mutato sottotraccia rispetto al 2004. Nella stesura originale, DDD e una Rich UI sono presentati come concetti antitetici. Ma nel 2011 rinunciare a una Rich UI &amp;#xE8; probabilmente una scelta strategicamente suicida. Non dimentichiamoci che sono stati fatti passi da gigante in quel settore.\n
  88. In generale, quello che &amp;#xE8; interessante &amp;#xE8; vedere come esistano differenti approcci alla gestione nella complessit&amp;#xE0; con i quali possiamo trovare dei punti in comune.\n
  89. Se siamo stati bravi - ma solo se siamo stati bravi - la maggior parte della complessit&amp;#xE0; &amp;#xE8; nascosta all&amp;#x2019;utente, che nel suo percorso di interazione con il nostro sistema ne vede solo una porzione.\nDal punto di vista della UX (grazie a Gianluca Brugnoli che mi ha illuminato sull&amp;#x2019;argomento) questi sono Touch Points. Dal punto di vista dell&amp;#x2019;applicazione sono Use Case. Sono la stessa cosa. ...non tutti i Touch Points sono Use Case per&amp;#xF2;&amp;#x2026; alcune interazioni sono con il cassiere allo sportello, con il treno, etc.\n
  90. Se siamo stati bravi - ma solo se siamo stati bravi - la maggior parte della complessit&amp;#xE0; &amp;#xE8; nascosta all&amp;#x2019;utente, che nel suo percorso di interazione con il nostro sistema ne vede solo una porzione.\nDal punto di vista della UX (grazie a Gianluca Brugnoli che mi ha illuminato sull&amp;#x2019;argomento) questi sono Touch Points. Dal punto di vista dell&amp;#x2019;applicazione sono Use Case. Sono la stessa cosa. ...non tutti i Touch Points sono Use Case per&amp;#xF2;&amp;#x2026; alcune interazioni sono con il cassiere allo sportello, con il treno, etc.\n
  91. Se siamo stati bravi - ma solo se siamo stati bravi - la maggior parte della complessit&amp;#xE0; &amp;#xE8; nascosta all&amp;#x2019;utente, che nel suo percorso di interazione con il nostro sistema ne vede solo una porzione.\nDal punto di vista della UX (grazie a Gianluca Brugnoli che mi ha illuminato sull&amp;#x2019;argomento) questi sono Touch Points. Dal punto di vista dell&amp;#x2019;applicazione sono Use Case. Sono la stessa cosa. ...non tutti i Touch Points sono Use Case per&amp;#xF2;&amp;#x2026; alcune interazioni sono con il cassiere allo sportello, con il treno, etc.\n
  92. Se siamo stati bravi - ma solo se siamo stati bravi - la maggior parte della complessit&amp;#xE0; &amp;#xE8; nascosta all&amp;#x2019;utente, che nel suo percorso di interazione con il nostro sistema ne vede solo una porzione.\nDal punto di vista della UX (grazie a Gianluca Brugnoli che mi ha illuminato sull&amp;#x2019;argomento) questi sono Touch Points. Dal punto di vista dell&amp;#x2019;applicazione sono Use Case. Sono la stessa cosa. ...non tutti i Touch Points sono Use Case per&amp;#xF2;&amp;#x2026; alcune interazioni sono con il cassiere allo sportello, con il treno, etc.\n
  93. Se siamo stati bravi - ma solo se siamo stati bravi - la maggior parte della complessit&amp;#xE0; &amp;#xE8; nascosta all&amp;#x2019;utente, che nel suo percorso di interazione con il nostro sistema ne vede solo una porzione.\nDal punto di vista della UX (grazie a Gianluca Brugnoli che mi ha illuminato sull&amp;#x2019;argomento) questi sono Touch Points. Dal punto di vista dell&amp;#x2019;applicazione sono Use Case. Sono la stessa cosa. ...non tutti i Touch Points sono Use Case per&amp;#xF2;&amp;#x2026; alcune interazioni sono con il cassiere allo sportello, con il treno, etc.\n
  94. Se siamo stati bravi - ma solo se siamo stati bravi - la maggior parte della complessit&amp;#xE0; &amp;#xE8; nascosta all&amp;#x2019;utente, che nel suo percorso di interazione con il nostro sistema ne vede solo una porzione.\nDal punto di vista della UX (grazie a Gianluca Brugnoli che mi ha illuminato sull&amp;#x2019;argomento) questi sono Touch Points. Dal punto di vista dell&amp;#x2019;applicazione sono Use Case. Sono la stessa cosa. ...non tutti i Touch Points sono Use Case per&amp;#xF2;&amp;#x2026; alcune interazioni sono con il cassiere allo sportello, con il treno, etc.\n
  95. Il punto &amp;#xE8; che ...se c&amp;#x2019;&amp;#xE8; qualcuno oltre a noi che &amp;#xE8; interessato a questioni come l&amp;#x2019;integrit&amp;#xE0; concettuale o alla consistenza del linguaggio attraverso un&amp;#x2019;interazione con la nostra applicazione, questo &amp;#xE8; una persona con cui di solito non parliamo molto: l&amp;#x2019;architetto dell&amp;#x2019;informazione.\n\nOffritegli un caff&amp;#xE8;. Ne vale la pena.\n
  96. Troppa energia e troppa fatica. Non aspettatevi una nuova edizione del blue book.\n\nMa dovrebbe essere evidente che &amp;#xE8; stato progettato per avere un&amp;#x2019;obsolescenza molto meno rapida di tanti altri. Il focus &amp;#xE8; sui principi, e restano sostanzialmente validi.\n
  97. E quindi ci limitiamo ad essere una societ&amp;#xE0; segreta che discute sulle interpretazioni di un unico libro?\n
  98. Non proprio. Uno dei punti forti del Summit &amp;#xE8; stata anche la decisione di uno sforzo collettivo per pubblicare materiale\n
  99. Date un&amp;#x2019;occhiata al sito ufficiale DDD, stay tuned.\n
  100. \n
  101. \n
  102. E&amp;#x2019; forse stata una delle parti pi&amp;#xF9; difficili del summit. Convergere sul perch&amp;#xE9;.\nIl fatto &amp;#xE8; che ci piace, &amp;#xE8; utile, ci fa sentire bene. Ma fondamentalmente restiamo dei professionisti dello sviluppo software che stanno cercando il modo migliore per scrivere software utile per risolvere i problemi di qualcuno, da qualche parte del mondo.\n
  103. Ok, if that&amp;#x2019;s the answer... If you really like that and think that&amp;#x2019;s the best possible world... then I don&amp;#x2019;t have so much to tell you.\n