SlideShare a Scribd company logo
DOMAIN DRIVEN DESIGN
         AND THE SEMANTIC WEB AT THE BBC
DATE                   SPEAKERS
       14/10/2011                 PAUL RISSEN, JAMES HOWARD, SILVER OLIVER
THE GOOD OLD DAYS?
TOO MANY MANUALLY MANAGED PAGES
CLEAR YOUR MIND
WHAT IS DOMAIN DRIVEN DESIGN, ANYWAY?
GET INSIDE THE HEADS OF YOUR USERS
USER RESEARCH - TALK AND SKETCH OUT HOW THEY SEE THE WORLD
USE THEIR LANGUAGE
WELL, PERHAPS NOT ALL THEIR LANGUAGE...
ASK QUESTIONS
NEVER STOP TRYING TO UNDERSTAND THE DOMAIN
GET THE BALANCE RIGHT
COMPLEXITY BEHIND THE SCENES, SIMPLICITY UP FRONT
THINGS, NOT PAGES
PEOPLE DON’T CARE ABOUT THE DOCUMENTS
IT’S THE LINKS THAT MATTER
“EVERYTHING IS DEEPLY INTERTWINGLED” - TED NELSON
AN EXAMPLE - THE FOOTBALL DOMAIN
COMPETITION       GROUP         STADIUM




      MATCH           TEAM         PLAYER

AN EXAMPLE - THE FOOTBALL DOMAIN
THE THINGS
THE DOMAIN OBJECTS
END OF THE LINES
SOMETHING, NOTHING, OR LOTS OF THINGS
END OF THE LINES
SOMETHING, NOTHING, OR LOTS OF THINGS
END OF THE LINES
SOMETHING, NOTHING, OR LOTS OF THINGS
CONNECTING COMBINATIONS
THE MOST COMMON ONES
THE CONNECTIONS
...BUT HOW ARE THEY CONNECTED?
READING THE RUNES
SUBJECT, PREDICATE, OBJECT
THE FIRST MODEL
COMMUNICATION IS THE KEY
URL DESIGN
WHY YOU SHOULD CARE ABOUT URLS
URL DESIGN
IT’S WHAT THE WEB WAS MADE FOR
A PAGE FOR EVERY TEAM
...AND A PAGE AGGREGATING ALL TEAMS
A PAGE FOR EVERY PLAYER
A LIST OF PLAYERS FOR A TEAM
A PAGE PER THING
...AND AGGREGATIONS, TOO
WHICH WIRE SHOULD YOU CUT?
COOL URIS DON’T CHANGE - DESIGNING FOR THE LONG TERM
THIS ONE?
HTTP://WWW.BBC.CO.UK/PROGRAMMES/B006TS0G
THIS ONE?
HTTP://WWW.BBC.CO.UK/PROGRAMMES/B00X338L
THIS ONE!
HTTP://WWW.BBC.CO.UK/PROGRAMMES/B00JNWLC
URL DESIGN
IT’S WHAT THE WEB WAS MADE FOR
THE SEMANTIC WEB
IT’S NOT THE DOCUMENTS THAT MATTER, IT’S THE THINGS THEY ARE ABOUT
THE SEMANTIC WEB
STITCHING INTO THE FABRIC OF THE WEB
- INVESTIGATE AND UNDERSTAND THE DOMAIN OF YOUR PRODUCT
- A COMMON LANGUAGE BETWEEN USERS,
  DEVELOPERS, DESIGNERS, PRODUCT MANAGERS
- A DOMAIN MODEL SHOWS YOU THE MOST
  IMPORTANT THINGS, AND HOW THEY’RE CONNECTED
- EVERYTHING SHOULD FLOW FROM THE MODEL -
 DATASTORE, DESIGNS, URL SCHEMAS
- ONE URL PER THING - MUST BE PERMANENT,
 NICE IF IT’S READABLE & HACKABLE
- SEARCH ENGINES ARE YOUR LEAST ABLE USER -
 DESIGN FOR THEM & ACCESSIBILITY WILL RESULT
- DESIGN FOR THE WEB FIRST, THEN MAKE APPROPRIATE
 REPRESENTATIONS FOR EACH PLATFORM


IN SUMMARY, THEN...
“HOW WE MAKE WEBSITES”
HTTP://WWW.BBC.CO.UK/BLOGS/RADIOLABS/2009/01/HOW_WE_MAKE_WEBSITES.SHTML



“DESIGNING FOR YOUR LEAST ABLE USER”
HTTP://WWW.BBC.CO.UK/BLOGS/RADIOLABS/2009/03/DESIGNING_FOR_YOUR_LEAST_ABLE.SHTML




IF YOU READ TWO THINGS AFTER THIS PRESENTATION, MAKE IT...
WHY SHOULD WE CARE ABOUT THIS?
WHAT WE’RE DOING NOW...
FOUR SCREENS, TEN PRODUCTS
THE FUTURE OF MULTIPLATFORM
CONTEXTUAL NAVIGATION
NATURAL, RELEVANT WAYS AROUND OUR CONTENT
BETTER WAYS OF WORKING
WORKING ACROSS TEAMS & PLATFORMS
THE WIDER WEB
PURVEYORS OF FINE INFORMATION
THANK YOU
ANY QUESTIONS?

More Related Content

What's hot

The Internet as Web Services: introduction to ReST
The Internet as Web Services: introduction to ReSTThe Internet as Web Services: introduction to ReST
The Internet as Web Services: introduction to ReSTBruno Kessler Foundation
 
Installation eclipse
Installation eclipseInstallation eclipse
Installation eclipsesrbhthkr
 
Integrated Design Project Presentation
Integrated Design Project PresentationIntegrated Design Project Presentation
Integrated Design Project PresentationMuhamad Faiz Zulkifly
 
Vulnerabilities of machine learning infrastructure
Vulnerabilities of machine learning infrastructureVulnerabilities of machine learning infrastructure
Vulnerabilities of machine learning infrastructureSergey Gordeychik
 
XR and the Future of Immersive Technology
XR and the Future of Immersive TechnologyXR and the Future of Immersive Technology
XR and the Future of Immersive TechnologyVincent Lau
 
UX STRAT Online 2021 Presentation by Kévin Boezennec, Singapore Bank
UX STRAT Online 2021 Presentation by Kévin Boezennec, Singapore BankUX STRAT Online 2021 Presentation by Kévin Boezennec, Singapore Bank
UX STRAT Online 2021 Presentation by Kévin Boezennec, Singapore BankUX STRAT
 
Augmented Reality Presentation
Augmented Reality PresentationAugmented Reality Presentation
Augmented Reality PresentationSJSU
 
Design engineering 2A report
Design engineering 2A reportDesign engineering 2A report
Design engineering 2A reporttirath prajapati
 
Getting Agile with Scrum
Getting Agile with ScrumGetting Agile with Scrum
Getting Agile with ScrumMike Cohn
 
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorHKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorLinaro
 
Headless - the future of e-commerce
Headless - the future of e-commerceHeadless - the future of e-commerce
Headless - the future of e-commerceJamie Maria Schouren
 
Technical Tips: Visual Regression Testing and Environment Comparison with Bac...
Technical Tips: Visual Regression Testing and Environment Comparison with Bac...Technical Tips: Visual Regression Testing and Environment Comparison with Bac...
Technical Tips: Visual Regression Testing and Environment Comparison with Bac...Building Blocks
 
Le Comptoir OCTO - Architecture Hexagonale & Clean architecture : bonnet blan...
Le Comptoir OCTO - Architecture Hexagonale & Clean architecture : bonnet blan...Le Comptoir OCTO - Architecture Hexagonale & Clean architecture : bonnet blan...
Le Comptoir OCTO - Architecture Hexagonale & Clean architecture : bonnet blan...OCTO Technology
 
UX 101: A quick & dirty introduction to user experience strategy & design
UX 101: A quick & dirty introduction to user experience strategy & designUX 101: A quick & dirty introduction to user experience strategy & design
UX 101: A quick & dirty introduction to user experience strategy & designMorgan McKeagney
 
design engineering 2B report
design engineering 2B reportdesign engineering 2B report
design engineering 2B reporttirath prajapati
 
Motion & Gesture Interactions in the digital age
Motion & Gesture Interactions in the digital ageMotion & Gesture Interactions in the digital age
Motion & Gesture Interactions in the digital ageAntonio De Pasquale
 
1-01: Introduction To Web Development
1-01: Introduction To  Web  Development1-01: Introduction To  Web  Development
1-01: Introduction To Web Developmentapnwebdev
 

What's hot (20)

The Internet as Web Services: introduction to ReST
The Internet as Web Services: introduction to ReSTThe Internet as Web Services: introduction to ReST
The Internet as Web Services: introduction to ReST
 
Installation eclipse
Installation eclipseInstallation eclipse
Installation eclipse
 
Integrated Design Project Presentation
Integrated Design Project PresentationIntegrated Design Project Presentation
Integrated Design Project Presentation
 
Vulnerabilities of machine learning infrastructure
Vulnerabilities of machine learning infrastructureVulnerabilities of machine learning infrastructure
Vulnerabilities of machine learning infrastructure
 
XR and the Future of Immersive Technology
XR and the Future of Immersive TechnologyXR and the Future of Immersive Technology
XR and the Future of Immersive Technology
 
UX STRAT Online 2021 Presentation by Kévin Boezennec, Singapore Bank
UX STRAT Online 2021 Presentation by Kévin Boezennec, Singapore BankUX STRAT Online 2021 Presentation by Kévin Boezennec, Singapore Bank
UX STRAT Online 2021 Presentation by Kévin Boezennec, Singapore Bank
 
Augmented Reality Presentation
Augmented Reality PresentationAugmented Reality Presentation
Augmented Reality Presentation
 
3 d internet report
3 d internet report3 d internet report
3 d internet report
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web apps
 
Design engineering 2A report
Design engineering 2A reportDesign engineering 2A report
Design engineering 2A report
 
Getting Agile with Scrum
Getting Agile with ScrumGetting Agile with Scrum
Getting Agile with Scrum
 
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorHKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
 
Headless - the future of e-commerce
Headless - the future of e-commerceHeadless - the future of e-commerce
Headless - the future of e-commerce
 
UX/UI Design 101
UX/UI Design 101UX/UI Design 101
UX/UI Design 101
 
Technical Tips: Visual Regression Testing and Environment Comparison with Bac...
Technical Tips: Visual Regression Testing and Environment Comparison with Bac...Technical Tips: Visual Regression Testing and Environment Comparison with Bac...
Technical Tips: Visual Regression Testing and Environment Comparison with Bac...
 
Le Comptoir OCTO - Architecture Hexagonale & Clean architecture : bonnet blan...
Le Comptoir OCTO - Architecture Hexagonale & Clean architecture : bonnet blan...Le Comptoir OCTO - Architecture Hexagonale & Clean architecture : bonnet blan...
Le Comptoir OCTO - Architecture Hexagonale & Clean architecture : bonnet blan...
 
UX 101: A quick & dirty introduction to user experience strategy & design
UX 101: A quick & dirty introduction to user experience strategy & designUX 101: A quick & dirty introduction to user experience strategy & design
UX 101: A quick & dirty introduction to user experience strategy & design
 
design engineering 2B report
design engineering 2B reportdesign engineering 2B report
design engineering 2B report
 
Motion & Gesture Interactions in the digital age
Motion & Gesture Interactions in the digital ageMotion & Gesture Interactions in the digital age
Motion & Gesture Interactions in the digital age
 
1-01: Introduction To Web Development
1-01: Introduction To  Web  Development1-01: Introduction To  Web  Development
1-01: Introduction To Web Development
 

Viewers also liked

Setting Interface Foundations with IA
Setting Interface Foundations with IASetting Interface Foundations with IA
Setting Interface Foundations with IACarrie Hane
 
Domain-Driven Design at ZendCon 2012
Domain-Driven Design at ZendCon 2012Domain-Driven Design at ZendCon 2012
Domain-Driven Design at ZendCon 2012Bradley Holt
 
Model driven development using smart use cases and domain driven design
Model driven development using smart use cases and domain driven designModel driven development using smart use cases and domain driven design
Model driven development using smart use cases and domain driven designSander Hoogendoorn
 
IA/UX Spy School
IA/UX Spy SchoolIA/UX Spy School
IA/UX Spy SchoolJoe Dyer
 
Domain-Driven Design: The "What" and the "Why"
Domain-Driven Design: The "What" and the "Why"Domain-Driven Design: The "What" and the "Why"
Domain-Driven Design: The "What" and the "Why"bincangteknologi
 
SharePoint Information Architecture & Usability - SharePoint Saturday The Con...
SharePoint Information Architecture & Usability - SharePoint Saturday The Con...SharePoint Information Architecture & Usability - SharePoint Saturday The Con...
SharePoint Information Architecture & Usability - SharePoint Saturday The Con...Richard Harbridge
 
Effective IA For Portals: The Building Blocks Framework
Effective IA For Portals: The Building Blocks FrameworkEffective IA For Portals: The Building Blocks Framework
Effective IA For Portals: The Building Blocks FrameworkJoe Lamantia
 
UX Strategy as told by the paintings of Jan Steen
UX Strategy as told by the paintings of Jan SteenUX Strategy as told by the paintings of Jan Steen
UX Strategy as told by the paintings of Jan SteenJonathan Arnowitz
 
Agile development and domain driven design
Agile development and domain driven designAgile development and domain driven design
Agile development and domain driven designJacopo Romei
 
ZendCon 2011 UnCon Domain-Driven Design
ZendCon 2011 UnCon Domain-Driven DesignZendCon 2011 UnCon Domain-Driven Design
ZendCon 2011 UnCon Domain-Driven DesignBradley Holt
 
UX / IA Strategy - The Setup for Success
UX / IA Strategy - The Setup for SuccessUX / IA Strategy - The Setup for Success
UX / IA Strategy - The Setup for Successdeanrizzuto
 
Pervasive IA (IA Summit)
Pervasive IA (IA Summit)Pervasive IA (IA Summit)
Pervasive IA (IA Summit)Andrea Resmini
 
Introduction to Domain Driven Design
Introduction to Domain Driven DesignIntroduction to Domain Driven Design
Introduction to Domain Driven DesignChristos Tsakostas
 
Modelling a complex domain with Domain-Driven Design
Modelling a complex domain with Domain-Driven DesignModelling a complex domain with Domain-Driven Design
Modelling a complex domain with Domain-Driven DesignNaeem Sarfraz
 
Code & Cannoli - Domain Driven Design
Code & Cannoli - Domain Driven DesignCode & Cannoli - Domain Driven Design
Code & Cannoli - Domain Driven DesignFrank Levering
 
Domain-driven design
Domain-driven designDomain-driven design
Domain-driven designKnoldus Inc.
 
A visual introduction to Event Sourcing and CQRS
A visual introduction to Event Sourcing and CQRSA visual introduction to Event Sourcing and CQRS
A visual introduction to Event Sourcing and CQRSLorenzo Nicora
 
Domain Driven Design and Hexagonal Architecture with Rails
Domain Driven Design and Hexagonal Architecture with RailsDomain Driven Design and Hexagonal Architecture with Rails
Domain Driven Design and Hexagonal Architecture with RailsDeclan Whelan
 
Refactoring for Domain Driven Design
Refactoring for Domain Driven DesignRefactoring for Domain Driven Design
Refactoring for Domain Driven DesignDavid Berliner
 

Viewers also liked (20)

Setting Interface Foundations with IA
Setting Interface Foundations with IASetting Interface Foundations with IA
Setting Interface Foundations with IA
 
Domain-Driven Design at ZendCon 2012
Domain-Driven Design at ZendCon 2012Domain-Driven Design at ZendCon 2012
Domain-Driven Design at ZendCon 2012
 
Model driven development using smart use cases and domain driven design
Model driven development using smart use cases and domain driven designModel driven development using smart use cases and domain driven design
Model driven development using smart use cases and domain driven design
 
IA/UX Spy School
IA/UX Spy SchoolIA/UX Spy School
IA/UX Spy School
 
Domain-Driven Design: The "What" and the "Why"
Domain-Driven Design: The "What" and the "Why"Domain-Driven Design: The "What" and the "Why"
Domain-Driven Design: The "What" and the "Why"
 
SharePoint Information Architecture & Usability - SharePoint Saturday The Con...
SharePoint Information Architecture & Usability - SharePoint Saturday The Con...SharePoint Information Architecture & Usability - SharePoint Saturday The Con...
SharePoint Information Architecture & Usability - SharePoint Saturday The Con...
 
Effective IA For Portals: The Building Blocks Framework
Effective IA For Portals: The Building Blocks FrameworkEffective IA For Portals: The Building Blocks Framework
Effective IA For Portals: The Building Blocks Framework
 
UX Strategy as told by the paintings of Jan Steen
UX Strategy as told by the paintings of Jan SteenUX Strategy as told by the paintings of Jan Steen
UX Strategy as told by the paintings of Jan Steen
 
Agile development and domain driven design
Agile development and domain driven designAgile development and domain driven design
Agile development and domain driven design
 
ZendCon 2011 UnCon Domain-Driven Design
ZendCon 2011 UnCon Domain-Driven DesignZendCon 2011 UnCon Domain-Driven Design
ZendCon 2011 UnCon Domain-Driven Design
 
UX / IA Strategy - The Setup for Success
UX / IA Strategy - The Setup for SuccessUX / IA Strategy - The Setup for Success
UX / IA Strategy - The Setup for Success
 
Pervasive IA (IA Summit)
Pervasive IA (IA Summit)Pervasive IA (IA Summit)
Pervasive IA (IA Summit)
 
Introduction to Domain Driven Design
Introduction to Domain Driven DesignIntroduction to Domain Driven Design
Introduction to Domain Driven Design
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
Modelling a complex domain with Domain-Driven Design
Modelling a complex domain with Domain-Driven DesignModelling a complex domain with Domain-Driven Design
Modelling a complex domain with Domain-Driven Design
 
Code & Cannoli - Domain Driven Design
Code & Cannoli - Domain Driven DesignCode & Cannoli - Domain Driven Design
Code & Cannoli - Domain Driven Design
 
Domain-driven design
Domain-driven designDomain-driven design
Domain-driven design
 
A visual introduction to Event Sourcing and CQRS
A visual introduction to Event Sourcing and CQRSA visual introduction to Event Sourcing and CQRS
A visual introduction to Event Sourcing and CQRS
 
Domain Driven Design and Hexagonal Architecture with Rails
Domain Driven Design and Hexagonal Architecture with RailsDomain Driven Design and Hexagonal Architecture with Rails
Domain Driven Design and Hexagonal Architecture with Rails
 
Refactoring for Domain Driven Design
Refactoring for Domain Driven DesignRefactoring for Domain Driven Design
Refactoring for Domain Driven Design
 

Similar to An Introduction to Domain Driven Design for Product Managers

Responsive Design Workflow: Mobilism 2012
Responsive Design Workflow: Mobilism 2012Responsive Design Workflow: Mobilism 2012
Responsive Design Workflow: Mobilism 2012Stephen Hay
 
Responsive Design Workflow: Webshaped 2012
Responsive Design Workflow: Webshaped 2012Responsive Design Workflow: Webshaped 2012
Responsive Design Workflow: Webshaped 2012Stephen Hay
 
Responsive Design Workflow (Breaking Development Conference 2012 Orlando)
Responsive Design Workflow (Breaking Development Conference 2012 Orlando)Responsive Design Workflow (Breaking Development Conference 2012 Orlando)
Responsive Design Workflow (Breaking Development Conference 2012 Orlando)Stephen Hay
 
Webdesign New
Webdesign NewWebdesign New
Webdesign Newlyngdoh
 
Style Frameworks - w/o Notes
Style Frameworks - w/o NotesStyle Frameworks - w/o Notes
Style Frameworks - w/o NotesMarti Gold
 
2019-03 Recomendation Engine @ Confoo
2019-03 Recomendation Engine @ Confoo2019-03 Recomendation Engine @ Confoo
2019-03 Recomendation Engine @ Confooterry chay
 
Can we make es6 the baseline of the “modern web”? - BrazilJS 2105
Can we make es6 the baseline of the “modern web”? - BrazilJS 2105 Can we make es6 the baseline of the “modern web”? - BrazilJS 2105
Can we make es6 the baseline of the “modern web”? - BrazilJS 2105 Christian Heilmann
 
Beyond Squishy: The Principles of Adaptive Design
Beyond Squishy: The Principles of Adaptive DesignBeyond Squishy: The Principles of Adaptive Design
Beyond Squishy: The Principles of Adaptive DesignBrad Frost
 
Rwd is changing the world
Rwd is changing the world Rwd is changing the world
Rwd is changing the world Jeremy Osborn
 
Web Performance - Why it matters
Web Performance - Why it mattersWeb Performance - Why it matters
Web Performance - Why it mattersEnrico Foschi
 
The Campaign for the .nyc Top Level Domain
The Campaign for the .nyc Top Level Domain The Campaign for the .nyc Top Level Domain
The Campaign for the .nyc Top Level Domain Thomas Lowenhaupt
 
The State of the Web - Helsinki meetup
The State of the Web - Helsinki meetupThe State of the Web - Helsinki meetup
The State of the Web - Helsinki meetupChristian Heilmann
 
Fast and Easy Website Tune Ups
Fast and Easy Website Tune UpsFast and Easy Website Tune Ups
Fast and Easy Website Tune UpsJeff Wisniewski
 
Elegance Without Compromise
Elegance Without CompromiseElegance Without Compromise
Elegance Without CompromiseSimon Collison
 
Unit 4 Using The Internet
Unit 4   Using The InternetUnit 4   Using The Internet
Unit 4 Using The Internetc.west
 
Bournemouth 10/13
Bournemouth 10/13Bournemouth 10/13
Bournemouth 10/13moongolfer
 

Similar to An Introduction to Domain Driven Design for Product Managers (20)

Knowing Your Audience
Knowing Your AudienceKnowing Your Audience
Knowing Your Audience
 
Super resize me
Super resize meSuper resize me
Super resize me
 
Responsive Design Workflow: Mobilism 2012
Responsive Design Workflow: Mobilism 2012Responsive Design Workflow: Mobilism 2012
Responsive Design Workflow: Mobilism 2012
 
Responsive Design Workflow: Webshaped 2012
Responsive Design Workflow: Webshaped 2012Responsive Design Workflow: Webshaped 2012
Responsive Design Workflow: Webshaped 2012
 
Responsive Design Workflow (Breaking Development Conference 2012 Orlando)
Responsive Design Workflow (Breaking Development Conference 2012 Orlando)Responsive Design Workflow (Breaking Development Conference 2012 Orlando)
Responsive Design Workflow (Breaking Development Conference 2012 Orlando)
 
Webdesign New
Webdesign NewWebdesign New
Webdesign New
 
Style Frameworks - w/o Notes
Style Frameworks - w/o NotesStyle Frameworks - w/o Notes
Style Frameworks - w/o Notes
 
2019-03 Recomendation Engine @ Confoo
2019-03 Recomendation Engine @ Confoo2019-03 Recomendation Engine @ Confoo
2019-03 Recomendation Engine @ Confoo
 
When?
When?When?
When?
 
Can we make es6 the baseline of the “modern web”? - BrazilJS 2105
Can we make es6 the baseline of the “modern web”? - BrazilJS 2105 Can we make es6 the baseline of the “modern web”? - BrazilJS 2105
Can we make es6 the baseline of the “modern web”? - BrazilJS 2105
 
Beyond Squishy: The Principles of Adaptive Design
Beyond Squishy: The Principles of Adaptive DesignBeyond Squishy: The Principles of Adaptive Design
Beyond Squishy: The Principles of Adaptive Design
 
Rwd is changing the world
Rwd is changing the world Rwd is changing the world
Rwd is changing the world
 
10 steps 3
10 steps   310 steps   3
10 steps 3
 
Web Performance - Why it matters
Web Performance - Why it mattersWeb Performance - Why it matters
Web Performance - Why it matters
 
The Campaign for the .nyc Top Level Domain
The Campaign for the .nyc Top Level Domain The Campaign for the .nyc Top Level Domain
The Campaign for the .nyc Top Level Domain
 
The State of the Web - Helsinki meetup
The State of the Web - Helsinki meetupThe State of the Web - Helsinki meetup
The State of the Web - Helsinki meetup
 
Fast and Easy Website Tune Ups
Fast and Easy Website Tune UpsFast and Easy Website Tune Ups
Fast and Easy Website Tune Ups
 
Elegance Without Compromise
Elegance Without CompromiseElegance Without Compromise
Elegance Without Compromise
 
Unit 4 Using The Internet
Unit 4   Using The InternetUnit 4   Using The Internet
Unit 4 Using The Internet
 
Bournemouth 10/13
Bournemouth 10/13Bournemouth 10/13
Bournemouth 10/13
 

Recently uploaded

When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...Elena Simperl
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxDavid Michel
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxAbida Shariff
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...Product School
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlPeter Udo Diehl
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka DoktorováCzechDreamin
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCzechDreamin
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1DianaGray10
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeCzechDreamin
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Product School
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoTAnalytics
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyJohn Staveley
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsExpeed Software
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...CzechDreamin
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Product School
 

Recently uploaded (20)

When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 

An Introduction to Domain Driven Design for Product Managers

Editor's Notes

  1. Hello - I’m here to talk about Domain Driven Design (and the Semantic Web) at the BBC.\n\n“Common Sense, made complicated.” not really. It’s easy.\n
  2. - There were* approx. 320 manually managed indexes\n on the BBC Sport site\n - 150 or so in football, 22 rugby clubs, 30 cricket teams\n \n - But we are missing some important ones:\n - No competition pages (e.g. Premier League, Champions League)\n - FC Barcelona\n - Real Madrid C.F.\n - F1 teams and drivers\n \n - All would have value from an audience & business perspective.\n \n \n *= we have recently launched dynamically-aggregated football team pages\n\nI was responsible for design\nFrustrated at limitations of system\n\n\nCurrently there are too many pages to manage manually for a small editorial team 7 days a week\nWe need to drastically reduce the number of pages that are manually managed - by approximately 300\n\nThere are approx 320 manually managed ‘indexes’ - 150 or so in football, rugby teams, cricket teams and further ambitions around F1\nDifficult to integrate statistical information with editorial\nwhich is why the metadata and tagging projects are an integral part of long term strategy\n\n
  3. The first step is to relax. Forget about the product. Forget about the website.\n\nIn a nutshell, DDD is about designing around the subject area of interest to your defined user group.\n\nAnd that’s pretty much it.\n\nWhat I’m going to talk about:\n\n- The DDD process and why it’s a good thing.\n- A couple of techniques - Domain Modelling and URL design\n- How this fits into the “One BBC, four devices” strategy\n- How this fits in to the wider Web\n\n\n
  4. OK, so the process. It’s all about understanding how your users (and indeed, you and your development team) think about the domain.\n\nDDD involves users from the beginning and every stage throughout the process - talk to users about the domain, make notes on the words they use and use those words all the way up the stack.\n
  5. The idea here is that by taking note of how your users refer to things, the whole development team can use the same language - al the way up and down the development stack - from database to CSS mark-up.\n\nA shared language = better communication = a better product.\n
  6. Never stop trying to understand the domain. James - sports competitions with defined structure vs editorial defined things e.g. Premier League, Wildlife Finder (Linnaenan Taxonomy) etc vs ‘Libya in Crisis’\n\nYou’re probably not going to get it right first time. Don’t worry. Keep talking to users, keep sketching - refine your understanding.\n
  7. Another important thing here is the balance between experts and casual users - the experts probably have a very detailed understanding of the domain - which is great, but it might not be what you want to present to the majority of the audience.\n\nGet the model right, and precise, behind the scenes, and then simplify as you go up the stack. This allows you to introduce new features easily, without huge development cost.\n\nIf you model it now, then that gives you hooks to build new functionality later - if you leave it out now, you’re accruing technical debt..\n
  8. Forget, for a short while, that you’re building a website. Just have a chat. Get involved. Understand the subject.\n\nNote down the concepts, the nouns, the things they talk about. Those will be your primary domain objects.\n\nYou’ll probably want to bear in mind some kind of scope, of course - so work out what the most important things are.\n
  9. After capturing the things, talk to your users about how those things are related - the verbs.\n\nThis will be important later, because it’s how we can make the product linked up in a coherent, natural way - one which fits how we make sense of the world.\n
  10. \n
  11. \n\n
  12. The easy bit, your nouns. The things people will want to talk about, will search for, will link to.\n
  13. \n
  14. One and only one = MUST\n\nZero and One/Many = CAN\n
  15. \n
  16. One to One = Is it the same thing?\n\nOne to Many = the most common - sometimes you might want to elaborate with ‘one and only one’, ‘zero or one’ etc.\n\nMany to Many = Suggests there’s something in the middle missing - but not always - all depends on what you’re trying to communicate.\n
  17. \n
  18. This can be a bit tricky - it takes a while to get used to it, but it’s just practise:\n\nA Stadium will host one or many Matches,\nA Match will take place at one and only one Stadium.\n\nThing, verb next to it, end of the line, other thing.\n
  19. The domain model is where you get everyone involved - a shared understanding of the model helps everyone work together to give the users want they want & need. \n
  20. Because it’s how Google works. If you care about SEO, if you care about your audience finding stuff, you should care about URL design.\nAlso, the Web has the potential to be the platform that supports all the other platforms - the 4 screens that Ralph talks about...they can all talk to, and fetch things from, the Web. Build it once, have it everywhere..\n
  21. What is persistent? This means that your URL for any given resource should be the same today, tomorrow, and in 5 years time. Why? If you start changing your URLs I won’t be able to find that page I really liked tomorrow, and my link to you that I’ve published on my site won’t work.\n\nWe need persistency, or our experience is broken. Readable is a delight – I like being able to read URLs. I don’t know what “all that rubbish” at the end of a URL is. Hackable improves my user experience.\n\n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. We’re not alone - link to external stuff as well (which is a BBC Trust requirement..)\n\nMusic editors contribute to Wikipedia, which is then brought in to BBC, also benefits wider web.\nSimilar with Wildlife Finder, and with Olympics & world cup, we’ve added our knowledge of stadia etc. which then everyone can use as a ‘public service’.\n
  33. \n
  34. \n
  35. \n
  36. Multi-platform:\n\nMake it easier to deliver 10 products to 4 screens\n\nAs content from different products is stored in the Content Store, we will increasingly be able to deliver richer experiences to mobile, IPTV and tablet devices, as well as desktop.\n
  37. Contextual (or horizontal) navigation around BBC content would also be made easier.\n\nAt the moment the existing static infrastructure makes it very difficult to link to other relevant content within the BBC.\n\nUsing a dynamic infrastructure will make it easier for us to link to other relevant products.\n
  38. Technology and publishing systems\n\nBegin working with the Newsgathering and other TV production teams to work out and define how we can keep data more consistent from programme creation to broadcast/web/mobile.\n
  39. External Suppliers\n\nStart discussions with external suppliers to use linked data and content identifiers to minimise distribution and processing costs of feeds and data.\n
  40. \n