Exercises
1. Who should be able to contribute to the definition of a ubiquitous language?
a. Domain experts
b. Software engineers
c. End users
d. All of the project’s stakeholders
2. Where should a ubiquitous language be used?
a. In-person conversations
b. Documentation
c. Code
d. All of the above
3. Please review the description of the fictional WolfDesk company in the Preface. What business domain terminology can you spot in the description?
4. Consider a software project you are working on at the moment or worked on in the past:
a. Try to come up with concepts of the business domain that you could use in conversations with domain experts.
b. Try to identify examples of inconsistent terms: business domain concepts that have either different meanings or identical concepts represented by different terms.
c. Have you encountered software development inefficiencies that resulted from poor communication?
5. Assume you are working on a project and you notice that domain experts from different organizational units use the same term, for example, policy, to describe unrelated concepts of the business domain.
The resultant ubiquitous language is based on domain experts’ mental models but fails to fulfill the requirement of a term having a single meaning.
Before you continue to the next chapter, how would you address such a conundrum?
![]() |