BPMN 2.0 Descriptive Example - Build or Buy Software

In this example, we will document the high-level decision process by which an architect decides whether to develop software in-house to satisfy a business need or to buy a solution from a third party.

  1. Identify the participants in your process and use the Pool tool to create one or more swimming pools to represent them. To add a second lane to a pool, click on the existing pool with the tool.
    Generally you will want one pool containing two or more lanes to represent your organization, and there may be a second pool with a single lane to represent a third party organization with whom you exchange messages. In this example, Bizco identifies the participants Business, Architect, and Dev Team along with an external software company.
    BPMN Descriptive Example - Software Development Lanes Only
  2. Identify who initiates the process and create a start object in their lane using the Start Event tool.
    In this example, the business initiates the process by identifying a business need:
    BPMN Descriptive Example - Software Development with Start
  3. Specify the activities that each participant undertakes during the process using the Task tool or one of its variants. You can reorder activities or move them from one participant to another by dragging and dropping them.

    You should generally limit the number of activities in a diagram to around 10-15. If you want to go into more detail about a particular activity, create it using the Sub-Process tool, or press CTRL and double-click it to "decompose" it and enter into a sub-diagram where you can enter all of the "sub-activities" that are involved in it. For detailed information about working with and navigating in a hierarchy of processes, see Decomposing Processes.

    You can use the Exclusive Gateway tool to create a split in the flow of activities to model situations where what is done depends on some condition. When your activities are more or less in place, create flows between them using the Sequence Flow tool. When communicating between pools, use the Message Flow tool. To show that your process terminates, use the End Event tool.

    Note: Since we cannot see inside a third party's processes, we often do not show individual activities inside their pool and just show message flows to and from the pool, which remains, for the purposes of our model, a "black box".
    In this example, the Architect is expected to interpret the need of the business by writing requirements. She will decide if the company should develop a solution in-house or seek a quotation from the third party software company and obtain specification information from the development team or a quotation from the external supplier. Finally she will publish her solution to business who will seek funding for it:
    BPMN Descriptive Example - Software Development