ums

Functional Story Writing Standard

Corporate source: This local UMS standard implements the EVOLITH/BMAD-METHOD base standard defined in evolith_arch32/reference/governance/sdlc/03-documentation/functional-story-writing-standard.md.

This standard defines how UMS Functional Stories must be written so Product Owners, Business Analysts, QA, and Developers can use the same document without mixing business intent with implementation detail.


1. Required Structure

Every Functional Story MUST follow this structure:

  1. Business Purpose: what problem is solved and why it matters.
  2. Actors: primary and secondary participants, described by business responsibility.
  3. Business Preconditions: conditions that must be true before the flow starts.
  4. Main Functional Flow: user-facing business narrative, written without implementation details.
  5. Alternative Flows and Exceptions: business-level outcomes for rejection, duplication, missing information, unavailable service, or invalid state.
  6. Business Rules: domain rules that the Product Owner can validate.
  7. Acceptance Criteria: testable conditions for PO/QA.
  8. Technical Requirements: implementation constraints for developers.
  9. Traceability: related entities, ADRs, Technical Enablers, and operational artifacts.

2. Functional Narrative Rules

Functional sections SHOULD use language understandable by a Product Owner or Business Analyst.

Functional sections MUST NOT lead with:

Those details belong in Technical Requirements.


3. Technical Requirements Rules

The Technical Requirements section SHOULD capture:

This section exists so developers have precision without making the business flow harder to read.


4. Acceptance Criteria Rules

Acceptance criteria MUST be observable and business-validatable. They should describe expected outcomes, not implementation steps.

Good:

Avoid in functional criteria:

Move those details to Technical Requirements.