Skip to content

ddd-crew/ddd-familiarity-assessment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 

Repository files navigation

DDD Familiarity Assessment

The DDD Familiarity Assessment goal is to provide you with a set of questions to assess the DDD knowledge within your organization.

⚠️ DDD Familiarity Assessment does not intend to be a Maturity Model, and it should not be used as such.

Instead, we expect to help organizations identify DDD knowledge gaps and use the results to prepare learnings, training, or similar to fill those gaps.

:information: You can copy the Google Form Template here

Familiarity Assessment Survey

  • How do you assess yourself on DDD? (choose one)

    • ( ) Never used
    • ( ) I'm familiar with the concepts
    • ( ) I used some of the concepts in the company
    • ( ) Expert. Used in several scenarios, failed and learned from the mistakes, and being able to teach others.
  • How do you assess yourself on the Strategic Design of DDD? (choose one)

    • ( ) I don't know what do you mean
    • ( ) I'm familiar with the concepts
    • ( ) I used some of the concepts in the company
    • ( ) Practitioner
    • ( ) Expert. Used in several scenarios, failed and learned from the mistakes, and being able to teach others.
  • How do you assess yourself on the Tactical Design of DDD? (choose one)

    • ( ) Never used
    • ( ) I'm familiar with the concepts
    • ( ) I used some of the concepts in the company
    • ( ) Practitioner
    • ( ) Expert. Used in several scenarios, failed and learned from the mistakes, and being able to teach others.
  • Which sources have you used to learn about Domain-Driven Design? (Multiple choices)

    • Book: Domain-Driven Design by Erik Evans
    • Book: Implementing Domain-Driven Design by Vaughn Vernon
    • Book: Domain-Driven Design Distilled by Vaughn Vernon
    • Book: Learning Domain-Driven Design: Aligning Software Architecture and Business Strategy by Vladik Khononov
    • Book: Patterns, Principles, and Practices of Domain-Driven Design by Scott Millett
    • Book: Strategic Monoliths and Microservices by Vaughn Vernon
    • Conferences
    • Blogs and Online Resources
    • Workshops and Trainings
    • Others... (open text)

General DDD Concepts

  • Which is the most important thing about DDD in your opinion? (Open text)

  • What is a Domain Model? (Open Text)

  • What is Domain Modelling? (Open Text)

  • In which scenarios you used DDD? and which part of it? Why? DDD isn't all or nothing. It's more a grayscale (Open Text)

  • In which scenario you used DDD but it turned out to be a bad idea? Why? (Open Text)

  • DDD helps you in (Multiple choices)

    • Manage Business Complexity
    • Manage Technical Complexity
    • Define good Microservices
    • Have good Architecture because of Tactical Patterns
    • Other... (Open text)
  • What's a Big Ball of Mud? (Open text)

Strategic Design

  • Which Strategic Patterns are you familiar with? (Multiple choices)

    • Bounded Contexts
    • Ubiquitous Language
    • Core Domain and Subdomains
    • Context Mapping
    • Other... (Open text)
  • How do you identify a Bounded Context? (Open text)

  • How do you know a Bounded Context is Core Domain? (Open text)

  • How do you know a Bounded Context is Supportive Subdomain? (Open text)

  • How do you know a Bounded Context is a Generic Subdomain? (Open text)

  • How do you differentiate between them? (Open text)

  • What's Context Mapping used for? (Open text)

  • Which kind of Context Mappings do you know? (Open text)

Domain Modelling with Event Storming

  • Are you familiar with Event Storming? (Choose one)

    • ( ) No
    • ( ) I read about it
    • ( ) I participated in few (< 10)
    • ( ) I participated in several sessions ( >= 10)
    • ( ) I facilitated several sessions ( assume here you also participated in several )
  • What's needed to run an Event Storming? (Open text)

  • What's the main goal of an Event Storming? (Open text)

  • How does Event Storming relate to Strategic Design and Tactical Design? (Open text)

Tactical Design

  • Would you apply Hexagonal Architecture and DDD together. Why (or why not)? (Open text)

  • Would you apply Layered Architecture together. Why (or why not)? (Open text)

  • Would you rather use some other Architecture style? Why? (Open text)

  • Which patterns did you use? (Multiple choices)

    • Domain Service
    • Domain Event
    • Aggregate
    • Repository
    • Entity
    • Value Object
    • CQRS
    • Event Sourcing
    • Other... (Open text)
  • When have you used a Domain Service? (Open text)

  • What is a Domain Event, what is its role, main characteristics? (Open text)

  • When have you used an Aggregate? (Open text)

  • When have you used a Repository? (Open text)

  • When have you used an Entity? (Open text)

  • When have you used a Value Object? (Open text)

  • When have you used CQRS? (Open text)

  • In which scenarios do you use Event Sourcing? In which don't? (Open text)

Your experience with DDD

  • Where did you struggle the most with DDD? (Open text)

  • Which is your biggest challenge when doing DDD? (Open text)

  • What is the thing that you found that people are mistaken about DDD? (Open text)

  • How would you address a Big Ball of Mud? (Open text)

Contributors

Thanks to all existing and future contributors who have contributed to the DDD Familiarity Assessment.

Contributions, Questions, and Feedback

The DDD Familiarity Assessment is freely available for you to use. In addition, your feedback and ideas are welcome to improve it or to create new versions.

If you have a question, you can ping us or open an Issue.

Feel free to also send us a pull request with your examples.

CC BY 4.0

This work is licensed under a Creative Commons Attribution 4.0 International License.

CC BY 4.0

About

WIP: A new repository in the discussion phase

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •