Next revision | Previous revision |
en:rule:micromanagement [2023-08-02 22:42] – created - external edit 127.0.0.1 | en:rule:micromanagement [2024-01-11 23:28] (current) – external edit 127.0.0.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// |
| |