DDD eXchange 2010: Gojko Adzic on DDD, TDD, BDD
Upcoming SlideShare
Loading in...5
×
 

DDD eXchange 2010: Gojko Adzic on DDD, TDD, BDD

on

  • 3,612 views

Domain Driven Design is often misunderstood as something that advocates a lot of upfront design and at odds with the evolutionary design principles of test driven development. In this presentation, ...

Domain Driven Design is often misunderstood as something that advocates a lot of upfront design and at odds with the evolutionary design principles of test driven development. In this presentation, Gojko Adzic will talk about reconciling the two approaches and getting the best of both worlds, and how DDD ideas play a crucial role in behaviour driven development.

Statistics

Views

Total Views
3,612
Views on SlideShare
2,249
Embed Views
1,363

Actions

Likes
2
Downloads
39
Comments
1

9 Embeds 1,363

http://skillsmatter.com 1351
http://www.slideshare.net 2
http://85.92.73.37 2
http://webmail.skillsmatter.com 2
http://smash 2
http://85.92.75.112 1
http://webcache.googleusercontent.com 1
http://192.168.56.101 1
http://translate.googleusercontent.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • For more details and podcasts from the DDD eXchange 2010 go to http://skillsmatter.com/event-details/podcast/ddd-exchange-2010
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

DDD eXchange 2010: Gojko Adzic on DDD, TDD, BDD DDD eXchange 2010: Gojko Adzic on DDD, TDD, BDD Presentation Transcript

  • The three amigos @gojkoadzic
  •  
  •  
  •  
  •  
  •  
  • Effective models require a bigger picture … but KISS and YAGNI say don't... avoid BDUF
  • … feature injection gives us right-size chunks
  • Things can blow up during modelling...
    • … but domain experts often can't decide on scope
  • ...collaborative specifications cause things to blow up quicker
  • DDD advocates a ubiquitous language... … but it's very hard to ensure consistency
  • … evolve with specification workshops, enforce with tests
  • Domain experts don't really understand low level stuff
    • .... but where do we stop working with them?
  • ...BDD outside in boundaries ...TDD emergent design to flesh out details
  • Emergent design leads to too much inconsistency
    • … especially on big teams and across boundaries
  • … use DDD building block patterns as guidelines
  • Effective iterative design requires effective regression testing … but unit tests are bound to a particular design
  • … business oriented specifications do not change
  • We need to capture our models and what they mean
    • … but code is too low level and UML gets old very quickly...
  • … live specification can explain our models and dynamics
  • Emergent design advocates constant refactoring
    • … but in larger teams, refactoring cross cutting concerns can cause a ton of issues
  • … bounded contexts help us coordinate changes
  • Recipe for success
    • Use strategic design to decide what to build
    • Use feature injection to get the scope
    • Evolve a ubiquitous language with specification workshops
    • Establish guidelines with collaborative high-level domain design
    • TDD design below, respecting DDD guidelines
    • Use context mapping to facilitate cross team collaboration
  • Questions?
    • http://gojko.net
    • @gojkoadzic
    • [email_address]