Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
en:rule:micromanagement [2023-08-02 22:42] – created - external edit 127.0.0.1en:rule:micromanagement [2024-01-11 23:28] (current) – external edit 127.0.0.1
Line 1: Line 1:
 +====== Avoid micromanagement ======
 +
 +{{tag>task subprocess}}
 +
 +Activities executed by a single performer at a single workplace and within a limited timeframe should be modelled as a sinlge task, not as a series of tasks or a subprocess.
 +
 +===== ✔ How to =====
 +
 +<bpmnio type="bpmn">
 +<?xml version="1.0" encoding="UTF-8"?>
 +<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="sid-38422fae-e03e-43a3-bef4-bd33b32041b2" targetNamespace="http://bpmn.io/bpmn" exporter="http://bpmn.io" exporterVersion="0.10.1">
 +  <process id="Process_06fdsga">
 +    <manualTask id="Activity_01zvi3x" name="Prepare car for the trip" />
 +  </process>
 +  <bpmndi:BPMNDiagram id="BpmnDiagram_1">
 +    <bpmndi:BPMNPlane id="BpmnPlane_1" bpmnElement="Process_06fdsga">
 +      <bpmndi:BPMNShape id="Activity_1pisxd4_di" bpmnElement="Activity_01zvi3x">
 +        <omgdc:Bounds x="510" y="130" width="100" height="80" />
 +        <bpmndi:BPMNLabel />
 +      </bpmndi:BPMNShape>
 +    </bpmndi:BPMNPlane>
 +  </bpmndi:BPMNDiagram>
 +</definitions>
 +</bpmnio>
 +
 +===== ✘ How NOT To =====
 +
 +<bpmnio type="bpmn">
 +<?xml version="1.0" encoding="UTF-8"?>
 +<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="sid-38422fae-e03e-43a3-bef4-bd33b32041b2" targetNamespace="http://bpmn.io/bpmn" exporter="http://bpmn.io" exporterVersion="0.10.1">
 +  <process id="Process_1er8zdf">
 +    <sequenceFlow id="Flow_0q8h0gm" sourceRef="Activity_091h6ru" targetRef="Activity_12nqlua" />
 +    <sequenceFlow id="Flow_1e3prri" sourceRef="Activity_12nqlua" targetRef="Activity_1yz8dn5" />
 +    <manualTask id="Activity_091h6ru" name="Check tyres">
 +      <outgoing>Flow_0q8h0gm</outgoing>
 +    </manualTask>
 +    <manualTask id="Activity_12nqlua" name="Check oil">
 +      <incoming>Flow_0q8h0gm</incoming>
 +      <outgoing>Flow_1e3prri</outgoing>
 +    </manualTask>
 +    <manualTask id="Activity_1yz8dn5" name="Empty ashtray">
 +      <incoming>Flow_1e3prri</incoming>
 +    </manualTask>
 +  </process>
 +  <bpmndi:BPMNDiagram id="BpmnDiagram_1">
 +    <bpmndi:BPMNPlane id="BpmnPlane_1" bpmnElement="Process_1er8zdf">
 +      <bpmndi:BPMNShape id="Activity_0wi61a4_di" bpmnElement="Activity_091h6ru">
 +        <omgdc:Bounds x="250" y="260" width="100" height="80" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_0zne6l4_di" bpmnElement="Activity_12nqlua">
 +        <omgdc:Bounds x="390" y="260" width="100" height="80" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_0dmlrre_di" bpmnElement="Activity_1yz8dn5">
 +        <omgdc:Bounds x="530" y="260" width="100" height="80" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNEdge id="Flow_0q8h0gm_di" bpmnElement="Flow_0q8h0gm">
 +        <omgdi:waypoint x="350" y="300" />
 +        <omgdi:waypoint x="390" y="300" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_1e3prri_di" bpmnElement="Flow_1e3prri">
 +        <omgdi:waypoint x="490" y="300" />
 +        <omgdi:waypoint x="530" y="300" />
 +      </bpmndi:BPMNEdge>
 +    </bpmndi:BPMNPlane>
 +  </bpmndi:BPMNDiagram>
 +</definitions>
 +</bpmnio>
 +
 +
 +===== Notes =====
 +
 +Questions that face anyone who models processes in BPMN: to what level should the process be decomposed? Is it worth to depict how the task is performed?
 +
 +Although there may be exceptions (see [[#exceptions|below]]), it's generally not worthy because results in overcomplicated diagrams. Detailed instructions are valuable indeed but usually it's better to place them to the task description instead. Add step-by-step instructions, checklists, references to the operations manual etc. Focus on the coordination of tasks performed by different roles on the diagram level.
 +
 +Advanced BPMN modeling tools let user add description to a task and publish diagram accompanied by descriptions and other attributes as a document and/or hypertext. As an example, here is how it looks in [[en:tool:bizagi_modeler]] ({{:en:rule:micromanagement-bizagi.bpm|source file}}):
 +
 +{{:en:rule:micromanagement-bizagi.png?nolink|}}
 +===== Exceptions =====
 +
 +It may make sence to depict the task logic if it's non-linear, e.g. if it contains gateways:
 +
 +<bpmnio type="bpmn">
 +<?xml version="1.0" encoding="UTF-8"?>
 +<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="sid-38422fae-e03e-43a3-bef4-bd33b32041b2" targetNamespace="http://bpmn.io/bpmn" exporter="http://bpmn.io" exporterVersion="0.10.1">
 +  <process id="Process_1sivip6">
 +    <exclusiveGateway id="Gateway_085aksv" name="Electric?">
 +      <incoming>Flow_02tq9nl</incoming>
 +      <outgoing>Flow_17ec7i8</outgoing>
 +      <outgoing>Flow_04c9p0u</outgoing>
 +    </exclusiveGateway>
 +    <sequenceFlow id="Flow_02tq9nl" sourceRef="Activity_0v39oyj" targetRef="Gateway_085aksv" />
 +    <sequenceFlow id="Flow_17ec7i8" name="no" sourceRef="Gateway_085aksv" targetRef="Activity_19l0jm3" />
 +    <exclusiveGateway id="Gateway_0zql3x9">
 +      <incoming>Flow_04c9p0u</incoming>
 +      <incoming>Flow_0qpv9hx</incoming>
 +      <outgoing>Flow_1ay4hwu</outgoing>
 +    </exclusiveGateway>
 +    <sequenceFlow id="Flow_04c9p0u" name="yes" sourceRef="Gateway_085aksv" targetRef="Gateway_0zql3x9" />
 +    <sequenceFlow id="Flow_0qpv9hx" sourceRef="Activity_19l0jm3" targetRef="Gateway_0zql3x9" />
 +    <sequenceFlow id="Flow_1ay4hwu" sourceRef="Gateway_0zql3x9" targetRef="Activity_171jpw3" />
 +    <manualTask id="Activity_0v39oyj" name="Check tyres">
 +      <outgoing>Flow_02tq9nl</outgoing>
 +    </manualTask>
 +    <manualTask id="Activity_171jpw3" name="Empty ashtray">
 +      <incoming>Flow_1ay4hwu</incoming>
 +    </manualTask>
 +    <manualTask id="Activity_19l0jm3" name="Check oil">
 +      <incoming>Flow_17ec7i8</incoming>
 +      <outgoing>Flow_0qpv9hx</outgoing>
 +    </manualTask>
 +  </process>
 +  <bpmndi:BPMNDiagram id="BpmnDiagram_1">
 +    <bpmndi:BPMNPlane id="BpmnPlane_1" bpmnElement="Process_1sivip6">
 +      <bpmndi:BPMNShape id="Gateway_085aksv_di" bpmnElement="Gateway_085aksv" isMarkerVisible="true">
 +        <omgdc:Bounds x="355" y="65" width="50" height="50" />
 +        <bpmndi:BPMNLabel>
 +          <omgdc:Bounds x="358" y="41" width="43" height="14" />
 +        </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Gateway_0zql3x9_di" bpmnElement="Gateway_0zql3x9" isMarkerVisible="true">
 +        <omgdc:Bounds x="455" y="65" width="50" height="50" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_0sx5627_di" bpmnElement="Activity_0v39oyj">
 +        <omgdc:Bounds x="210" y="50" width="100" height="80" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_1urzczg_di" bpmnElement="Activity_171jpw3">
 +        <omgdc:Bounds x="540" y="50" width="100" height="80" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_0rjc0sc_di" bpmnElement="Activity_19l0jm3">
 +        <omgdc:Bounds x="330" y="170" width="100" height="80" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNEdge id="Flow_02tq9nl_di" bpmnElement="Flow_02tq9nl">
 +        <omgdi:waypoint x="310" y="90" />
 +        <omgdi:waypoint x="355" y="90" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_17ec7i8_di" bpmnElement="Flow_17ec7i8">
 +        <omgdi:waypoint x="380" y="115" />
 +        <omgdi:waypoint x="380" y="170" />
 +        <bpmndi:BPMNLabel>
 +          <omgdc:Bounds x="389" y="140" width="13" height="14" />
 +        </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_04c9p0u_di" bpmnElement="Flow_04c9p0u">
 +        <omgdi:waypoint x="405" y="90" />
 +        <omgdi:waypoint x="455" y="90" />
 +        <bpmndi:BPMNLabel>
 +          <omgdc:Bounds x="422" y="72" width="17" height="14" />
 +        </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_0qpv9hx_di" bpmnElement="Flow_0qpv9hx">
 +        <omgdi:waypoint x="430" y="210" />
 +        <omgdi:waypoint x="480" y="210" />
 +        <omgdi:waypoint x="480" y="115" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_1ay4hwu_di" bpmnElement="Flow_1ay4hwu">
 +        <omgdi:waypoint x="505" y="90" />
 +        <omgdi:waypoint x="540" y="90" />
 +      </bpmndi:BPMNEdge>
 +    </bpmndi:BPMNPlane>
 +  </bpmndi:BPMNDiagram>
 +</definitions>
 +</bpmnio>
 +
 +
 +===== Author(s) =====
 +
 + --- //[[user:bell|Anatoly Belaychuk]] 2023-07-31 15:39//