Dragon1 Naming Conventions

Giving unambiguous and sustainable names to entities in models and diagrams is one of the hardest things. Using one consistent naming scheme in your team or throughout the organization is also hard, but it is a recommended practice.

To prevent duplicate items, sometimes with a slightly different name or a typo/mistake, it is wise to create a naming convention.

Dragon1 promotes the following naming convention:

  • Differentiate between classes, types, and instances. Suppose you have a business process called online customer sales management, the entityclass is called Process, the type is Business, and the entity instance is Online Customer Sales. (Try not to use the word management in processes, but in functions).
  • If you create a model with types, use only type names, not classes or instances. Try not to mix them up. So, for types, use words that indicate types. A vendor name, standard, or technology is often not suited for a class or type name, but it is for an instance name. For instance, CRM vs Salesforce.
  • If you want to name an entity class in your model or diagram, use one term, like Process or Service
  • If you want to name an entity type, use a single dot prefix: Business.Process
  • To name an entity instance, use a double dot prefix: Amsterdam Sales.Business.Process
  • If you give the process or processes a name, agree on the number of parts it consists of and how you use verbs, nouns, and adjectives. Dragon1 promotes this setting: [adjective] [object] [action]
    • Provisioning service online ==> Online Service Provisioning
    • Selling Goods Business to Business ==> B2B Sales
    • Delivering Primary Care ==> Primary Care Delivery
    • Selling Drugs to Patients ==> Patient Drug Sales
  • If you want to name a software application in a model or diagram, be sure what type of entity you are giving a name and what type of name you are giving it. Applications can have an instance name: technical, functional, or internal, a type name, and a class name.
    • Entity Class Name: Is it an Information System? Application? Module? Software?
    • Type Name: CRM Information System, CRM Application Suite
    • Instance Name: mscrmdynamics.exe or USA-East Sales Force or Insurance Customers Database
  • Store your naming conventions, generate a document from it, and regularly check the compliance of your data, models, and visualizations.