Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

The Domain-Driven Coding Architect

771 views

Published on

How can a new perspective of Domain-Driven Design help us to architect sociotechnical systems in the new world of continuous discovery and delivery?

Published in: Technology
  • Thought I would reach out and say thank you for your talk in SwanseaCon yesterday. One of the best talked given over the two days!
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

The Domain-Driven Coding Architect

  1. 1. NICK TUNE @NTCODING THE DOMAIN-DRIVEN CODING ARCHITECT
  2. 2. ntcoding DEVELOPERS ARE EVOLVING!
  3. 3. ntcoding “ Consistently the best source of new ideas are the developers!… 
 Good teams ensure their engineers contribute to make the product better — Marty Cagan (@cagan)
  4. 4. ntcoding
  5. 5. ntcoding CONTINUOUS DISCOVERY & DELIVERY Discovery Track Delivery TrackCross-functional Product Team
  6. 6. ntcoding “The whole team get involved in research sessions and meeting users so they can empathise with people who use the services we’re building — Simon Hurst User Researcher at Coop
  7. 7. ntcoding TOP SOURCES OF PRODUCT IDEAS DIRECT CUSTOMER FEEDBACK 80 % TEAM BRAINSTORMING 64 % SALES TEAM 53 % EXECUTIVE ORDER 51 % * % respondents who agreed. Source: Alpha UX Product Management Insights 2017
  8. 8. ntcoding “ ” [company] regularly send their developers to work on farms with their customers [farmers] Melissa Perri CEO Produx Labs @lissijean
  9. 9. ntcoding
  10. 10. ntcoding Credit: Twitter/Corby Policy
  11. 11. ntcoding Credit: Beth/alltech.com
  12. 12. ntcoding Credit: Savioke
  13. 13. ntcoding EGO SLIDE Nick Tune Principal Engineer, Salesforce
  14. 14. ntcoding How can a new perspective of DDD help us architect for continuous discovery and delivery?
  15. 15. #1 LEARNING TO FOCUS ON THE CORE DOMAIN
  16. 16. ntcoding I’ve been on a DDD course!
 So I am right and they are wrong!
  17. 17. ntcoding “ ” The CORE DOMAIN is where the most value should be added in your system.
  18. 18. ntcoding “ [non-core] parts of the system seem interesting to computer scientists, and provide better resume material. The core ends up being put together by less skilled developers — Eric Evans (@ericevans0)
  19. 19. ntcoding
  20. 20. ntcoding LESSONS LEARNED • DDD: focus architecture on business core, not just technical patterns • Need to understand business to find core • Learn concepts like Business Model Canvas to understand business
  21. 21. ntcoding Architecture Business Core Domains
  22. 22. ntcoding WHAT IS CORE CAN CHANGE… Slack started life as an internal chat system. It is now the core domain worth $4bn.
  23. 23. #2 DISCOVERING THE DOMAIN VISION
  24. 24. ntcoding
  25. 25. ntcoding “…teams write “vision statements” for management. These documents lay out the specific value the application will bring to the organization. — Eric Evans (@ericevans0)
  26. 26. ntcoding VISION STATEMENT We are a music company. We help the planet’s greatest artists and biggest hidden talents share their amazing music with the entire world.
  27. 27. ntcoding LESSONS LEARNED • Business vision guides the strategy • Vision empowers teams to keep architecture aligned to business goals • Vision is communicated as some form of vision statement
  28. 28. ntcoding MAP YOUR INNOVATION PORTFOLIO
  29. 29. ntcoding Archit- ecture Business Vision Business Strategy
  30. 30. #3 DOMAIN-DRIVEN ORGANISATION DESIGN
  31. 31. ntcoding So many meetings! Waaaaaaa!
  32. 32. ntcoding “ [bounded contexts] must guide design decisions to reduce the interdependence of parts [code & teams]. 
 …these two groups had different models, but they did not realize it — Eric Evans (@ericevans0)
  33. 33. ntcoding “ The CONTEXT MAP charts the territory, giving the big picture of the CONTEXTS and their connections… — Eric Evans (@ericevans0)
  34. 34. ntcoding MULTIPLE HIDDEN CONTEXTS USER
  35. 35. ntcoding MULTIPLE BOUNDED CONTEXTS USER USER USER
  36. 36. ntcoding
  37. 37. ntcoding
  38. 38. ntcoding LESSONS LEARNED • Bounded contexts decouple PARTS • Parts = teams & code • Find contexts that minimise bottlenecks to make teams autonomous • Use context maps to design & communicate
 boundaries
  39. 39. ntcoding Software architecture Sociotechnical Systems Architecture
  40. 40. ntcoding Tech Design Business Vision Business Strategy Organisation Design Architecture
  41. 41. #4 ARCHITECTING FOR CONTINUOUS DISCOVERY & DELIVERY
  42. 42. ntcoding BECOME A STRATEGIC DDD ARCHITECT • Find and exploit core domains • Learn Business Model Canvas • Identify innovation aligned with vision • Find the vision statement • Architecture = code & organisation design • Align teams with *real* bounded contexts
  43. 43. ntcoding YOU NOW HAVE SUPERPOWERS Photo: https://www.flickr.com/photos/lizswezey2/15314187570
  44. 44. ntcoding Black Ops DDD with the Business Model Canvas Javier Fernandez Watch: bit.ly/alignment-experiment
  45. 45. ntcoding READ IT PROPERLY THIS TIME!
  46. 46. ntcoding MORE… ntcoding.co.uk/workshops ntcoding.co.uk/blog ntcoding.co.uk/speaking @ntcoding /in/ntcoding

×