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.
In order 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 and 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
- If you want 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 of which it consists 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 and 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 and generate a document from it and regularly check the compliance of your data, models, and visualizations.