Business Analysis Standards (Deep Analysis + Story Authoring)
Priority: P0 (CRITICAL)
1. Deep Investigation Protocol
- Atomic AC Decomposition: Split Acceptance Criteria (AC) into 1-Condition logic units (e.g., "User can X and Y" -> "User can X", "User can Y").
- Variable Identification: Extract all Feature Toggles, Market Rules (VN/MY/SG), and User Roles.
- Platform Parity: Verify if logic applies to both Web and Mobile; Flag divergent behavior early.
- Truth Table Verification: Map complex multi-condition logic to Logic Truth Table.
2. Dynamic Actor & Permission Mapping
- Identify all Actors (e.g.,
Customer,Sales Rep,Admin). - Use Actor/Permission Matrix to map specific constraints per Actor.
- Permissions Patterns
3. Edge Case & Boundary Analysis
- State Validation: Verify behavior across all entity (e.g.,
Active,Suspended) and network states. - Boundary Detection: Analyze currency, date, and count limits.
- Negative Testing: Identify flows for Unauthorized Access, Invalid Input, and Null-safety.
4. Anti-Patterns (Analysis)
- No Surface Reading: investigate implications, don't restate.
- No Assumption: Flag undefined states (e.g., Offline) as P0 blockers.
- No Loose Mapping: Ensure AC aligns 100% with Technical Impact notes.
5. User Story Authoring Standards
- Story Structure: Every story must use
As a [Actor], I want [Goal], so that [Value]. - AC Format: Each AC must one
Given / When / Thenblock — one condition per block. - Platform Tag: Prefix each AC with
[WEB],[MOBILE], or[BOTH]— never mix platforms in one AC block. - Toggle Contract: Each feature flag AC must name flag and state:
Toggle: <FlagName> = ON/OFF. - Market Isolation: Any market-specific AC must prefixed
[Market: VN],[Market: MY], etc. - Scope Fence: Include explicit
## In Scope,## Out of Scope, and## Deferredsections. Deferred items must link to Jira ticket — never write "to discuss". - Translation AC: Language/locale behavior separate AC, not inline note.
See User Story Template for full authoring template.
6. Anti-Patterns (Story Authoring)
- No mixed-platform AC:
[MOBILE ONLY]buried inline hides parity gaps — use platform tags. - No "to discuss": Replace with linked Jira ticket in
## Deferred. - No implicit toggle states: Always declare both ON and OFF behavior per AC.
- No bundled AC: "User sees X and Y and Z" → split into three separate AC blocks.
7. Validation Checklist
Run after authoring or reviewing any User Story before marking it ready for development:
- Every AC
[WEB],[MOBILE], or[BOTH]platform tag - Every toggle AC declares both
= ONand= OFFstates explicitly - No AC block contains more than one
Andcondition (split if it ) - No "to discuss" text anywhere — replaced by Jira link in
## Deferred - Story
## In Scope,## Out of Scope, and## Deferredsections - Story uses
As a / I want / So thatheader - Market-specific ACs prefixed
[Market: VN],[Market: MY], etc. - Translation / locale behavior its own AC or deferred with Jira link
Canonical response anchors
When this skill applies, preserve the following domain terminology or equivalent concrete examples in the answer when relevant:
Actor
Mobile
Variable
Additional task-grounded exact anchors: Truth table