dodil/erp-method

node_modules/.cache/erp-method/v0.1.15/erp/phase/show.md

Phase 2 · Show: their business, as stories on the diagram

The only creative phase. Produce actors, stories (with Given/When/Then and a path), entities with natural keys, and a master-data decision per entity. Start from the spec's reference; correct it with the customer. Back: dodil://erp/build.

Steps

  1. Actors: who uses it, what each may do and see. Becomes the role catalogue.
  2. Stories, three kinds, ids prefixed with the module (HR-01):
    • person (someone acts through a screen), system (on a schedule or event), integration (crosses into a module that owns it). For each reference story: keep, change or drop.
    • Ask what is missing: "is there anything that should happen on its own, or when something else happens?"
  3. Propose, don't interrogate. Read out each customer_varies default with its standard: or typical: and ask them to correct it. Record "they keep the standard" as a decision too.
  4. Give every story a path through the process view (the choices at each gateway). Walk it with them on the diagram. A branch no story walks is a question: ask it.
  5. Entities: meaning, natural key (DataK3 has no sequences), relationships, owner.
  6. Master data: shared (one module is the sole writer) or module-owned (prefixed table).
  7. Rules, and where each is enforced (a guarded write path, almost never a constraint).
  8. Write it into ERP_<MODULE>.md (Actors, Stories, Workflows, Scenarios, Entities, Master data), and say back each part in one line as you go. Workflows in the table format of modules/template.md: it is what the diagram is drawn from.
  9. Draw it and show it, with or without a brick (erp-platform v0.8.0, its own step): uvx --from git+https://git.dodil.io/dodil/erp-platform.git@v0.8.0 erp-compose bpmn --from ERP_<MODULE>.md --out processes/<module>.bpmn (a reference spec: --from module.yaml; brick-hr: erp-compose process). Show the diagram, not the table: open the .bpmn in bpmn.io / Camunda Modeler, or render it with bpmn-js (new BpmnJS({container}).importXML(xml)) on a page you publish; send a PNG/PDF if they cannot.

Example (a story and its scenario)

- id: HR-01
  kind: person
  story: As the office manager, I want a freelancer's company details collected before day one.
  given: a freelancer engaged through their own company, starting Monday
  when: I record the hire
  then: they get an intake link; the IR35 status is recorded before the contract is drafted
  path: { process: hr.onboarding, choices: { Gateway_worker_type: freelancer_company, Gateway_ir35: recorded } }

For HR, brick-hr's scenario_paths lists each catalogue scenario as the step keys it walks (Task_<key> on the diagram) and says whether it still walks on the customer's playbook. For a story of your own, walk it by hand on the diagram and list the element ids in order.

Done when

  • Every story has Given/When/Then and a path; every gateway outcome is walked or asked about.
  • Every entity has a natural key and a master-data decision.
  • Every customer_varies question was asked or defaulted, and the answer recorded.

Next: dodil://erp/phase/fit