Thursday, October 11, 2012

BPMN Naming Conventions

So far I have not found many references discussing BPMN naming conventions, and there is no official one. So I thought I share a few of mine that I developed over the years. Hope you can make use of it.

Most of them are captured in the following picture.


Unfortunately I cannot depict them all, so here are a few more:
  • Do not use the component type name in its name, for example do not use Expenses Process, Submit Expenses Activity, Expenses Rejected Exception.
  • Name a process so that its name fits in the following phrase: "the [Process Name] process", for example: "the Order Handling process".
  • Give an activity a short, but meaningful name. So:
    • Don't use uncommon abbreviations,
    • To keep the reader focused on the keywords, do not capitalize prepositions and possessive pronouns ("Review and Finalize Order"),
    • Avoid articles and pronouns ("Add Order Lines" instead of "Add all Lines to the Order").
  • Name Catch Events, Business Exceptions, and Signal Events so that is reads like an answer to the question: "What happened?", "Well the Customer Cancelled".

Like most naming conventions, the prime reason is to have consistency. So don't treat it like a religion, and don't think that mine are better than yours. Of course they are, but just don't think that. Most of them are more like a guideline.

To help you with your choice, consider this:
  • Using active verb-noun phrases is a psychological thing. Don't ask me why but somehow it helps your brains to determine the right scope of an activity. For example, one person may interpret Order Handling as one single activity (done by one person as one logical "transaction") while some other guy considers it to be a complete process. If you call it Handle Order that just "sounds" more like one single activity. It is not for nothing that this also is a de facto standard for use cases.
  • Using the question mark for exclusive gateways helps with limiting the amount of text you have to put in the diagram, as all conditions on the outgoing sequence flows read as a simple answer to the question of the gateway.
Let me know if you have some more, or when yours are better than mine!

7 comments:

  1. Anonymous7:48 AM

    This comment has been removed by a blog administrator.

    ReplyDelete
  2. Anonymous7:50 AM

    This comment has been removed by a blog administrator.

    ReplyDelete
  3. Anonymous9:56 AM

    Hi Jan,

    I think your conventions are fine. As an addendum: in the BPM11g OPN course it is stated to use Hungarian (java camelCase) notation for variables starting with a lowercase (like you would with a java variable or method-name). Use meaningful names for variables and differentiate between project, proces, activity variables and arguments (don't use the same name on different levels with overlapping scope).

    Hope this helps as well.

    Regards,
    Martien van den Akkker (blog.darwin-it.nl)

    ReplyDelete
  4. It sure does Martien. Not coincidentally it is in line with the conventions we use for my current customer.

    To add to this: it is good to realize that when you want to change the level of a variable that already is used, you just have to create it at the one level and delete it at the other one and the code keeps on compiling/

    ReplyDelete
  5. It sure does Martien. Not coincidentally it is in line with the conventions we use for my current customer.

    To add to this: it is good to realize that when you want to change the level of a variable that already is used, you just have to create it at the one level and delete it at the other one and the code keeps on compiling/

    ReplyDelete
  6. I think "BPMN: Method and Style" book by Bruce Silver provides excellent set of BPMN naming convention.

    ReplyDelete
  7. Anonymous11:11 AM

    good
    Kumpulan Obat Kemaluan Mengeluarkan Nanah
    Obat Kemaluan Mengeluarkan Nanah
    Kumpulan Obat Mengeluarkan Nanah
    Kumpulan Obat ampuh Kemaluan Mengeluarkan Nanah
    Kumpulan Obat kelamin Mengeluarkan Nanah
    Resep Obat Kemaluan Mengeluarkan Nanah
    Obat Kemaluan Mengeluarkan Nanah
    Resep Obat ampuh Kemaluan Mengeluarkan Nanah
    Resep Obat alami Kemaluan Mengeluarkan Nanah
    Resep Obat herbal Kemaluan Mengeluarkan Nanah
    Ramuan Obat Kemaluan Mengeluarkan Nanah
    Ramuan Obat ampuh Kemaluan Mengeluarkan Nanah
    Ramuan Obat alami Kemaluan Mengeluarkan Nanah
    Ramuan Obat Kelamin Mengeluarkan Nanah
    Ramuan Obat herbal Kemaluan Mengeluarkan Nanah
    Cari Obat Kemaluan Mengeluarkan Nanah
    Cari Obat Kelamin Mengeluarkan Nanah
    Cari pengobatan Kemaluan Mengeluarkan Nanah
    Cari Obat alami Kemaluan Mengeluarkan Nanah
    Cari Obat herbal Kemaluan Mengeluarkan Nanah
    Pusat Obat Kemaluan Mengeluarkan Nanah
    Pusat Obat Kelamin Mengeluarkan Nanah
    Pusat Obat alami Kemaluan Mengeluarkan Nanah
    Pusat Obat herbal Kemaluan Mengeluarkan Nanah
    Pusat Obat ampuh Kemaluan Mengeluarkan Nanah
    Penjual Obat Kemaluan Mengeluarkan Nanah
    Penjual Obat tradisional Kemaluan Mengeluarkan Nanah
    Penjual Obat alami Kemaluan Mengeluarkan Nanah
    Obat Kemaluan Mengeluarkan Nanah
    Penjual Obat herbal Kemaluan Mengeluarkan Nanah
    mengobati wasir atau ambeien
    mengobati wasir atau ambeyen
    mengobati wasir
    mengobati ambeien
    pengobatan wasir atau ambeien
    Cara Mengobati Wasir atau Ambeien
    Cara Mengobati Wasir
    Cara ampuh Mengobati Wasir atau Ambeien
    Cara Mengobati Ambeien
    Cara pengobatan Wasir atau Ambeien
    Cara Ampuh Mengobati Wasir atau Ambeien
    Cara Tradisional Mengobati Wasir atau Ambeien
    Cara Ampuh Mengobati Wasir
    Cara Ampuh Mengobati Wasir
    Cara Ampuh Mengobati Ambeien

    ReplyDelete