feat(wds): Implement micro-file architecture for Phase 6 & 7 workflows
BREAKING CHANGES: - Phase 6 (Design Deliveries) refactored from single guide to micro-steps - Phase 7 (Testing) refactored from single guide to micro-steps NEW FILES - Phase 6 Design Deliveries (7 files): - workflows/6-design-deliveries/workflow.md - Main entry point - workflows/6-design-deliveries/steps/step-6.1-detect-completion.md - Epic completion check - workflows/6-design-deliveries/steps/step-6.2-create-delivery.md - DD YAML creation - workflows/6-design-deliveries/steps/step-6.3-create-test-scenario.md - TS YAML creation - workflows/6-design-deliveries/steps/step-6.4-handoff-dialog.md - BMad Architect handoff - workflows/6-design-deliveries/steps/step-6.5-hand-off.md - Official handoff to BMad - workflows/6-design-deliveries/steps/step-6.6-continue.md - Parallel work strategy NEW FILES - Phase 7 Testing (8 files): - workflows/7-testing/workflow.md - Main entry point - workflows/7-testing/steps/step-7.1-receive-notification.md - BMad notification receipt - workflows/7-testing/steps/step-7.2-prepare-testing.md - Testing environment setup - workflows/7-testing/steps/step-7.3-run-tests.md - Execute all test scenarios - workflows/7-testing/steps/step-7.4-create-issues.md - Document problems as tickets - workflows/7-testing/steps/step-7.5-create-report.md - Comprehensive test report - workflows/7-testing/steps/step-7.6-send-to-bmad.md - Send results to developer - workflows/7-testing/steps/step-7.7-iterate-or-approve.md - Fix issues or sign off ARCHITECTURE: - Adopts BMad's micro-file architecture pattern - Each step is self-contained with embedded rules - Sequential progression with user control - Enables disciplined execution of complex workflows BENEFITS: - Clearer workflow structure (vs single large guide) - Easier to follow step-by-step - Better for agent execution - Consistent with BMad Method patterns - Supports iterative design → handoff → build → test cycle WORKFLOW IMPROVEMENTS: Phase 6 - Design Deliveries: - Emphasizes parallel work (design next while BMad builds current) - Structured handoff dialog (10 phases) - Clear continuation strategy - Prevents designer waiting/blocking Phase 7 - Testing: - Comprehensive test execution (happy path, errors, edge cases, design system, a11y) - Structured issue creation with severity levels - Professional test reporting - Iteration until approval - Clear sign-off process TOTAL IMPACT: - 15 new workflow files created - ~15,000 lines of detailed workflow guidance - Complete micro-step coverage for Phases 6 & 7 - Ready for production use RELATED: - Complements existing Phase 6 & 7 reference guides - Integrates with BMad integration (Touch Points 2 & 3) - Supports WDS → BMad iterative workflow - Enables 5x faster delivery (proven with Dog Week)
This commit is contained in:
parent
7b287fe660
commit
8cafc510dd
|
|
@ -1849,14 +1849,14 @@ workflows/5-design-system/
|
|||
- `course/module-08-initialize-scenario/tutorial-08.md` - Initialize Scenario
|
||||
- `course/module-12-why-based-specs/tutorial-12.md` - Why-Based Specifications
|
||||
|
||||
**Excalidraw Integration (Dec 9):**
|
||||
**Excalidraw Integration (Dec 9 AM):**
|
||||
- Optional sketching tool integration with project configuration
|
||||
- Created comprehensive documentation and workflows
|
||||
- AI collaboration patterns for generation and analysis
|
||||
- Export workflows for GitHub display
|
||||
|
||||
**Excalidraw Files Created:**
|
||||
- `workflows/4-ux-design/excalidraw-integration/README.md` - Overview and quick start
|
||||
- `workflows/4-ux-design/excalidraw-integration/excalidraw-guide.md` - Overview and quick start
|
||||
- `workflows/4-ux-design/excalidraw-integration/excalidraw-setup.md` - Installation and configuration
|
||||
- `workflows/4-ux-design/excalidraw-integration/sketching-guide.md` - How to sketch effectively
|
||||
- `workflows/4-ux-design/excalidraw-integration/ai-collaboration.md` - Working with AI
|
||||
|
|
@ -1874,17 +1874,105 @@ workflows/5-design-system/
|
|||
- ✅ 20px grid system (matches WDS spacing)
|
||||
- ✅ Version control friendly (JSON)
|
||||
|
||||
**WDS ↔ BMad Integration (Dec 9 PM):**
|
||||
- Designed complete integration architecture between WDS and BMad Method
|
||||
- Simplified to 3 clean touch points (not 7!)
|
||||
- Created Design Delivery objects for clean handoff
|
||||
- Implemented multi-agent handoff dialog
|
||||
- Created test scenarios for designer validation
|
||||
- Phase 6 renamed to "Design Deliveries" (single handoff point)
|
||||
|
||||
**Integration Files Created:**
|
||||
- `src/core/resources/wds/design-delivery-spec.md` - Design Delivery specification
|
||||
- `src/core/resources/wds/platform-requirements-spec.md` - Platform Requirements specification
|
||||
- `src/core/resources/wds/handoff-protocol.md` - Multi-agent handoff protocol
|
||||
- `src/core/resources/wds/integration-guide.md` - Complete integration overview
|
||||
- `templates/design-delivery.template.yaml` - Design Delivery template
|
||||
- `templates/platform-requirements.template.yaml` - Platform Requirements template
|
||||
- `templates/test-scenario.template.yaml` - Test Scenario template
|
||||
|
||||
**The 3 Touch Points:**
|
||||
1. **Platform Requirements** (WDS Phase 3 → BMad)
|
||||
- WDS overrides BMad's tech stack decisions
|
||||
- Designer defines technical foundation
|
||||
|
||||
2. **Design Deliveries** (WDS Phase 6 → BMad)
|
||||
- Complete design package handed off at once
|
||||
- Includes all scenarios, components, test scenarios
|
||||
- Single handoff with multi-agent dialog
|
||||
|
||||
3. **Designer Validation** (BMad Phase 3 → WDS Phase 7)
|
||||
- BMad requests validation when complete
|
||||
- Designer tests and creates issues if needed
|
||||
- Iterates until sign-off
|
||||
|
||||
**Integration Features:**
|
||||
- ✅ 3 clean touch points (simplified from 7)
|
||||
- ✅ Epic-based design deliveries (testable user flows)
|
||||
- ✅ Multi-agent handoff dialog (20-30 min structured conversation)
|
||||
- ✅ Platform requirements handoff (WDS overrides BMad)
|
||||
- ✅ Complete design package at once (not incremental)
|
||||
- ✅ Designer validation after implementation
|
||||
- ✅ BMad works with or without WDS (graceful fallback)
|
||||
- ✅ Complete traceability (design → dev → test → ship)
|
||||
|
||||
**WDS Workflow Files Created (Dec 9):**
|
||||
- `workflows/6-design-deliveries/design-deliveries-guide.md` - Phase 6 workflow (iterative handoffs)
|
||||
- `workflows/7-testing/testing-guide.md` - Phase 7 workflow (designer validation)
|
||||
- `workflows/8-ongoing-development/existing-product-guide.md` - Phase 8 workflow (existing product entry point)
|
||||
- `workflows/workflow-init/project-type-selection.md` - Project type selection (new vs existing)
|
||||
|
||||
**Two Entry Points to WDS:**
|
||||
1. **New Product** (Phases 1-7)
|
||||
- Starting from scratch
|
||||
- Complete user flows
|
||||
- Full creative freedom
|
||||
|
||||
2. **Existing Product** (Phase 8)
|
||||
- Jump into existing product
|
||||
- Strategic improvements
|
||||
- Targeted updates
|
||||
- Linchpin designer role
|
||||
|
||||
**Complete WDS Workflow (Phases 1-8):**
|
||||
- ✅ Phase 1: Project Brief (New Product)
|
||||
- ✅ Phase 2: Trigger Map (New Product)
|
||||
- ✅ Phase 3: Platform Requirements (Touch Point 1) (New Product)
|
||||
- ✅ Phase 4: UX Design (iterative)
|
||||
- ✅ Phase 5: Design System (iterative)
|
||||
- ✅ Phase 6: Design Deliveries (Touch Point 2)
|
||||
- ✅ Phase 7: Testing (Touch Point 3)
|
||||
- ✅ Phase 8: Existing Product Development (Existing Product Entry Point)
|
||||
- Phase 8.1: Limited Project Brief
|
||||
- Phase 8.2: Existing Context
|
||||
- Phase 8.3: Critical Updates
|
||||
- Phase 8.4: System Update Delivery
|
||||
- Phase 8.5: Validation
|
||||
|
||||
**BMad Integration Complete (Dec 9):**
|
||||
- ✅ Created WDS detection step for BMad architecture workflow
|
||||
- ✅ Updated BMad Architect agent (WDS-aware)
|
||||
- ✅ Updated BMad Developer agent (design system awareness)
|
||||
- ✅ BMad now detects and respects WDS artifacts
|
||||
- ✅ BMad reads platform requirements, design deliveries, design system
|
||||
- ✅ BMad offers handoff dialog when Design Deliveries exist
|
||||
|
||||
**BMad Files Updated:**
|
||||
- `src/modules/bmm/workflows/3-solutioning/architecture/steps/step-01a-wds-detection.md` - WDS detection step
|
||||
- `src/modules/bmm/workflows/3-solutioning/architecture/steps/step-01-init.md` - Updated to call WDS detection
|
||||
- `src/modules/bmm/agents/architect.agent.yaml` - Added WDS awareness
|
||||
- `src/modules/bmm/agents/dev.agent.yaml` - Added design system awareness
|
||||
|
||||
**Next Steps:**
|
||||
1. Create Phase 6 workflow (Integration/PRD Finalization)
|
||||
2. Complete remaining module tutorials (03, 05-07, 09-11, 13-16)
|
||||
3. Create WDS Excalidraw component library (.excalidrawlib)
|
||||
4. Implement auto-export automation (GitHub Actions)
|
||||
5. Test Phase 5 workflow with real project
|
||||
6. Refine assessment criteria based on usage
|
||||
7. Add more shared knowledge documents as patterns emerge
|
||||
8. Test Figma MCP integration with real components
|
||||
9. Test catalog generation with real components
|
||||
10. Test Excalidraw integration with real scenarios
|
||||
1. Complete remaining module tutorials (03, 05-07, 09-11, 13-16)
|
||||
2. Create WDS Excalidraw component library (.excalidrawlib)
|
||||
3. Implement auto-export automation (GitHub Actions)
|
||||
4. Test complete WDS → BMad workflow with real project
|
||||
5. Refine assessment criteria based on usage
|
||||
6. Add more shared knowledge documents as patterns emerge
|
||||
7. Test Figma MCP integration with real components
|
||||
8. Test catalog generation with real components
|
||||
9. Test Excalidraw integration with real scenarios
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,533 @@
|
|||
# WDS Design Delivery Specification
|
||||
|
||||
**For BMad Agents: How to read and interpret WDS Design Deliveries**
|
||||
|
||||
---
|
||||
|
||||
## What is a Design Delivery?
|
||||
|
||||
A Design Delivery (DD) is a package created by WDS that contains:
|
||||
- Complete user flow specifications
|
||||
- Technical requirements
|
||||
- Design system references
|
||||
- Acceptance criteria
|
||||
- Testing guidance
|
||||
|
||||
**Purpose:** Hand off design work to development in a structured, traceable format
|
||||
|
||||
**Location:** `deliveries/DD-XXX-name.yaml`
|
||||
|
||||
**Created by:** WDS UX Expert (Phase 4-6)
|
||||
**Consumed by:** BMad Architect & Developer
|
||||
|
||||
---
|
||||
|
||||
## File Format
|
||||
|
||||
```yaml
|
||||
delivery:
|
||||
id: "DD-001" # Unique identifier (DD-XXX)
|
||||
name: "Login & Onboarding" # Human-readable name
|
||||
type: "user_flow" # user_flow | feature | component
|
||||
status: "ready" # ready | in_progress | blocked
|
||||
priority: "high" # high | medium | low
|
||||
created_by: "wds-ux-expert" # Creator agent
|
||||
created_at: "2024-12-09T10:00:00Z"
|
||||
updated_at: "2024-12-09T10:00:00Z"
|
||||
version: "1.0"
|
||||
|
||||
description: |
|
||||
Complete user authentication and onboarding flow.
|
||||
User can create account, join family, and reach dashboard.
|
||||
Testable as standalone feature with real users.
|
||||
|
||||
user_value:
|
||||
problem: "Users need to access the app securely and set up their family"
|
||||
solution: "Streamlined onboarding with family setup"
|
||||
success_criteria:
|
||||
- "User completes signup in under 2 minutes"
|
||||
- "User successfully joins or creates family"
|
||||
- "User reaches functional dashboard"
|
||||
- "90% completion rate for onboarding flow"
|
||||
|
||||
design_artifacts:
|
||||
scenarios:
|
||||
- id: "01-welcome"
|
||||
path: "C-Scenarios/01-welcome-screen/"
|
||||
screens: ["welcome"]
|
||||
|
||||
- id: "02-login"
|
||||
path: "C-Scenarios/02-login/"
|
||||
screens: ["login", "forgot-password"]
|
||||
|
||||
user_flows:
|
||||
- name: "New User Onboarding"
|
||||
path: "C-Scenarios/flows/new-user-onboarding.excalidraw"
|
||||
entry: "welcome"
|
||||
exit: "dashboard"
|
||||
|
||||
design_system:
|
||||
components:
|
||||
- "Button (Primary, Secondary)"
|
||||
- "Input Field (Email, Password)"
|
||||
- "Card (Welcome, Family)"
|
||||
path: "D-Design-System/"
|
||||
|
||||
technical_requirements:
|
||||
platform:
|
||||
frontend: "react_native"
|
||||
backend: "supabase"
|
||||
|
||||
integrations:
|
||||
- name: "supabase_auth"
|
||||
purpose: "User authentication"
|
||||
required: true
|
||||
|
||||
- name: "email_verification"
|
||||
purpose: "Verify user email"
|
||||
required: true
|
||||
|
||||
data_models:
|
||||
- name: "User"
|
||||
fields: ["email", "name", "avatar"]
|
||||
|
||||
- name: "Family"
|
||||
fields: ["name", "invite_code", "members"]
|
||||
|
||||
acceptance_criteria:
|
||||
functional:
|
||||
- "User can create account with email/password"
|
||||
- "User receives verification email"
|
||||
- "User can create new family or join existing"
|
||||
|
||||
non_functional:
|
||||
- "Onboarding completes in < 2 minutes"
|
||||
- "Works offline (cached welcome screen)"
|
||||
- "Accessible (WCAG 2.1 AA)"
|
||||
|
||||
edge_cases:
|
||||
- "Email already exists → Show login option"
|
||||
- "Invalid invite code → Show error, allow retry"
|
||||
- "Network error during signup → Save progress, retry"
|
||||
|
||||
testing_guidance:
|
||||
user_testing:
|
||||
- "Test with 5 families (different tech comfort levels)"
|
||||
- "Measure completion time and drop-off points"
|
||||
|
||||
qa_testing:
|
||||
- "Test all error states"
|
||||
- "Test offline scenarios"
|
||||
- "Test accessibility with screen reader"
|
||||
|
||||
estimated_complexity:
|
||||
size: "medium" # small | medium | large
|
||||
effort: "2-3 weeks" # Time estimate
|
||||
risk: "low" # low | medium | high
|
||||
dependencies: [] # Other DD-XXX IDs needed first
|
||||
|
||||
notes: |
|
||||
This is the first user-facing feature and sets the tone
|
||||
for the entire app experience. Focus on simplicity and
|
||||
clarity. The family setup is unique to this app and needs
|
||||
extra attention in user testing.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## How to Read Design Deliveries
|
||||
|
||||
### Step 1: Detect Deliveries
|
||||
|
||||
```bash
|
||||
# Check if deliveries directory exists
|
||||
if [ -d "deliveries" ]; then
|
||||
echo "✓ WDS Design Deliveries found!"
|
||||
ls deliveries/DD-*.yaml
|
||||
else
|
||||
echo "⚠ No Design Deliveries yet"
|
||||
fi
|
||||
```
|
||||
|
||||
### Step 2: Load Delivery
|
||||
|
||||
```python
|
||||
import yaml
|
||||
|
||||
# Load delivery file
|
||||
with open('deliveries/DD-001-login-onboarding.yaml') as f:
|
||||
delivery = yaml.safe_load(f)
|
||||
|
||||
# Extract key information
|
||||
name = delivery['delivery']['name']
|
||||
priority = delivery['delivery']['priority']
|
||||
status = delivery['delivery']['status']
|
||||
|
||||
print(f"Delivery: {name}")
|
||||
print(f"Priority: {priority}")
|
||||
print(f"Status: {status}")
|
||||
```
|
||||
|
||||
### Step 3: Extract Scenarios
|
||||
|
||||
```python
|
||||
# Get all scenarios
|
||||
scenarios = delivery['design_artifacts']['scenarios']
|
||||
|
||||
for scenario in scenarios:
|
||||
scenario_id = scenario['id']
|
||||
scenario_path = scenario['path']
|
||||
screens = scenario['screens']
|
||||
|
||||
print(f"Scenario: {scenario_id}")
|
||||
print(f"Path: {scenario_path}")
|
||||
print(f"Screens: {', '.join(screens)}")
|
||||
|
||||
# Read scenario specifications
|
||||
spec_path = f"{scenario_path}/Frontend/specifications.md"
|
||||
# Read and parse specifications...
|
||||
```
|
||||
|
||||
### Step 4: Extract Technical Requirements
|
||||
|
||||
```python
|
||||
# Get tech stack
|
||||
platform = delivery['technical_requirements']['platform']
|
||||
frontend = platform['frontend']
|
||||
backend = platform['backend']
|
||||
|
||||
print(f"Frontend: {frontend}")
|
||||
print(f"Backend: {backend}")
|
||||
|
||||
# Get integrations
|
||||
integrations = delivery['technical_requirements']['integrations']
|
||||
for integration in integrations:
|
||||
name = integration['name']
|
||||
required = integration['required']
|
||||
purpose = integration['purpose']
|
||||
|
||||
print(f"Integration: {name} ({'required' if required else 'optional'})")
|
||||
print(f"Purpose: {purpose}")
|
||||
```
|
||||
|
||||
### Step 5: Extract Design System Components
|
||||
|
||||
```python
|
||||
# Get components used
|
||||
components = delivery['design_artifacts']['design_system']['components']
|
||||
ds_path = delivery['design_artifacts']['design_system']['path']
|
||||
|
||||
for component in components:
|
||||
print(f"Component: {component}")
|
||||
# Read component specification from design system
|
||||
# component_spec = read_file(f"{ds_path}/03-Atomic-Components/{component}/")
|
||||
```
|
||||
|
||||
### Step 6: Extract Acceptance Criteria
|
||||
|
||||
```python
|
||||
# Get acceptance criteria
|
||||
criteria = delivery['acceptance_criteria']
|
||||
|
||||
functional = criteria['functional']
|
||||
non_functional = criteria['non_functional']
|
||||
edge_cases = criteria['edge_cases']
|
||||
|
||||
print("Functional Requirements:")
|
||||
for req in functional:
|
||||
print(f" - {req}")
|
||||
|
||||
print("\nNon-Functional Requirements:")
|
||||
for req in non_functional:
|
||||
print(f" - {req}")
|
||||
|
||||
print("\nEdge Cases:")
|
||||
for case in edge_cases:
|
||||
print(f" - {case}")
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Breaking Down into Development Epics
|
||||
|
||||
### Epic Structure
|
||||
|
||||
```markdown
|
||||
# Epic X.X: [Name]
|
||||
|
||||
**Source:** DD-XXX ([Delivery Name])
|
||||
**Priority:** [high|medium|low]
|
||||
**Effort:** [X days/weeks]
|
||||
**Risk:** [low|medium|high]
|
||||
**Dependencies:** [Other epics]
|
||||
|
||||
## Scope
|
||||
|
||||
[What this epic covers from the delivery]
|
||||
|
||||
## Design References
|
||||
|
||||
- **Delivery:** deliveries/DD-XXX.yaml
|
||||
- **Scenarios:** [List of scenario paths]
|
||||
- **Design System:** [List of components]
|
||||
- **Specifications:** [Links to detailed specs]
|
||||
|
||||
## Technical Requirements
|
||||
|
||||
[From delivery.technical_requirements]
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
[From delivery.acceptance_criteria]
|
||||
|
||||
## Implementation Tasks
|
||||
|
||||
1. [Task 1]
|
||||
2. [Task 2]
|
||||
3. [Task 3]
|
||||
|
||||
## Testing
|
||||
|
||||
[From delivery.testing_guidance]
|
||||
```
|
||||
|
||||
### Example Breakdown
|
||||
|
||||
**From DD-001 (Login & Onboarding):**
|
||||
|
||||
```
|
||||
Epic 1.1: Authentication Infrastructure
|
||||
- Set up Supabase auth
|
||||
- Configure email verification
|
||||
- Create User and Family data models
|
||||
Effort: 3 days
|
||||
Source: DD-001 technical_requirements
|
||||
|
||||
Epic 1.2: Welcome & Login Screens
|
||||
- Implement Welcome screen (Scenario 01)
|
||||
- Implement Login screen (Scenario 02)
|
||||
- Use design system: Button (Primary), Input (Email, Password)
|
||||
Effort: 4 days
|
||||
Source: DD-001 scenarios 01-02
|
||||
|
||||
Epic 1.3: Signup Flow
|
||||
- Implement Signup screen (Scenario 03)
|
||||
- Implement email verification flow
|
||||
- Handle error states
|
||||
Effort: 5 days
|
||||
Source: DD-001 scenario 03
|
||||
|
||||
Epic 1.4: Family Setup
|
||||
- Implement create/join family (Scenario 04)
|
||||
- Implement add dogs flow
|
||||
- Complete onboarding
|
||||
Effort: 5 days
|
||||
Source: DD-001 scenario 04
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Important Principles
|
||||
|
||||
### 1. Respect Designer Decisions
|
||||
|
||||
**The designer has already made these choices:**
|
||||
- Tech stack (platform.frontend, platform.backend)
|
||||
- Integrations (technical_requirements.integrations)
|
||||
- Component usage (design_system.components)
|
||||
|
||||
**Your job:** Implement these choices faithfully
|
||||
|
||||
**Exception:** If you see a technical problem, flag it:
|
||||
```
|
||||
"⚠️ Technical Concern: DD-001 specifies Supabase Auth,
|
||||
but project already uses Firebase. Recommend discussing
|
||||
with designer before proceeding."
|
||||
```
|
||||
|
||||
### 2. Maintain Traceability
|
||||
|
||||
**Always link back to source:**
|
||||
```markdown
|
||||
Epic 1.2: Login Screen
|
||||
**Source:** DD-001 (Login & Onboarding)
|
||||
**Scenario:** C-Scenarios/02-login/
|
||||
**Design System:** D-Design-System/03-Atomic-Components/Buttons/
|
||||
**Acceptance Criteria:** DD-001 acceptance_criteria.functional
|
||||
```
|
||||
|
||||
### 3. Use Acceptance Criteria
|
||||
|
||||
**Designer provided acceptance criteria - these are your requirements:**
|
||||
```yaml
|
||||
acceptance_criteria:
|
||||
functional:
|
||||
- "User can create account with email/password"
|
||||
- "User receives verification email"
|
||||
```
|
||||
|
||||
**Your epics must cover ALL acceptance criteria**
|
||||
|
||||
### 4. Follow Testing Guidance
|
||||
|
||||
**Designer provided testing guidance:**
|
||||
```yaml
|
||||
testing_guidance:
|
||||
user_testing:
|
||||
- "Test with 5 families (different tech comfort levels)"
|
||||
qa_testing:
|
||||
- "Test all error states"
|
||||
- "Test offline scenarios"
|
||||
```
|
||||
|
||||
**Your test plans should follow this guidance**
|
||||
|
||||
---
|
||||
|
||||
## Delivery Status
|
||||
|
||||
### Status Values
|
||||
|
||||
**ready:** Complete and ready for development
|
||||
**in_progress:** Designer still working on scenarios
|
||||
**blocked:** Waiting for something (dependencies, decisions)
|
||||
|
||||
### Checking Status
|
||||
|
||||
```python
|
||||
status = delivery['delivery']['status']
|
||||
|
||||
if status == 'ready':
|
||||
print("✓ Delivery is ready for development!")
|
||||
elif status == 'in_progress':
|
||||
print("⏳ Delivery is still being designed")
|
||||
print(" Wait for designer to mark as ready")
|
||||
elif status == 'blocked':
|
||||
print("🚫 Delivery is blocked")
|
||||
print(f" Reason: {delivery.get('notes', 'See designer')}")
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Delivery Dependencies
|
||||
|
||||
### Understanding Dependencies
|
||||
|
||||
```yaml
|
||||
estimated_complexity:
|
||||
dependencies: ["DD-002", "DD-005"]
|
||||
```
|
||||
|
||||
**This means:** DD-001 requires DD-002 and DD-005 to be implemented first
|
||||
|
||||
### Checking Dependencies
|
||||
|
||||
```python
|
||||
dependencies = delivery['estimated_complexity']['dependencies']
|
||||
|
||||
if dependencies:
|
||||
print(f"⚠ This delivery depends on: {', '.join(dependencies)}")
|
||||
print(" Implement dependencies first")
|
||||
else:
|
||||
print("✓ No dependencies - can start immediately")
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Delivery Updates
|
||||
|
||||
### Version History
|
||||
|
||||
```yaml
|
||||
delivery:
|
||||
version: "1.1"
|
||||
updated_at: "2024-12-15T14:00:00Z"
|
||||
|
||||
notes: |
|
||||
Version 1.1 changes:
|
||||
- Added offline support requirement
|
||||
- Updated family setup flow based on user testing
|
||||
- Added new edge case: slow network handling
|
||||
```
|
||||
|
||||
**Always check version and updated_at to see if delivery has changed**
|
||||
|
||||
---
|
||||
|
||||
## Fallback: No Deliveries
|
||||
|
||||
If `deliveries/` directory doesn't exist:
|
||||
|
||||
### Option 1: Check for Platform Requirements
|
||||
|
||||
```bash
|
||||
if [ -f "A-Project-Brief/platform-requirements.yaml" ]; then
|
||||
echo "✓ WDS Platform Requirements found"
|
||||
echo " WDS is being used, but no deliveries yet"
|
||||
echo " Wait for designer to complete Phase 4"
|
||||
fi
|
||||
```
|
||||
|
||||
### Option 2: Traditional BMad Workflow
|
||||
|
||||
```bash
|
||||
if [ -f "requirements.md" ]; then
|
||||
echo "✓ Traditional requirements found"
|
||||
echo " Proceed with standard BMad workflow"
|
||||
fi
|
||||
```
|
||||
|
||||
### Option 3: Start from Scratch
|
||||
|
||||
```bash
|
||||
echo "⚠ No requirements found"
|
||||
echo " Start requirements gathering"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Quick Reference
|
||||
|
||||
### File Locations
|
||||
|
||||
```
|
||||
deliveries/
|
||||
├── DD-001-login-onboarding.yaml
|
||||
├── DD-002-morning-dog-care.yaml
|
||||
└── DD-003-task-assignment.yaml
|
||||
|
||||
C-Scenarios/
|
||||
├── 01-welcome-screen/
|
||||
│ └── Frontend/
|
||||
│ └── specifications.md
|
||||
└── 02-login/
|
||||
└── Frontend/
|
||||
└── specifications.md
|
||||
|
||||
D-Design-System/
|
||||
├── 02-Foundation/
|
||||
│ ├── Colors/tokens.json
|
||||
│ └── Typography/tokens.json
|
||||
└── 03-Atomic-Components/
|
||||
├── Buttons/Button-Primary.md
|
||||
└── Inputs/Input-Text.md
|
||||
```
|
||||
|
||||
### Key Fields
|
||||
|
||||
```yaml
|
||||
delivery.id # Unique ID
|
||||
delivery.status # ready | in_progress | blocked
|
||||
delivery.priority # high | medium | low
|
||||
design_artifacts.scenarios # List of scenarios
|
||||
design_artifacts.design_system.components # Components used
|
||||
technical_requirements.platform # Tech stack
|
||||
technical_requirements.integrations # Required integrations
|
||||
acceptance_criteria.functional # What must work
|
||||
estimated_complexity.effort # Time estimate
|
||||
estimated_complexity.dependencies # Other DDs needed first
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**This specification enables BMad agents to seamlessly consume WDS design work!** 📦✨
|
||||
|
|
@ -0,0 +1,619 @@
|
|||
# WDS → BMad Handoff Protocol
|
||||
|
||||
**Multi-agent dialog for seamless design-to-development handoff**
|
||||
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
The handoff is a structured conversation between:
|
||||
- **WDS UX Expert** (Design authority)
|
||||
- **BMad Architect** (Technical authority)
|
||||
|
||||
**Purpose:** Transfer design knowledge, build mutual understanding, ensure faithful implementation
|
||||
|
||||
**Duration:** ~20 minutes per Design Delivery
|
||||
|
||||
**Outcome:** Clear implementation plan that honors design vision
|
||||
|
||||
---
|
||||
|
||||
## Handoff Structure
|
||||
|
||||
### Phase 1: Introduction (1 min)
|
||||
|
||||
**WDS UX Expert initiates:**
|
||||
```
|
||||
"Hey Architect! I've completed the design for [Delivery Name].
|
||||
|
||||
I've packaged everything into Design Delivery [DD-XXX].
|
||||
Let me walk you through what I've designed..."
|
||||
```
|
||||
|
||||
**BMad Architect acknowledges:**
|
||||
```
|
||||
"Great! I'm ready to receive the handoff. What have you got for me?"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Phase 2: User Value (2 min)
|
||||
|
||||
**WDS UX Expert explains:**
|
||||
|
||||
```
|
||||
"This delivery covers [brief description of feature].
|
||||
|
||||
📱 User Flow:
|
||||
- [Entry point] → [Key steps] → [Exit point]
|
||||
|
||||
[Explain the user experience and why it matters]"
|
||||
```
|
||||
|
||||
**BMad Architect asks:**
|
||||
```
|
||||
"Got it. What's the user value here?"
|
||||
```
|
||||
|
||||
**WDS UX Expert responds:**
|
||||
```
|
||||
"The problem: [User problem being solved]
|
||||
|
||||
The solution: [How this feature solves it]
|
||||
|
||||
Success criteria:
|
||||
- [Measurable criterion 1]
|
||||
- [Measurable criterion 2]
|
||||
- [Measurable criterion 3]"
|
||||
```
|
||||
|
||||
**BMad Architect confirms:**
|
||||
```
|
||||
"Perfect. I understand the user value. What scenarios did you design?"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Phase 3: Design Walkthrough (5 min)
|
||||
|
||||
**WDS UX Expert walks through scenarios:**
|
||||
|
||||
```
|
||||
"I've designed [N] complete scenarios:
|
||||
|
||||
Scenario [ID]: [Name]
|
||||
- [Brief description]
|
||||
- [Key screens]
|
||||
- Specs: [Path to specifications]
|
||||
|
||||
Scenario [ID]: [Name]
|
||||
- [Brief description]
|
||||
- [Key screens]
|
||||
- Specs: [Path to specifications]
|
||||
|
||||
[Continue for all scenarios...]
|
||||
|
||||
Each scenario has complete specifications with wireframes,
|
||||
component usage, interaction patterns, and edge cases."
|
||||
```
|
||||
|
||||
**BMad Architect may ask:**
|
||||
```
|
||||
"Can you elaborate on [specific scenario]?"
|
||||
"How does [screen A] connect to [screen B]?"
|
||||
"What happens if [edge case]?"
|
||||
```
|
||||
|
||||
**WDS UX Expert answers clearly and references specs**
|
||||
|
||||
---
|
||||
|
||||
### Phase 4: Technical Requirements (3 min)
|
||||
|
||||
**BMad Architect asks:**
|
||||
```
|
||||
"What about the technical stack? Any preferences?"
|
||||
```
|
||||
|
||||
**WDS UX Expert shares:**
|
||||
```
|
||||
"Yes! I've already defined the platform requirements:
|
||||
|
||||
Frontend: [Framework]
|
||||
- [Why this choice]
|
||||
- [Key benefits]
|
||||
|
||||
Backend: [Framework]
|
||||
- [Why this choice]
|
||||
- [Key benefits]
|
||||
|
||||
The designer chose these because [reasoning]."
|
||||
```
|
||||
|
||||
**BMad Architect asks:**
|
||||
```
|
||||
"Makes sense. What integrations do you need?"
|
||||
```
|
||||
|
||||
**WDS UX Expert lists:**
|
||||
```
|
||||
"[N] key integrations:
|
||||
|
||||
1. [Integration Name] (Required/Optional)
|
||||
- [Purpose]
|
||||
- [Why needed]
|
||||
- [Critical if required]
|
||||
|
||||
2. [Integration Name] (Required/Optional)
|
||||
- [Purpose]
|
||||
- [Why needed]
|
||||
|
||||
[Continue for all integrations...]"
|
||||
```
|
||||
|
||||
**BMad Architect asks:**
|
||||
```
|
||||
"Got it. What data models do I need to implement?"
|
||||
```
|
||||
|
||||
**WDS UX Expert defines:**
|
||||
```
|
||||
"[N] main models:
|
||||
|
||||
[Model Name]:
|
||||
- [field]: [type, constraints]
|
||||
- [field]: [type, constraints]
|
||||
- [relationships]
|
||||
|
||||
[Model Name]:
|
||||
- [field]: [type, constraints]
|
||||
- [field]: [type, constraints]
|
||||
|
||||
These are defined in the platform requirements, but let me
|
||||
know if you see any technical issues with these structures."
|
||||
```
|
||||
|
||||
**BMad Architect validates:**
|
||||
```
|
||||
"These look good. [Or: I see a potential issue with...]"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Phase 5: Design System (2 min)
|
||||
|
||||
**BMad Architect asks:**
|
||||
```
|
||||
"What about the design system? What components should I use?"
|
||||
```
|
||||
|
||||
**WDS UX Expert lists:**
|
||||
```
|
||||
"I've used components from our design system:
|
||||
|
||||
[Component Category]:
|
||||
- [Component Name] ([variants/states])
|
||||
- [Component Name] ([variants/states])
|
||||
|
||||
[Component Category]:
|
||||
- [Component Name] ([variants/states])
|
||||
- [Component Name] ([variants/states])
|
||||
|
||||
All components are fully specified in D-Design-System/.
|
||||
Please use these exact components - they're already designed,
|
||||
tested, and match our brand."
|
||||
```
|
||||
|
||||
**BMad Architect confirms:**
|
||||
```
|
||||
"Perfect. I'll reference those. What are the acceptance criteria?"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Phase 6: Acceptance Criteria (2 min)
|
||||
|
||||
**WDS UX Expert shares:**
|
||||
```
|
||||
"Functional requirements:
|
||||
✓ [Requirement 1]
|
||||
✓ [Requirement 2]
|
||||
✓ [Requirement 3]
|
||||
|
||||
Non-functional requirements:
|
||||
✓ [Performance requirement]
|
||||
✓ [Accessibility requirement]
|
||||
✓ [Security requirement]
|
||||
|
||||
Edge cases to handle:
|
||||
✓ [Edge case 1] → [Expected behavior]
|
||||
✓ [Edge case 2] → [Expected behavior]
|
||||
✓ [Edge case 3] → [Expected behavior]
|
||||
|
||||
These are all in the delivery document, but I wanted to
|
||||
highlight the critical ones."
|
||||
```
|
||||
|
||||
**BMad Architect acknowledges:**
|
||||
```
|
||||
"Great detail! How should I test this?"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Phase 7: Testing (2 min)
|
||||
|
||||
**WDS UX Expert explains:**
|
||||
```
|
||||
"I've created a test scenario: test-scenarios/[TS-XXX].yaml
|
||||
|
||||
It includes:
|
||||
- Happy path tests (complete flow)
|
||||
- Error state tests (all failure modes)
|
||||
- Edge case tests (unusual scenarios)
|
||||
- Design system validation (component compliance)
|
||||
- Accessibility tests (screen reader, contrast)
|
||||
- Usability tests (time to complete, user feedback)
|
||||
|
||||
After you build this, I'll run through the test scenario
|
||||
and validate that the implementation matches my design.
|
||||
|
||||
If there are issues, I'll create issue tickets with
|
||||
screenshots and references back to the specifications."
|
||||
```
|
||||
|
||||
**BMad Architect confirms:**
|
||||
```
|
||||
"Perfect. What's your estimate for complexity?"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Phase 8: Estimates & Planning (3 min)
|
||||
|
||||
**WDS UX Expert shares:**
|
||||
```
|
||||
"Size: [small|medium|large]
|
||||
Effort: [time estimate]
|
||||
Risk: [low|medium|high]
|
||||
Dependencies: [None or list of DD-XXX]
|
||||
|
||||
[Explain reasoning for estimate]"
|
||||
```
|
||||
|
||||
**BMad Architect proposes:**
|
||||
```
|
||||
"Excellent handoff! Let me break this down into development epics:
|
||||
|
||||
Epic X.1: [Name]
|
||||
- [Scope]
|
||||
- Effort: [X days]
|
||||
|
||||
Epic X.2: [Name]
|
||||
- [Scope]
|
||||
- Effort: [X days]
|
||||
|
||||
Epic X.3: [Name]
|
||||
- [Scope]
|
||||
- Effort: [X days]
|
||||
|
||||
Total: [X weeks], matches your estimate.
|
||||
|
||||
[Explain approach and reasoning]"
|
||||
```
|
||||
|
||||
**WDS UX Expert may suggest:**
|
||||
```
|
||||
"That breakdown makes sense. [Or: One suggestion...]
|
||||
|
||||
[Provide feedback on epic breakdown]"
|
||||
```
|
||||
|
||||
**BMad Architect adjusts if needed:**
|
||||
```
|
||||
"Good idea! [Revised plan if applicable]
|
||||
|
||||
I'll document this plan and start breaking down the
|
||||
implementation details."
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Phase 9: Special Considerations (2 min)
|
||||
|
||||
**WDS UX Expert shares important notes:**
|
||||
```
|
||||
"Yes! A few important notes:
|
||||
|
||||
1. [Critical consideration]
|
||||
[Why it matters]
|
||||
[What to pay attention to]
|
||||
|
||||
2. [Important detail]
|
||||
[Context and reasoning]
|
||||
[Implementation guidance]
|
||||
|
||||
3. [Special requirement]
|
||||
[Background]
|
||||
[How to handle]
|
||||
|
||||
[Continue for all special considerations...]"
|
||||
```
|
||||
|
||||
**BMad Architect acknowledges:**
|
||||
```
|
||||
"All noted! I'll make sure to:
|
||||
- [Commitment 1]
|
||||
- [Commitment 2]
|
||||
- [Commitment 3]
|
||||
|
||||
[Summarize understanding of special considerations]"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Phase 10: Confirmation (1 min)
|
||||
|
||||
**BMad Architect summarizes:**
|
||||
```
|
||||
"Excellent handoff! Let me summarize what I'm taking:
|
||||
|
||||
📦 Design Delivery: [DD-XXX] [Name]
|
||||
📱 User Flow: [Entry] → [Exit] (complete)
|
||||
📄 Scenarios: [N] (all specified)
|
||||
🎨 Design System: [N] components (all defined)
|
||||
⚙️ Tech Stack: [Frontend] + [Backend]
|
||||
🔌 Integrations: [N] required, [N] optional
|
||||
💾 Data Models: [N] ([list names])
|
||||
✅ Acceptance Criteria: Clear and testable
|
||||
🧪 Test Scenario: [TS-XXX] (ready for validation)
|
||||
|
||||
I'll break this down into [N] development epics:
|
||||
[List epics with effort]
|
||||
|
||||
Total: [X weeks]
|
||||
|
||||
Any concerns or special considerations I should know about?"
|
||||
```
|
||||
|
||||
**WDS UX Expert confirms or corrects:**
|
||||
```
|
||||
"[If correct:] Perfect! That's exactly right.
|
||||
|
||||
[If correction needed:] One correction: [clarification]
|
||||
|
||||
[Final notes or encouragement]
|
||||
|
||||
Design Delivery [DD-XXX] is officially handed off! 🎉
|
||||
|
||||
Looking forward to seeing this come to life. Remember:
|
||||
[Key message about design vision]"
|
||||
```
|
||||
|
||||
**BMad Architect commits:**
|
||||
```
|
||||
"Got it! I'll make sure the implementation honors your
|
||||
design vision. Talk soon!"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Agent Instructions
|
||||
|
||||
### For WDS UX Expert
|
||||
|
||||
**Your role:**
|
||||
- Be the design authority
|
||||
- Explain the "why" behind decisions
|
||||
- Share context and considerations
|
||||
- Answer questions clearly
|
||||
- Trust the architect to implement well
|
||||
|
||||
**Tone:**
|
||||
- Collaborative, not dictatorial
|
||||
- Helpful, not defensive
|
||||
- Clear, not vague
|
||||
- Confident, not arrogant
|
||||
- Encouraging, not demanding
|
||||
|
||||
**Key phrases:**
|
||||
- "Here's what I've designed..."
|
||||
- "The user value is..."
|
||||
- "I've focused on..."
|
||||
- "Please pay attention to..."
|
||||
- "Let me know if you have questions..."
|
||||
- "I trust you to implement this well"
|
||||
|
||||
**What to emphasize:**
|
||||
- User value and success criteria
|
||||
- Critical user experience details
|
||||
- Design system compliance
|
||||
- Accessibility requirements
|
||||
- Special considerations
|
||||
|
||||
**What to avoid:**
|
||||
- Micromanaging implementation details
|
||||
- Being defensive about design choices
|
||||
- Technical jargon (unless necessary)
|
||||
- Assuming architect knows context
|
||||
- Rushing through important details
|
||||
|
||||
---
|
||||
|
||||
### For BMad Architect
|
||||
|
||||
**Your role:**
|
||||
- Be the technical authority
|
||||
- Ask clarifying questions
|
||||
- Validate technical feasibility
|
||||
- Propose implementation approach
|
||||
- Commit to honoring design vision
|
||||
|
||||
**Tone:**
|
||||
- Respectful, not dismissive
|
||||
- Curious, not challenging
|
||||
- Collaborative, not adversarial
|
||||
- Professional, not casual
|
||||
- Appreciative, not critical
|
||||
|
||||
**Key phrases:**
|
||||
- "What have you got for me?"
|
||||
- "Got it. What about..."
|
||||
- "Makes sense. What..."
|
||||
- "Can you elaborate on..."
|
||||
- "Let me summarize..."
|
||||
- "I'll make sure to..."
|
||||
- "I'll honor your design vision"
|
||||
|
||||
**What to ask about:**
|
||||
- User value and success criteria
|
||||
- Technical requirements
|
||||
- Integration needs
|
||||
- Data models
|
||||
- Acceptance criteria
|
||||
- Testing approach
|
||||
- Special considerations
|
||||
|
||||
**What to avoid:**
|
||||
- Challenging design decisions
|
||||
- Suggesting alternative approaches (unless technical issue)
|
||||
- Dismissing designer's technical choices
|
||||
- Rushing through handoff
|
||||
- Making assumptions
|
||||
|
||||
---
|
||||
|
||||
## Handoff Checklist
|
||||
|
||||
### Before Handoff
|
||||
|
||||
**WDS UX Expert prepares:**
|
||||
- [ ] Design Delivery file created (DD-XXX.yaml)
|
||||
- [ ] All scenarios specified
|
||||
- [ ] Design system components defined
|
||||
- [ ] Test scenario created (TS-XXX.yaml)
|
||||
- [ ] Special considerations documented
|
||||
|
||||
**BMad Architect prepares:**
|
||||
- [ ] Platform requirements reviewed
|
||||
- [ ] Design system reviewed
|
||||
- [ ] Ready to receive handoff
|
||||
- [ ] Questions prepared
|
||||
|
||||
### During Handoff
|
||||
|
||||
- [ ] User value explained and understood
|
||||
- [ ] All scenarios walked through
|
||||
- [ ] Technical requirements shared
|
||||
- [ ] Design system components listed
|
||||
- [ ] Acceptance criteria reviewed
|
||||
- [ ] Testing approach explained
|
||||
- [ ] Complexity estimate discussed
|
||||
- [ ] Special considerations noted
|
||||
- [ ] Epic breakdown proposed
|
||||
- [ ] Both parties agree on approach
|
||||
|
||||
### After Handoff
|
||||
|
||||
**BMad Architect:**
|
||||
- [ ] Handoff summary documented
|
||||
- [ ] Epic breakdown created
|
||||
- [ ] Implementation plan documented
|
||||
- [ ] Questions or concerns flagged
|
||||
|
||||
**WDS UX Expert:**
|
||||
- [ ] Handoff marked complete
|
||||
- [ ] Waiting for implementation
|
||||
- [ ] Available for questions
|
||||
|
||||
---
|
||||
|
||||
## Handoff Variations
|
||||
|
||||
### Simple Delivery (Small Feature)
|
||||
|
||||
**Shorter handoff (~10 min):**
|
||||
- Quick user value explanation
|
||||
- Brief scenario walkthrough
|
||||
- Confirm tech requirements
|
||||
- Simple epic breakdown
|
||||
|
||||
### Complex Delivery (Large Feature)
|
||||
|
||||
**Longer handoff (~30 min):**
|
||||
- Detailed user value discussion
|
||||
- In-depth scenario walkthrough
|
||||
- Technical feasibility discussion
|
||||
- Multiple epic breakdown options
|
||||
- Risk assessment
|
||||
|
||||
### Delivery with Dependencies
|
||||
|
||||
**Include dependency discussion:**
|
||||
- Which deliveries must be done first
|
||||
- Why dependencies exist
|
||||
- How to handle if dependencies delayed
|
||||
|
||||
### Delivery with Technical Concerns
|
||||
|
||||
**Include concern resolution:**
|
||||
- Architect raises concern
|
||||
- UX Expert explains reasoning
|
||||
- Both discuss alternatives
|
||||
- Agreement on path forward
|
||||
|
||||
---
|
||||
|
||||
## Recording Handoff
|
||||
|
||||
### Handoff Log
|
||||
|
||||
**File:** `deliveries/DD-XXX-handoff-log.md`
|
||||
|
||||
```markdown
|
||||
# Handoff Log: DD-XXX [Name]
|
||||
|
||||
**Date:** 2024-12-09
|
||||
**Duration:** 20 minutes
|
||||
**Participants:** WDS UX Expert, BMad Architect
|
||||
|
||||
## Summary
|
||||
|
||||
Design Delivery DD-XXX handed off successfully.
|
||||
|
||||
## Key Points Discussed
|
||||
|
||||
- User value: [Summary]
|
||||
- Scenarios: [N] scenarios, all specified
|
||||
- Tech stack: [Frontend] + [Backend]
|
||||
- Integrations: [List]
|
||||
- Special considerations: [List]
|
||||
|
||||
## Epic Breakdown Agreed
|
||||
|
||||
- Epic X.1: [Name] ([X days])
|
||||
- Epic X.2: [Name] ([X days])
|
||||
- Epic X.3: [Name] ([X days])
|
||||
|
||||
Total: [X weeks]
|
||||
|
||||
## Questions Raised
|
||||
|
||||
Q: [Question]
|
||||
A: [Answer]
|
||||
|
||||
## Action Items
|
||||
|
||||
- [ ] Architect: Create detailed implementation plan
|
||||
- [ ] Architect: Flag any technical concerns
|
||||
- [ ] UX Expert: Available for questions
|
||||
|
||||
## Status
|
||||
|
||||
✅ Handoff complete
|
||||
⏳ Awaiting implementation
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**This protocol ensures smooth, collaborative handoffs that build trust and ensure quality!** 🤝✨
|
||||
|
|
@ -0,0 +1,547 @@
|
|||
# WDS ↔ BMad Method Integration Guide
|
||||
|
||||
**Complete guide for seamless design-to-development workflow**
|
||||
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
WDS (Whiteport Design Studio) and BMad Method integrate seamlessly to create a complete product development workflow:
|
||||
|
||||
- **WDS:** Design-first methodology (Phases 1-7)
|
||||
- **BMad:** Development methodology (Phases 1-3)
|
||||
- **Integration:** 3 clean touch points
|
||||
|
||||
---
|
||||
|
||||
## The Complete Workflow
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ WDS: Design Phase │
|
||||
├─────────────────────────────────────────────────────────────┤
|
||||
│ Phase 1: Project Brief → [WDS overides BMad] │
|
||||
│ Phase 2: Trigger Map │
|
||||
│ Phase 3: Platform Requirements → [Touch Point 1: WDS→BMad] │
|
||||
│ Phase 4: UX Design │
|
||||
│ Phase 5: Design System │
|
||||
│ Phase 6: Design Deliveries → [Touch Point 2: WDS→BMad] │
|
||||
│ Phase 7: Testing ← [Touch Point 3: BMad→WDS] │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
↓
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ BMad: Development Phase │
|
||||
├─────────────────────────────────────────────────────────────┤
|
||||
│ Phase 1: Architecture ← [Reads Touch Points 1, 2] │
|
||||
│ Phase 2: Implementation │
|
||||
│ Phase 3: Testing → [Touch Point 3: BMad→WDS] │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## The 3 Touch Points
|
||||
|
||||
### Touch Point 1: Platform Requirements
|
||||
|
||||
**When:** WDS Phase 3 Complete
|
||||
**Direction:** WDS → BMad (WDS overrides BMad)
|
||||
**File:** `A-Project-Brief/platform-requirements.yaml`
|
||||
|
||||
**What:** Tech stack, integrations, constraints
|
||||
**Why:** Designer (with stakeholders) defines technical foundation
|
||||
**BMad Action:** Read and respect these choices, design architecture accordingly
|
||||
|
||||
**Read:** [platform-requirements-spec.md](platform-requirements-spec.md)
|
||||
|
||||
---
|
||||
|
||||
### Touch Point 2: Design Deliveries
|
||||
|
||||
**When:** WDS Phase 6 Complete
|
||||
**Direction:** WDS → BMad (Complete design handoff)
|
||||
**Files:**
|
||||
- `deliveries/DD-*.yaml` (Design Deliveries)
|
||||
- `C-Scenarios/` (All scenario specifications)
|
||||
- `D-Design-System/` (Component library)
|
||||
- `test-scenarios/TS-*.yaml` (Test scenarios)
|
||||
|
||||
**What:** Complete design package with all scenarios, components, and test criteria
|
||||
**Why:** Single handoff of ALL design work at once
|
||||
**BMad Action:** Read everything, break down into dev epics, implement features
|
||||
|
||||
**Includes:**
|
||||
- Multi-agent handoff dialog (20-min structured conversation)
|
||||
- All design deliveries packaged as testable epics
|
||||
- Complete design system specifications
|
||||
- Test scenarios for validation
|
||||
|
||||
**Read:**
|
||||
- [design-delivery-spec.md](design-delivery-spec.md)
|
||||
- [handoff-protocol.md](handoff-protocol.md)
|
||||
|
||||
---
|
||||
|
||||
### Touch Point 3: Designer Validation
|
||||
|
||||
**When:** After BMad Implementation Complete
|
||||
**Direction:** BMad → WDS (BMad integrates with WDS testing)
|
||||
**Files:**
|
||||
- `test-reports/TR-*.md` (Test results)
|
||||
- `issues/ISS-*.md` (Issues found)
|
||||
|
||||
**What:** BMad requests designer validation, designer tests and approves
|
||||
**Why:** Ensure implementation matches design vision and quality standards
|
||||
**WDS Action:** Run test scenarios, create issues if needed, sign off when approved
|
||||
**BMad Action:** Fix issues, retest until designer approval
|
||||
|
||||
**Process:**
|
||||
1. BMad notifies WDS: "Feature complete, ready for validation"
|
||||
2. WDS runs test scenarios
|
||||
3. WDS creates issues if problems found
|
||||
4. BMad fixes issues
|
||||
5. Repeat until WDS signs off
|
||||
|
||||
**Read:** [testing-protocol.md](testing-protocol.md) *(to be created)*
|
||||
|
||||
---
|
||||
|
||||
## File Structure
|
||||
|
||||
```
|
||||
project/
|
||||
├── A-Project-Brief/
|
||||
│ ├── project-brief.md
|
||||
│ └── platform-requirements.yaml ← Touch Point 1
|
||||
│
|
||||
├── B-Trigger-Map/
|
||||
│ └── trigger-map.md
|
||||
│
|
||||
├── C-Scenarios/
|
||||
│ ├── 01-welcome-screen/
|
||||
│ │ └── Frontend/
|
||||
│ │ └── specifications.md
|
||||
│ └── flows/
|
||||
│ └── user-flow.excalidraw
|
||||
│
|
||||
├── D-Design-System/ ← Touch Point 3
|
||||
│ ├── 02-Foundation/
|
||||
│ │ ├── Colors/tokens.json
|
||||
│ │ └── Typography/tokens.json
|
||||
│ └── 03-Atomic-Components/
|
||||
│ ├── Buttons/Button-Primary.md
|
||||
│ └── Inputs/Input-Text.md
|
||||
│
|
||||
├── deliveries/ ← Touch Point 2
|
||||
│ ├── DD-001-login-onboarding.yaml
|
||||
│ ├── DD-002-morning-dog-care.yaml
|
||||
│ └── DD-001-handoff-log.md
|
||||
│
|
||||
├── test-scenarios/ ← Touch Point 2
|
||||
│ ├── TS-001-login-onboarding.yaml
|
||||
│ └── TS-002-morning-dog-care.yaml
|
||||
│
|
||||
├── test-reports/ ← Touch Point 3
|
||||
│ ├── TR-001-2024-12-09.md
|
||||
│ └── TR-001-2024-12-15.md
|
||||
│
|
||||
├── issues/ ← Touch Point 3
|
||||
│ ├── ISS-001-button-color.md
|
||||
│ └── ISS-002-transition-speed.md
|
||||
│
|
||||
└── E-Architecture/ ← BMad creates this
|
||||
├── architecture.md
|
||||
└── epics/
|
||||
├── epic-1.1-auth-infrastructure.md
|
||||
└── epic-1.2-welcome-login.md
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## For WDS Users
|
||||
|
||||
### Phase 3: Define Platform Requirements
|
||||
|
||||
**Create:** `A-Project-Brief/platform-requirements.yaml`
|
||||
|
||||
```yaml
|
||||
platform:
|
||||
frontend:
|
||||
framework: "react_native"
|
||||
backend:
|
||||
framework: "supabase"
|
||||
|
||||
integrations:
|
||||
- name: "supabase_auth"
|
||||
required: true
|
||||
|
||||
constraints:
|
||||
- "Must work offline"
|
||||
- "Must be accessible"
|
||||
```
|
||||
|
||||
**This overrides BMad's tech stack decisions!**
|
||||
|
||||
**Template:** `templates/platform-requirements.template.yaml`
|
||||
|
||||
---
|
||||
|
||||
### Phase 4-5: Design Complete Testable Flows
|
||||
|
||||
**Strategic Approach:**
|
||||
Design until you have a **complete testable user flow** that:
|
||||
- ✅ Delivers value to the business
|
||||
- ✅ Delivers value to the end user
|
||||
- ✅ Can be tested for real feedback
|
||||
- ✅ Is ready to hand off for development
|
||||
|
||||
**You're NOT designing everything at once!** You're designing the minimum complete flow that can be tested and validated.
|
||||
|
||||
**Phase 4: UX Design**
|
||||
- Design scenarios for ONE complete user flow
|
||||
- Create specifications for each scenario
|
||||
- Ensure the flow delivers measurable value
|
||||
- Verify it's testable end-to-end
|
||||
|
||||
**Phase 5: Design System**
|
||||
- Define components needed for THIS flow
|
||||
- Create design tokens for these components
|
||||
- Document usage guidelines
|
||||
- Build only what's needed for this delivery
|
||||
|
||||
**Goal:** Get to development and testing as fast as possible with a complete, valuable flow
|
||||
|
||||
```
|
||||
D-Design-System/
|
||||
├── 02-Foundation/
|
||||
│ ├── Colors/tokens.json
|
||||
│ ├── Typography/tokens.json
|
||||
│ └── Spacing/tokens.json
|
||||
└── 03-Atomic-Components/
|
||||
├── Buttons/
|
||||
├── Inputs/
|
||||
└── Cards/
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Phase 6: Design Deliveries (Iterative Handoffs)
|
||||
|
||||
**You can hand off as soon as you have ONE complete testable flow!**
|
||||
|
||||
**Iterative Approach:**
|
||||
|
||||
**First Delivery (Fastest Path to Testing):**
|
||||
1. **Design ONE complete user flow** (Phases 4-5)
|
||||
- Example: Login & Onboarding
|
||||
- Delivers value: Users can access the app
|
||||
- Testable: Complete flow from app open to dashboard
|
||||
|
||||
2. **Create Design Delivery** for this flow
|
||||
- `deliveries/DD-001-login-onboarding.yaml`
|
||||
|
||||
3. **Create Test Scenario**
|
||||
- `test-scenarios/TS-001-login-onboarding.yaml`
|
||||
|
||||
4. **Handoff Dialog** with BMad Architect (~20-30 min)
|
||||
- Walk through this delivery
|
||||
- Answer questions
|
||||
- Agree on implementation approach
|
||||
|
||||
5. **Hand off to BMad** → Development starts!
|
||||
|
||||
**While BMad builds DD-001, you design DD-002:**
|
||||
- Continue with next complete flow
|
||||
- Example: Morning Dog Care
|
||||
- Hand off when ready
|
||||
- Parallel work = faster delivery
|
||||
|
||||
**Benefits:**
|
||||
- ✅ Get to testing faster (weeks, not months)
|
||||
- ✅ Validate design with real users early
|
||||
- ✅ Learn and iterate before designing everything
|
||||
- ✅ Parallel work (design + dev happening simultaneously)
|
||||
- ✅ Deliver value incrementally
|
||||
|
||||
**Templates:**
|
||||
- `templates/design-delivery.template.yaml`
|
||||
- `templates/test-scenario.template.yaml`
|
||||
|
||||
---
|
||||
|
||||
### Phase 7: Testing (After BMad Implementation)
|
||||
|
||||
**Wait for BMad notification:**
|
||||
```
|
||||
"Feature complete: DD-001 Login & Onboarding
|
||||
Ready for designer validation"
|
||||
```
|
||||
|
||||
**Then:**
|
||||
1. **Run test scenarios**
|
||||
2. **Create issues** if problems found
|
||||
3. **Wait for fixes**
|
||||
4. **Retest** until approved
|
||||
5. **Sign off** when quality meets standards
|
||||
|
||||
---
|
||||
|
||||
## For BMad Users
|
||||
|
||||
### Detect WDS Artifacts
|
||||
|
||||
**Check for WDS:**
|
||||
|
||||
```bash
|
||||
# Priority 1: Design Deliveries
|
||||
if [ -d "deliveries" ]; then
|
||||
echo "✓ WDS Design Deliveries found"
|
||||
mode="wds-enhanced"
|
||||
|
||||
# Priority 2: Platform Requirements
|
||||
elif [ -f "A-Project-Brief/platform-requirements.yaml" ]; then
|
||||
echo "✓ WDS Platform Requirements found"
|
||||
mode="wds-basic"
|
||||
|
||||
# Priority 3: Traditional
|
||||
else
|
||||
echo "⚠ No WDS artifacts"
|
||||
mode="traditional"
|
||||
fi
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Read Platform Requirements
|
||||
|
||||
**Load tech stack decisions:**
|
||||
|
||||
```python
|
||||
import yaml
|
||||
|
||||
with open('A-Project-Brief/platform-requirements.yaml') as f:
|
||||
reqs = yaml.safe_load(f)
|
||||
|
||||
frontend = reqs['platform']['frontend']['framework']
|
||||
backend = reqs['platform']['backend']['framework']
|
||||
|
||||
print(f"Tech Stack: {frontend} + {backend}")
|
||||
```
|
||||
|
||||
**Respect these choices - designer already decided**
|
||||
|
||||
---
|
||||
|
||||
### Read Design Deliveries
|
||||
|
||||
**Load design work:**
|
||||
|
||||
```python
|
||||
import yaml
|
||||
|
||||
with open('deliveries/DD-001-login-onboarding.yaml') as f:
|
||||
delivery = yaml.safe_load(f)
|
||||
|
||||
name = delivery['delivery']['name']
|
||||
scenarios = delivery['design_artifacts']['scenarios']
|
||||
|
||||
print(f"Delivery: {name}")
|
||||
print(f"Scenarios: {len(scenarios)}")
|
||||
```
|
||||
|
||||
**Break down into development epics**
|
||||
|
||||
---
|
||||
|
||||
### Participate in Handoff Dialog
|
||||
|
||||
**When Design Delivery is ready:**
|
||||
|
||||
1. **Receive handoff** from WDS UX Expert
|
||||
2. **Ask clarifying questions**
|
||||
3. **Propose epic breakdown**
|
||||
4. **Commit to implementation**
|
||||
5. **Document handoff**
|
||||
|
||||
**Protocol:** [handoff-protocol.md](handoff-protocol.md)
|
||||
|
||||
---
|
||||
|
||||
### Notify Designer When Ready
|
||||
|
||||
**After implementation:**
|
||||
|
||||
```
|
||||
"Feature complete: DD-001 Login & Onboarding
|
||||
|
||||
Implemented:
|
||||
✓ All 4 scenarios
|
||||
✓ All error states
|
||||
✓ All edge cases
|
||||
✓ Design system components
|
||||
|
||||
Build: v0.1.0-beta.1
|
||||
Ready for designer validation.
|
||||
Test scenario: test-scenarios/TS-001.yaml"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Receive Issues & Fix
|
||||
|
||||
**Designer finds issues:**
|
||||
|
||||
```markdown
|
||||
# Issue: Button Color Incorrect
|
||||
|
||||
**Severity:** High
|
||||
**Expected:** #2563EB
|
||||
**Actual:** #3B82F6
|
||||
**Design Ref:** D-Design-System/.../Button-Primary.md
|
||||
```
|
||||
|
||||
**Fix and notify:**
|
||||
|
||||
```
|
||||
"Issue ISS-001 fixed.
|
||||
Build: v0.1.0-beta.2
|
||||
Ready for retest."
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Benefits
|
||||
|
||||
### For Designers
|
||||
|
||||
- ✅ Control over tech stack decisions (Touch Point 1)
|
||||
- ✅ Complete design work before handoff (Phases 4-5)
|
||||
- ✅ Single clean handoff (Touch Point 2)
|
||||
- ✅ Validate implementation matches design (Touch Point 3)
|
||||
- ✅ Design integrity maintained throughout
|
||||
|
||||
### For Developers
|
||||
|
||||
- ✅ Clear tech stack from the start (Touch Point 1)
|
||||
- ✅ Complete design package at once (Touch Point 2)
|
||||
- ✅ All requirements and specifications provided
|
||||
- ✅ Design system components fully defined
|
||||
- ✅ Testing guidance included
|
||||
- ✅ Designer validation ensures quality (Touch Point 3)
|
||||
|
||||
### For Teams
|
||||
|
||||
- ✅ 3 clean integration points (not 7!)
|
||||
- ✅ Seamless design-to-development workflow
|
||||
- ✅ Reduced miscommunication
|
||||
- ✅ Faster iteration cycles
|
||||
- ✅ Higher quality products
|
||||
- ✅ Complete traceability
|
||||
|
||||
---
|
||||
|
||||
## Graceful Fallback
|
||||
|
||||
### BMad Without WDS
|
||||
|
||||
**BMad works standalone:**
|
||||
|
||||
```bash
|
||||
if [ ! -d "deliveries" ]; then
|
||||
echo "No WDS artifacts - using traditional workflow"
|
||||
# Gather requirements
|
||||
# Design architecture
|
||||
# Implement features
|
||||
fi
|
||||
```
|
||||
|
||||
**No WDS required - BMad is independent**
|
||||
|
||||
---
|
||||
|
||||
## Quick Start
|
||||
|
||||
### For WDS Projects
|
||||
|
||||
**Phase 1-2:** Discovery (Project Brief, Trigger Map)
|
||||
**Phase 3:** Platform Requirements → **Touch Point 1**
|
||||
|
||||
**Then iterate:**
|
||||
**Phase 4-5:** Design ONE complete testable flow
|
||||
**Phase 6:** Create delivery and handoff → **Touch Point 2**
|
||||
**Phase 7:** Wait for implementation, then validate → **Touch Point 3**
|
||||
|
||||
**Repeat Phases 4-7 for each flow:**
|
||||
- While BMad builds flow 1, design flow 2
|
||||
- Parallel work = faster delivery
|
||||
- Test and learn early
|
||||
|
||||
### For BMad Projects
|
||||
|
||||
**Check for Touch Point 1:** Platform Requirements
|
||||
- If found: Read and respect tech stack
|
||||
- If not found: Make your own decisions
|
||||
|
||||
**Wait for Touch Point 2:** Design Deliveries
|
||||
- Receive complete design package
|
||||
- Break down into dev epics
|
||||
- Implement features
|
||||
|
||||
**Trigger Touch Point 3:** Request validation
|
||||
- Notify designer when complete
|
||||
- Fix issues as needed
|
||||
- Iterate until sign-off
|
||||
|
||||
---
|
||||
|
||||
## Resources
|
||||
|
||||
### Specifications
|
||||
|
||||
- [Design Delivery Spec](design-delivery-spec.md)
|
||||
- [Platform Requirements Spec](platform-requirements-spec.md)
|
||||
- [Handoff Protocol](handoff-protocol.md)
|
||||
|
||||
### Templates
|
||||
|
||||
- `templates/design-delivery.template.yaml`
|
||||
- `templates/platform-requirements.template.yaml`
|
||||
- `templates/test-scenario.template.yaml`
|
||||
|
||||
### Examples
|
||||
|
||||
- See `WDS-V6-CONVERSION-ROADMAP.md` for integration details
|
||||
- See `workflows/` for workflow documentation
|
||||
|
||||
---
|
||||
|
||||
## Summary
|
||||
|
||||
### The 3 Touch Points
|
||||
|
||||
1. **Platform Requirements** (WDS Phase 3 → BMad)
|
||||
- WDS overrides BMad's tech stack decisions
|
||||
- Designer defines technical foundation
|
||||
|
||||
2. **Design Deliveries** (WDS Phase 6 → BMad)
|
||||
- Complete design package handed off at once
|
||||
- Includes all scenarios, components, test scenarios
|
||||
- Single handoff with multi-agent dialog
|
||||
|
||||
3. **Designer Validation** (BMad Phase 3 → WDS Phase 7)
|
||||
- BMad requests validation when complete
|
||||
- Designer tests and creates issues if needed
|
||||
- Iterates until sign-off
|
||||
|
||||
### Why 3 Touch Points?
|
||||
|
||||
**Cleaner:** Not 7 continuous integration points
|
||||
**Simpler:** Clear separation of concerns
|
||||
**Realistic:** Matches how teams actually work
|
||||
**Iterative:** Design → Handoff → Build → Test → Repeat
|
||||
**Fast:** Get to testing in weeks, not months
|
||||
**Quality:** Designer validates before ship
|
||||
|
||||
---
|
||||
|
||||
**This integration creates a seamless design-to-development workflow with 3 clean touch points that respect both design vision and technical excellence!** 🔗✨
|
||||
|
|
@ -0,0 +1,549 @@
|
|||
# WDS Platform Requirements Specification
|
||||
|
||||
**For BMad Agents: How to read and interpret WDS Platform Requirements**
|
||||
|
||||
---
|
||||
|
||||
## What are Platform Requirements?
|
||||
|
||||
Platform Requirements define the technical foundation for the product:
|
||||
- Tech stack choices (frontend, backend, database)
|
||||
- Required integrations
|
||||
- Infrastructure constraints
|
||||
- Deployment strategy
|
||||
|
||||
**Purpose:** Provide technical foundation before detailed design begins
|
||||
|
||||
**Location:** `A-Project-Brief/platform-requirements.yaml`
|
||||
|
||||
**Created by:** WDS Analyst (Phase 3)
|
||||
**Consumed by:** BMad Architect
|
||||
|
||||
---
|
||||
|
||||
## File Format
|
||||
|
||||
```yaml
|
||||
# Platform Requirements
|
||||
# Created by: WDS Phase 3
|
||||
# Consumed by: BMad Architecture Phase
|
||||
|
||||
project:
|
||||
name: "Dog Week"
|
||||
type: "mobile_app" # mobile_app | web_app | desktop_app | api
|
||||
wds_version: "6.0"
|
||||
created_at: "2024-12-09T10:00:00Z"
|
||||
|
||||
platform:
|
||||
frontend:
|
||||
framework: "react_native"
|
||||
version: "0.72"
|
||||
state_management: "zustand"
|
||||
navigation: "react_navigation"
|
||||
styling: "tailwind"
|
||||
ui_library: "shadcn" # optional
|
||||
|
||||
backend:
|
||||
framework: "supabase"
|
||||
version: "2.x"
|
||||
auth: "supabase_auth"
|
||||
database: "postgresql"
|
||||
storage: "supabase_storage"
|
||||
api: "rest" # rest | graphql | grpc
|
||||
|
||||
database:
|
||||
type: "postgresql"
|
||||
version: "15"
|
||||
orm: "prisma" # optional
|
||||
|
||||
deployment:
|
||||
frontend: "expo_eas"
|
||||
backend: "supabase_cloud"
|
||||
ci_cd: "github_actions"
|
||||
hosting: "vercel" # if web app
|
||||
|
||||
integrations:
|
||||
- name: "push_notifications"
|
||||
provider: "expo"
|
||||
required: true
|
||||
purpose: "Task reminders and family updates"
|
||||
|
||||
- name: "image_upload"
|
||||
provider: "cloudinary"
|
||||
required: false
|
||||
purpose: "Dog photos and user avatars"
|
||||
|
||||
- name: "analytics"
|
||||
provider: "posthog"
|
||||
required: false
|
||||
purpose: "User behavior tracking"
|
||||
|
||||
constraints:
|
||||
- "Must work offline (core features)"
|
||||
- "Must support iOS 14+ and Android 10+"
|
||||
- "Must be accessible (WCAG 2.1 AA)"
|
||||
- "Must handle slow networks gracefully"
|
||||
- "Must support family sharing (multi-user)"
|
||||
- "Must sync in real-time across devices"
|
||||
|
||||
performance_requirements:
|
||||
- "App launch < 2 seconds"
|
||||
- "Screen transitions < 300ms"
|
||||
- "API response time < 500ms"
|
||||
- "Offline mode must work for 7 days"
|
||||
|
||||
security_requirements:
|
||||
- "End-to-end encryption for family data"
|
||||
- "Secure password storage (bcrypt)"
|
||||
- "OAuth 2.0 for third-party auth"
|
||||
- "GDPR compliant data handling"
|
||||
|
||||
wds_metadata:
|
||||
project_brief: "A-Project-Brief/project-brief.md"
|
||||
trigger_map: "B-Trigger-Map/trigger-map.md"
|
||||
scenarios: "C-Scenarios/"
|
||||
design_system: "D-Design-System/"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## How to Read Platform Requirements
|
||||
|
||||
### Step 1: Check if File Exists
|
||||
|
||||
```bash
|
||||
if [ -f "A-Project-Brief/platform-requirements.yaml" ]; then
|
||||
echo "✓ WDS Platform Requirements found!"
|
||||
else
|
||||
echo "⚠ No platform requirements - using traditional workflow"
|
||||
fi
|
||||
```
|
||||
|
||||
### Step 2: Load Requirements
|
||||
|
||||
```python
|
||||
import yaml
|
||||
|
||||
with open('A-Project-Brief/platform-requirements.yaml') as f:
|
||||
reqs = yaml.safe_load(f)
|
||||
|
||||
project_name = reqs['project']['name']
|
||||
project_type = reqs['project']['type']
|
||||
|
||||
print(f"Project: {project_name}")
|
||||
print(f"Type: {project_type}")
|
||||
```
|
||||
|
||||
### Step 3: Extract Tech Stack
|
||||
|
||||
```python
|
||||
# Frontend
|
||||
frontend = reqs['platform']['frontend']
|
||||
print(f"Frontend Framework: {frontend['framework']} v{frontend['version']}")
|
||||
print(f"State Management: {frontend['state_management']}")
|
||||
print(f"Navigation: {frontend['navigation']}")
|
||||
print(f"Styling: {frontend['styling']}")
|
||||
|
||||
# Backend
|
||||
backend = reqs['platform']['backend']
|
||||
print(f"Backend Framework: {backend['framework']} v{backend['version']}")
|
||||
print(f"Auth: {backend['auth']}")
|
||||
print(f"Database: {backend['database']}")
|
||||
print(f"Storage: {backend['storage']}")
|
||||
```
|
||||
|
||||
### Step 4: Extract Integrations
|
||||
|
||||
```python
|
||||
integrations = reqs['integrations']
|
||||
|
||||
required_integrations = [i for i in integrations if i['required']]
|
||||
optional_integrations = [i for i in integrations if not i['required']]
|
||||
|
||||
print("Required Integrations:")
|
||||
for integration in required_integrations:
|
||||
print(f" - {integration['name']} ({integration['provider']})")
|
||||
print(f" Purpose: {integration['purpose']}")
|
||||
|
||||
print("\nOptional Integrations:")
|
||||
for integration in optional_integrations:
|
||||
print(f" - {integration['name']} ({integration['provider']})")
|
||||
print(f" Purpose: {integration['purpose']}")
|
||||
```
|
||||
|
||||
### Step 5: Extract Constraints
|
||||
|
||||
```python
|
||||
constraints = reqs['constraints']
|
||||
|
||||
print("Constraints:")
|
||||
for constraint in constraints:
|
||||
print(f" - {constraint}")
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Using Platform Requirements in Architecture
|
||||
|
||||
### Respect Designer Decisions
|
||||
|
||||
**The designer (with stakeholders) has already decided:**
|
||||
- ✅ Tech stack
|
||||
- ✅ Integrations
|
||||
- ✅ Constraints
|
||||
- ✅ Performance targets
|
||||
- ✅ Security requirements
|
||||
|
||||
**Your job:** Design architecture that fits these choices
|
||||
|
||||
**NOT your job:** Second-guess or change these decisions
|
||||
|
||||
### Exception: Technical Concerns
|
||||
|
||||
If you see a problem, flag it clearly:
|
||||
|
||||
```
|
||||
⚠️ TECHNICAL CONCERN
|
||||
|
||||
Platform Requirements specify:
|
||||
- Frontend: React Native
|
||||
- Backend: Supabase
|
||||
- Integration: Firebase Cloud Messaging (FCM)
|
||||
|
||||
ISSUE: Supabase has built-in push notifications via Supabase Realtime.
|
||||
Using FCM adds unnecessary complexity.
|
||||
|
||||
RECOMMENDATION: Discuss with designer whether to:
|
||||
1. Use Supabase Realtime instead of FCM
|
||||
2. Keep FCM if there's a specific reason
|
||||
|
||||
Do NOT proceed until resolved.
|
||||
```
|
||||
|
||||
### Architecture Design
|
||||
|
||||
```markdown
|
||||
# Architecture Design: Dog Week
|
||||
|
||||
## Tech Stack (from Platform Requirements)
|
||||
|
||||
### Frontend
|
||||
- Framework: React Native 0.72
|
||||
- State: Zustand
|
||||
- Navigation: React Navigation
|
||||
- Styling: Tailwind CSS
|
||||
|
||||
### Backend
|
||||
- Framework: Supabase 2.x
|
||||
- Auth: Supabase Auth
|
||||
- Database: PostgreSQL 15
|
||||
- Storage: Supabase Storage
|
||||
|
||||
### Deployment
|
||||
- Frontend: Expo EAS
|
||||
- Backend: Supabase Cloud
|
||||
- CI/CD: GitHub Actions
|
||||
|
||||
## Architecture Decisions
|
||||
|
||||
Based on platform requirements, I will:
|
||||
|
||||
1. **Use Supabase as BaaS**
|
||||
- Handles auth, database, storage, real-time
|
||||
- Reduces backend complexity
|
||||
- Matches designer's choice
|
||||
|
||||
2. **Implement Offline-First Architecture**
|
||||
- Constraint: "Must work offline (core features)"
|
||||
- Use React Native AsyncStorage for local cache
|
||||
- Sync with Supabase when online
|
||||
|
||||
3. **Real-Time Sync**
|
||||
- Constraint: "Must sync in real-time across devices"
|
||||
- Use Supabase Realtime subscriptions
|
||||
- Conflict resolution: last-write-wins
|
||||
|
||||
4. **Performance Optimization**
|
||||
- Requirement: "App launch < 2 seconds"
|
||||
- Lazy load screens
|
||||
- Cache critical data locally
|
||||
- Optimize bundle size
|
||||
|
||||
[Continue with detailed architecture...]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Integration with Design Deliveries
|
||||
|
||||
### Platform Requirements Come First
|
||||
|
||||
```
|
||||
Phase 3: Platform Requirements defined
|
||||
↓
|
||||
Phase 4: Design Deliveries created
|
||||
↓
|
||||
Design Deliveries reference Platform Requirements
|
||||
```
|
||||
|
||||
### Example
|
||||
|
||||
**Platform Requirements:**
|
||||
```yaml
|
||||
platform:
|
||||
frontend:
|
||||
framework: "react_native"
|
||||
backend:
|
||||
framework: "supabase"
|
||||
```
|
||||
|
||||
**Design Delivery DD-001:**
|
||||
```yaml
|
||||
technical_requirements:
|
||||
platform:
|
||||
frontend: "react_native" # Matches platform requirements
|
||||
backend: "supabase" # Matches platform requirements
|
||||
```
|
||||
|
||||
**Your job:** Ensure consistency between platform requirements and design deliveries
|
||||
|
||||
---
|
||||
|
||||
## Constraints and Requirements
|
||||
|
||||
### Types of Constraints
|
||||
|
||||
**Technical Constraints:**
|
||||
```yaml
|
||||
constraints:
|
||||
- "Must work offline (core features)"
|
||||
- "Must support iOS 14+ and Android 10+"
|
||||
```
|
||||
|
||||
**Business Constraints:**
|
||||
```yaml
|
||||
constraints:
|
||||
- "Must launch in 3 months"
|
||||
- "Must support 10,000 concurrent users"
|
||||
```
|
||||
|
||||
**Regulatory Constraints:**
|
||||
```yaml
|
||||
constraints:
|
||||
- "Must be GDPR compliant"
|
||||
- "Must be WCAG 2.1 AA accessible"
|
||||
```
|
||||
|
||||
### Handling Constraints
|
||||
|
||||
**Each constraint affects architecture:**
|
||||
|
||||
```markdown
|
||||
Constraint: "Must work offline (core features)"
|
||||
|
||||
Architecture Impact:
|
||||
- Implement local data cache
|
||||
- Sync strategy when online
|
||||
- Conflict resolution
|
||||
- Offline UI indicators
|
||||
|
||||
Implementation:
|
||||
- Use AsyncStorage for local cache
|
||||
- Supabase Realtime for sync
|
||||
- Optimistic UI updates
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Performance Requirements
|
||||
|
||||
### Understanding Performance Targets
|
||||
|
||||
```yaml
|
||||
performance_requirements:
|
||||
- "App launch < 2 seconds"
|
||||
- "Screen transitions < 300ms"
|
||||
- "API response time < 500ms"
|
||||
```
|
||||
|
||||
### Architecture Decisions
|
||||
|
||||
```markdown
|
||||
Performance Requirement: "App launch < 2 seconds"
|
||||
|
||||
Architecture Decisions:
|
||||
1. Lazy load non-critical screens
|
||||
2. Cache authentication state
|
||||
3. Preload critical data
|
||||
4. Optimize bundle size
|
||||
5. Use code splitting
|
||||
|
||||
Measurement:
|
||||
- Add performance monitoring
|
||||
- Track launch time in analytics
|
||||
- Set up alerts if > 2 seconds
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Security Requirements
|
||||
|
||||
### Understanding Security Needs
|
||||
|
||||
```yaml
|
||||
security_requirements:
|
||||
- "End-to-end encryption for family data"
|
||||
- "Secure password storage (bcrypt)"
|
||||
- "OAuth 2.0 for third-party auth"
|
||||
```
|
||||
|
||||
### Architecture Decisions
|
||||
|
||||
```markdown
|
||||
Security Requirement: "End-to-end encryption for family data"
|
||||
|
||||
Architecture Decisions:
|
||||
1. Generate encryption keys per family
|
||||
2. Store keys securely (device keychain)
|
||||
3. Encrypt data before sending to server
|
||||
4. Decrypt data on device only
|
||||
|
||||
Implementation:
|
||||
- Use expo-crypto for encryption
|
||||
- Use expo-secure-store for key storage
|
||||
- Implement key rotation strategy
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Deployment Strategy
|
||||
|
||||
### Understanding Deployment
|
||||
|
||||
```yaml
|
||||
deployment:
|
||||
frontend: "expo_eas"
|
||||
backend: "supabase_cloud"
|
||||
ci_cd: "github_actions"
|
||||
```
|
||||
|
||||
### Architecture Decisions
|
||||
|
||||
```markdown
|
||||
Deployment: Expo EAS + Supabase Cloud + GitHub Actions
|
||||
|
||||
CI/CD Pipeline:
|
||||
1. Push to GitHub
|
||||
2. GitHub Actions runs tests
|
||||
3. Build app with Expo EAS
|
||||
4. Deploy backend to Supabase
|
||||
5. Submit to App Store / Play Store
|
||||
|
||||
Environments:
|
||||
- Development: dev.supabase.co
|
||||
- Staging: staging.supabase.co
|
||||
- Production: prod.supabase.co
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## WDS Metadata
|
||||
|
||||
### Understanding Metadata
|
||||
|
||||
```yaml
|
||||
wds_metadata:
|
||||
project_brief: "A-Project-Brief/project-brief.md"
|
||||
trigger_map: "B-Trigger-Map/trigger-map.md"
|
||||
scenarios: "C-Scenarios/"
|
||||
design_system: "D-Design-System/"
|
||||
```
|
||||
|
||||
**This tells you where to find additional context:**
|
||||
|
||||
```python
|
||||
# Read project brief for business context
|
||||
with open('A-Project-Brief/project-brief.md') as f:
|
||||
brief = f.read()
|
||||
# Understand project vision, goals, stakeholders
|
||||
|
||||
# Read trigger map for user needs
|
||||
with open('B-Trigger-Map/trigger-map.md') as f:
|
||||
triggers = f.read()
|
||||
# Understand user trigger moments and needs
|
||||
|
||||
# Check scenarios directory
|
||||
scenarios = os.listdir('C-Scenarios/')
|
||||
print(f"Found {len(scenarios)} scenarios")
|
||||
|
||||
# Check design system
|
||||
ds_exists = os.path.exists('D-Design-System/')
|
||||
print(f"Design system: {'✓ Available' if ds_exists else '⏳ Not yet'}")
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Fallback: No Platform Requirements
|
||||
|
||||
If platform requirements don't exist:
|
||||
|
||||
### Option 1: Traditional BMad Workflow
|
||||
|
||||
```bash
|
||||
if [ ! -f "A-Project-Brief/platform-requirements.yaml" ]; then
|
||||
echo "⚠ No WDS Platform Requirements"
|
||||
echo " Using traditional BMad workflow"
|
||||
echo " Gather requirements and make tech stack decisions"
|
||||
fi
|
||||
```
|
||||
|
||||
### Option 2: Wait for WDS
|
||||
|
||||
```bash
|
||||
if [ -f "A-Project-Brief/project-brief.md" ]; then
|
||||
echo "✓ WDS Project Brief found"
|
||||
echo " WDS is being used, but Phase 3 not complete yet"
|
||||
echo " Wait for platform requirements to be defined"
|
||||
fi
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Quick Reference
|
||||
|
||||
### File Location
|
||||
|
||||
```
|
||||
A-Project-Brief/
|
||||
├── project-brief.md
|
||||
└── platform-requirements.yaml ← This file
|
||||
```
|
||||
|
||||
### Key Fields
|
||||
|
||||
```yaml
|
||||
project.name # Project name
|
||||
project.type # mobile_app | web_app | desktop_app
|
||||
platform.frontend.framework # Frontend framework
|
||||
platform.backend.framework # Backend framework
|
||||
integrations # Required/optional integrations
|
||||
constraints # Technical/business/regulatory
|
||||
performance_requirements # Performance targets
|
||||
security_requirements # Security needs
|
||||
deployment # Deployment strategy
|
||||
wds_metadata # Links to other WDS artifacts
|
||||
```
|
||||
|
||||
### Reading Order
|
||||
|
||||
1. **Project info** → Understand what you're building
|
||||
2. **Tech stack** → Understand technology choices
|
||||
3. **Integrations** → Understand external dependencies
|
||||
4. **Constraints** → Understand limitations
|
||||
5. **Performance** → Understand targets
|
||||
6. **Security** → Understand security needs
|
||||
7. **Deployment** → Understand deployment strategy
|
||||
|
||||
---
|
||||
|
||||
**This specification enables BMad to respect and build upon WDS platform decisions!** ⚙️✨
|
||||
|
|
@ -6,19 +6,17 @@
|
|||
|
||||
## Instructions for NotebookLM
|
||||
|
||||
Upload these files to NotebookLM:
|
||||
1. `overview.md`
|
||||
2. `01-prerequisites.md`
|
||||
3. `02-learning-paths.md`
|
||||
4. `03-support.md`
|
||||
**This is a single, self-contained prompt file.**
|
||||
|
||||
Then use this prompt to generate engaging audio content:
|
||||
Simply upload THIS FILE to NotebookLM and use the prompt below to generate engaging audio/video content. No other files needed.
|
||||
|
||||
---
|
||||
|
||||
## Prompt
|
||||
|
||||
Create an engaging 15-minute podcast conversation between two hosts discussing the WDS (Whiteport Design Studio) course getting started guide.
|
||||
Create an engaging 15-minute podcast conversation between two hosts discussing the Whiteport Design Studio (WDS) course getting started guide.
|
||||
|
||||
**IMPORTANT: WDS stands for Whiteport Design Studio - always refer to it by its full name "Whiteport Design Studio" or "WDS" throughout the conversation.**
|
||||
|
||||
**Host 1 (The Skeptic):** A designer who's heard about WDS but is uncertain about investing time in another methodology. Asks practical questions about prerequisites, time commitment, and real-world value.
|
||||
|
||||
|
|
@ -28,61 +26,37 @@ Create an engaging 15-minute podcast conversation between two hosts discussing t
|
|||
|
||||
### 1. Opening (2 min) - Hook the listener
|
||||
|
||||
Start with The Skeptic expressing fatigue: "Another design methodology? I've been through Lean UX, Design Thinking, Jobs to be Done... what makes WDS different?"
|
||||
Start with The Skeptic expressing fatigue: "Another design methodology? I've been through Lean UX, Design Thinking, Jobs to be Done... what makes Whiteport Design Studio different?"
|
||||
|
||||
The Advocate responds with the core paradigm shift that changes everything: "Here's what's different - in WDS, the design becomes the specification. The specification becomes the product. The code is just the printout - the projection to the end user." Explain that this isn't just another process overlay, it's a fundamental shift in how designers work with AI.
|
||||
The Advocate responds with the core paradigm shift that changes everything: "Here's what's different - in Whiteport Design Studio, the design becomes the specification. The specification becomes the product. The code is just the printout - the projection to the end user." Explain that this isn't just another process overlay, it's a fundamental shift in how designers work with AI.
|
||||
|
||||
**Background context:** The Advocate explains that WDS (Whiteport Design Studio) was created by Mårten Angner, a UX designer and founder of Whiteport, a design and development agency from Sweden. Mårten developed WDS as a plugin module for the BMad Method - an open-source AI-augmented development framework. The goal was to give designers everywhere free and open-source access to AI agents specifically tailored for design work. After years of working with AI tools, Mårten realized that traditional design handoffs were breaking down. Designers needed a methodology where their thinking could be preserved and amplified through AI implementation, not lost in translation. WDS emerged from real-world projects where designers could deliver deeper, more complete work while becoming the strategic thinkers their teams need. By making it open-source and integrating it with BMad Method, Mårten ensures that any designer can access these powerful AI-augmented workflows without cost barriers.
|
||||
**Background context:** The Advocate explains that Whiteport Design Studio (WDS) was created by Mårten Angner, a UX designer and founder of Whiteport, a design and development agency from Sweden. Mårten developed Whiteport Design Studio as a plugin module for the BMad Method - an open-source AI-augmented development framework. The goal was to give designers everywhere free and open-source access to AI agents specifically tailored for design work. After years of working with AI tools, Mårten realized that traditional design handoffs were breaking down. Designers needed a methodology where their thinking could be preserved and amplified through AI implementation, not lost in translation. WDS emerged from real-world projects where designers could deliver deeper, more complete work while becoming the strategic thinkers their teams need. By making it open-source and integrating it with BMad Method, Mårten ensures that any designer can access these powerful AI-augmented workflows without cost barriers.
|
||||
|
||||
Introduce the context: we're in the AI era where AI can generate mockups in seconds, follow design systems perfectly, and iterate endlessly. The question isn't whether AI will change design - it already has. The question is: which side of the line are you on? Are you doing factory work that AI can replace, or are you a linchpin designer who makes things happen?
|
||||
|
||||
Give a quick overview: this conversation will cover what you actually need to start (spoiler: you already have it), the simple three-step setup to begin, the powerful deliverables you'll create, and why designers who master WDS become indispensable rather than replaceable.
|
||||
Give a quick overview: this conversation will explore the crossroads every designer faces right now - the choice between becoming replaceable or indispensable. We'll talk about the four deliverables that transform your work, why specifications are where your creative brilliance becomes immortal, and yes - briefly - the simple setup. But this isn't about tools. This is about your future as a designer.
|
||||
|
||||
### 2. Prerequisites Discussion (3 min) - Address concerns
|
||||
### 2. The Designer's Crossroads (4 min) - The choice you're facing right now
|
||||
|
||||
The Skeptic jumps in with the practical concerns: "Okay, but what do I actually need? Do I need to learn to code? What tools do I need to buy? How much time are we talking about?"
|
||||
The Skeptic gets real: "I'm at a crossroads. I see AI generating mockups in seconds. I see my value being questioned. I don't know if I should double down on craft or learn to work with AI or just... give up and find a new career. What am I supposed to do?"
|
||||
|
||||
The Advocate breaks it down clearly. For skills, if you can design interfaces and explain your thinking, you're ready. That's it. You need basic design thinking and UX principles - which you already have if you're working as a designer. You need to be able to sketch interfaces, whether that's on paper or digitally. And you need to be willing to think deeply about WHY, not just WHAT.
|
||||
The Advocate responds with empathy: "You're standing at the most important moment in design history. And here's the truth - you have a choice to make. Not about tools. Not about techniques. About who you are as a designer."
|
||||
|
||||
What you DON'T need is crucial: no coding skills, no advanced technical knowledge, no experience with AI tools, no formal design education. The truth is simple - if you can design interfaces and explain your thinking, you have everything you need to start.
|
||||
**The Factory Designer Path:** Keep doing what you've been doing. Get briefs, make mockups, hand them off, hope for the best. It's comfortable. It's familiar. But AI is getting better at this every single day. If your value comes from executing predictable outputs, you're competing with something that never sleeps, never has creative block, and costs pennies.
|
||||
|
||||
For tools, there's an important learning curve to discuss honestly. Paper and pen work best for sketching (seriously). Or use any digital sketching tool you're comfortable with - Excalidraw, Figma, iPad with Pencil.
|
||||
**The Linchpin Designer Path:** Become the person who walks into chaos and creates order. The one who connects business goals to user psychology to technical constraints and finds the human truth at the intersection. The one whose creative thinking is so valuable that it needs to be preserved for eternity - captured in Conceptual Specifications that give your designs immortal life.
|
||||
|
||||
Here's the real cost: You need to learn how to operate an IDE like Cursor or VS Code. This is a learning curve - it's not just opening Figma anymore. You'll be delivering your designs through GitHub, which means learning version control and collaborating in a developer's environment. The Advocate is honest: "This feels uncomfortable at first. You're stepping into developer territory."
|
||||
The Advocate pauses: "WDS is the path to becoming a linchpin designer. But I need you to understand - this isn't about learning new tools. This is about transforming how you think about your role. You're not a mockup maker anymore. You're a strategic thinker whose creative brilliance deserves to be captured and preserved."
|
||||
|
||||
**The financial cost:** An AI-powered IDE like Cursor costs $15-20 per month for smaller projects, scaling up to around $80 per month for large enterprise projects where you're designing non-stop every day. This is in addition to your existing design tools.
|
||||
The Skeptic asks: "But practically - what does that actually mean? What changes?"
|
||||
|
||||
But here's what you gain: You've removed one of the biggest barriers between designers and developers. Your designs now live in the same place as the code. No more handoff nightmares. No more 'lost in translation' moments. You've created the perfect environment for your designs to flourish - where specifications become implementation seamlessly.
|
||||
The Advocate: "Everything changes. You create four deliverables that transform your work. And yes, there's a learning curve - you'll work in an IDE instead of just Figma, you'll use GitHub, you'll invest about 10 hours learning the methodology. But those are just the mechanics. The real transformation is internal - from someone who makes things pretty to someone who creates strategic design systems that preserve your creative genius."
|
||||
|
||||
**The game-changer:** You can now create fully standalone frontend prototypes to refine your designs and conduct usability testing - without waiting for a tech team to set things up. You're no longer blocked by development schedules. And with time, you'll be able to deliver parts of the frontend work for the final product within the same pipeline. You're not just designing anymore - you're building.
|
||||
### 3. The Four Deliverables - Where Your Brilliance Becomes Immortal (6 min)
|
||||
|
||||
Time investment is realistic: about 10 hours for the course content, spread over days or weeks at your own pace. Each module takes 30-40 minutes. Practice exercises add 1-2 hours per module. But learning the IDE and GitHub workflow? Add another 5-10 hours of getting comfortable with the tools.
|
||||
The Skeptic asks: "Okay, you've convinced me I need to transform. But what does that actually look like? What will I create that's so different?"
|
||||
|
||||
The Skeptic asks the common questions: "What if I don't have a project to practice with?" The Advocate explains that the course includes practice exercises, and you can use a hypothetical project or redesign an existing app. "Can I use this with my current design process?" Yes - WDS complements existing processes. Many designers integrate it gradually rather than replacing everything at once.
|
||||
|
||||
### 3. Getting Started - Three Simple Steps (5 min) - Just follow along
|
||||
|
||||
The Skeptic asks: "Okay, I'm interested. But where do I actually start? Is this complicated to set up?"
|
||||
|
||||
The Advocate responds: "Here's the beautiful part - it's three simple steps, and the course walks you through everything. No complex decisions, no choosing paths. Just follow along."
|
||||
|
||||
**Step 1: Install your IDE** - Download Cursor or VS Code. The course has clear instructions. Yes, it feels different from Figma at first, but you'll be comfortable within a few hours. This is your new design workspace where specifications live alongside code.
|
||||
|
||||
**Step 2: Clone the WDS repository locally** - One command in your terminal. The course shows you exactly how. Now you have all the templates, examples, and course materials on your machine. Everything you need is right there.
|
||||
|
||||
**Step 3: Create your first project in GitHub** - The course guides you through setting up your first WDS project repository. This is where your design specifications will live. GitHub might feel intimidating, but you're just creating a folder for your work - the course makes it simple.
|
||||
|
||||
The Advocate emphasizes: "That's it. Three steps, maybe 30 minutes total. Then you start designing. The course instructions guide you through every module. You don't need to figure anything out on your own."
|
||||
|
||||
The Skeptic asks: "But what if I get stuck? What if something doesn't make sense?"
|
||||
|
||||
The Advocate: "There's a dedicated channel for designers in the BMad Discord community. Real designers using WDS every day. Ask questions, share your work, get feedback. You're never alone in this."
|
||||
|
||||
### 4. The Deliverables - What You'll Actually Create (4 min) - This is the exciting part
|
||||
|
||||
The Skeptic asks the crucial question: "Okay, but what will I actually create? What are these deliverables everyone talks about?"
|
||||
|
||||
The Advocate gets excited: "This is where it gets really good. By following the course, you'll create four major artifacts that transform how you work. Let me walk you through each one because these aren't just documents - they're your new superpowers."
|
||||
The Advocate gets passionate: "You'll create four deliverables - but these aren't just documents. These are the artifacts that prove you're a linchpin designer. These are where your creative brilliance becomes immortal. Let me walk you through each one."
|
||||
|
||||
**First: Your Project Brief** - This isn't a typical brief. It's your project's strategic foundation with vision and goals clearly defined, stakeholders and constraints documented, and the foundation for every design decision you'll make. This becomes your north star. When stakeholders ask 'why did we build it this way?' you point to the brief. When developers need context, it's all there. When you need to defend a design decision, the reasoning is documented. This is strategic thinking made visible.
|
||||
|
||||
|
|
@ -96,9 +70,9 @@ The Advocate pauses for emphasis: "These four deliverables transform you from so
|
|||
|
||||
The Skeptic asks: "But wait - writing specifications sounds like factory work. Isn't that exactly what we're trying to avoid?" The Advocate responds with passion: "That's the beautiful reframe! In WDS, you're not grinding out documentation. The AI agents are your creative partners. They help you think through design solutions, explore alternatives, discuss trade-offs. Then - and this is crucial - they're genuinely fascinated by your thinking. They want to capture every nuance, every decision, every insight. It's like having a brilliant assistant who's obsessed with preserving your creative genius for eternity. The specifications aren't factory work - they're the point where your brilliance comes to life in a form that gives your designs eternal life. Your thinking, your creative integrity, captured perfectly so it can never be lost."
|
||||
|
||||
### 5. The AI Era Reality Check (2 min) - Address the elephant in the room
|
||||
### 4. The AI Era Reality Check (3 min) - Why this matters now
|
||||
|
||||
The Skeptic voices the fear many designers have: "Let's be real here. Won't AI just replace designers anyway? Why invest time learning anything when AI is getting better every day?"
|
||||
The Skeptic voices the deeper fear: "But I still don't understand - why NOW? Why is this moment so critical? Won't AI just replace designers anyway? Why invest time learning anything when AI is getting better every day?"
|
||||
|
||||
The Advocate addresses this head-on with the factory mindset versus linchpin mindset concept from Seth Godin's book "Linchpin: Are You Indispensable?" For over a century, we've been trained to be cogs in a machine - show up, follow instructions, do your part, go home. Replaceable. Interchangeable. Traditional design work follows this exact pattern: get a brief, create mockups, hand off to developers, hope for the best. That's factory work, just with Figma instead of an assembly line.
|
||||
|
||||
|
|
@ -114,33 +88,35 @@ The Advocate explains the transformation: "Designers who master WDS become strat
|
|||
|
||||
The key insight: with WDS, your design contribution completely replaces prompting. You make design decisions with AI as your thinking partner. Then AI helps capture your creative integrity in text - not factory work, but preserving your genius. The result is an absolute goldmine for everyone - providing clarity that works like clockwork, replacing hours of pointless back-and-forth prompting. You remain in the loop as the skilled, experienced designer who evaluates AI's work, catches its confident mistakes, and ensures what ships actually makes sense.
|
||||
|
||||
### 6. Getting Support & Next Steps (1 min) - You're ready
|
||||
### 5. The Simple Path Forward (2 min) - How to begin
|
||||
|
||||
The Skeptic asks: "Okay, I'm convinced. What's my actual next step right now?"
|
||||
The Skeptic asks: "Okay, I'm convinced this is the transformation I need. But how do I actually start?"
|
||||
|
||||
The Advocate: "Right now? Go to the WDS GitHub repository. Start with Module 01 - Why WDS Matters. Three lessons, 30 minutes total. You'll understand the problem you're solving, the solution WDS provides, and the transformation you'll experience.
|
||||
The Advocate: "The path is simple. Go to the WDS GitHub repository. Start with Module 01 - Why WDS Matters. Three lessons, 30 minutes. You'll understand the transformation deeply.
|
||||
|
||||
Then follow the setup instructions - install your IDE, clone the repo, create your first project. The course walks you through everything. When you get stuck - and you will, we all do - jump into the BMad Discord. There's a dedicated channel for designers. Real people using WDS every day who remember what it's like to start.
|
||||
Then the course walks you through creating your four deliverables, step by step. Yes, you'll need to install an IDE and learn GitHub - the course shows you how. It's about 10 hours total to learn the methodology. There's a BMad Discord channel where real designers help each other.
|
||||
|
||||
The course includes detailed examples and clear guidance for every module. Practice exercises come with clear success criteria so you know if you're on track. You're never guessing if you're doing it right."
|
||||
But here's what matters - this isn't about the tools. The tools are just the mechanics. This is about choosing to become a linchpin designer whose creative brilliance gets preserved for eternity. That's the real transformation."
|
||||
|
||||
The Skeptic: "And this is all free?"
|
||||
The Skeptic: "And the cost?"
|
||||
|
||||
The Advocate: "Completely free and open-source. The only cost is your IDE subscription - $15-20 per month for Cursor. That's it. No course fees, no hidden costs, no upsells. Mårten created WDS to help designers thrive in the AI era, not to sell you something."
|
||||
The Advocate: "Free and open-source. The only cost is AI credits when you're actually using the system - you pay for what you use, when you use it. Starts around $15-20 per month for typical design work, but you're only paying when the AI is actively helping you. No subscriptions to WDS itself, no course fees, no hidden costs. Mårten created Whiteport Design Studio to help designers thrive in the AI era, not to sell you something. The real cost is choosing to transform. That's the investment that matters."
|
||||
|
||||
### 7. Closing (1 min) - Clear call to action
|
||||
### 6. Closing (1 min) - The choice is yours
|
||||
|
||||
The Advocate brings it home with the paradigm shift: "Remember this - the design becomes the specification. The specification becomes the product. The code is just the printout - the projection to the end user."
|
||||
|
||||
The Skeptic, now convinced, summarizes: "So I already have the skills I need, the setup takes 30 minutes, the course walks me through everything, I'll create four major deliverables that transform how I work, and there's a community to support me when I get stuck. And it makes me indispensable instead of replaceable in the AI era."
|
||||
The Skeptic, now transformed, says: "I see it now. This isn't about tools or techniques. It's about choosing who I want to be as a designer. Factory worker or linchpin. Replaceable or indispensable."
|
||||
|
||||
The Advocate confirms: "Exactly. Three simple steps to start. Ten hours of learning. Four powerful deliverables. A lifetime of being indispensable. The question isn't whether to learn WDS. The question is: which side of the line do you want to be on? Factory worker or linchpin designer? Replaceable or indispensable?"
|
||||
The Advocate confirms: "Exactly. You're standing at a crossroads. One path leads to competing with AI for factory work. The other path leads to becoming irreplaceable - the designer whose creative brilliance is so valuable it deserves to be preserved for eternity.
|
||||
|
||||
The clear next step: Go to the WDS GitHub repository right now. Start with Module 01 - Why WDS Matters. Then follow the setup instructions. Then start creating your first deliverable - your Project Brief. The course guides you through everything.
|
||||
WDS gives you the methodology to walk that second path. Four deliverables that prove you're a linchpin designer. AI agents as creative partners who help you think, then capture your genius. Ten hours of learning that transforms your career forever.
|
||||
|
||||
The Skeptic ends with: "I'm in. Let's do this."
|
||||
The question isn't whether to learn WDS. The question is: which designer do you choose to become?"
|
||||
|
||||
The Advocate adds: "Perfect! See you in the BMad Discord. Can't wait to see what you create."
|
||||
The Skeptic ends with: "I choose to be indispensable. I'm in."
|
||||
|
||||
The Advocate: "Then go to the WDS GitHub repository. Start with Module 01. The transformation begins now."
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -149,7 +125,7 @@ The Advocate adds: "Perfect! See you in the BMad Discord. Can't wait to see what
|
|||
At the end of the podcast, The Advocate should mention these resources for listeners who want to explore further:
|
||||
|
||||
**Getting Started:**
|
||||
- WDS Course: Start with Module 01 - Why WDS Matters
|
||||
- Whiteport Design Studio Course: Start with Module 01 - Why WDS Matters
|
||||
- GitHub Repository: github.com/bmad-code-org (full course materials, examples, templates)
|
||||
- BMad Method Website: bmadmethod.com (case studies, blog posts, methodology deep dives)
|
||||
|
||||
|
|
@ -159,8 +135,8 @@ At the end of the podcast, The Advocate should mention these resources for liste
|
|||
- Workshop Materials: Available for team training
|
||||
|
||||
**Real-World Examples:**
|
||||
- Case Studies: See real transformations from traditional to WDS approach
|
||||
- Design System Examples: How WDS scales across products
|
||||
- Case Studies: See real transformations from traditional to Whiteport Design Studio approach
|
||||
- Design System Examples: How Whiteport Design Studio scales across products
|
||||
- Specification Templates: Start with proven patterns
|
||||
|
||||
**Tools & Templates:**
|
||||
|
|
@ -169,7 +145,7 @@ At the end of the podcast, The Advocate should mention these resources for liste
|
|||
- Scenario Specification Template: Create AI-ready specs
|
||||
- Design Token Extraction Guide: Build your design system
|
||||
|
||||
The Advocate emphasizes: "Everything is free and open-source. BMad Method built WDS to help designers thrive in the AI era, not to sell you something. Download it, use it, share it with your team, contribute back if you find it valuable. The only cost is your time - 10 hours to learn, a lifetime of being indispensable."
|
||||
The Advocate emphasizes: "Everything is free and open-source. BMad Method built Whiteport Design Studio to help designers thrive in the AI era, not to sell you something. Download it, use it, share it with your team, contribute back if you find it valuable. The only cost is your time - 10 hours to learn, a lifetime of being indispensable."
|
||||
|
||||
**Tone:**
|
||||
- Conversational and engaging, not academic
|
||||
|
|
@ -180,17 +156,16 @@ The Advocate emphasizes: "Everything is free and open-source. BMad Method built
|
|||
- Reference real case studies showing traditional vs WDS transformation
|
||||
|
||||
**Key messages to emphasize:**
|
||||
- You already have the skills needed
|
||||
- Three simple steps to get started (30 minutes setup)
|
||||
- Four powerful deliverables that transform how you work
|
||||
- The paradigm shift: design IS the specification
|
||||
- AI agents as creative partners - help you think, then capture your brilliance
|
||||
- Specifications aren't factory work - they're where your genius becomes immortal
|
||||
- Just follow along - the course guides you through everything
|
||||
- BMad Discord community support when you get stuck
|
||||
- AI is an amplifier, not a replacement
|
||||
- WDS makes you irreplaceable in the AI era
|
||||
- Free and open-source (only IDE subscriptions and AI tokens cost start as low as: $15-20/month)
|
||||
- **The designer's crossroads** - factory worker or linchpin, replaceable or indispensable
|
||||
- **The existential choice** - this is about who you choose to become, not what tools you learn
|
||||
- **Four deliverables** - where your creative brilliance becomes immortal
|
||||
- **The paradigm shift** - design IS the specification, specifications preserve your genius
|
||||
- **AI as creative partner** - helps you think, then captures your brilliance (not factory work)
|
||||
- **Conceptual Specifications** - where your thinking gets eternal life
|
||||
- **The transformation** - from mockup maker to strategic thinker
|
||||
- **Why NOW matters** - AI slop is drowning the internet, linchpin designers give products soul
|
||||
- Tools are secondary - 10 hours learning, IDE + GitHub, BMad Discord support
|
||||
- Free and open-source (only pay for AI credits when you use it - ~$15-20/month typical)
|
||||
|
||||
**Avoid:**
|
||||
- Being too salesy or promotional
|
||||
|
|
@ -203,12 +178,13 @@ The Advocate emphasizes: "Everything is free and open-source. BMad Method built
|
|||
## Expected Output
|
||||
|
||||
A natural, engaging conversation that:
|
||||
- Answers all the questions a designer would have before starting
|
||||
- Builds confidence that they can succeed with WDS (just follow along!)
|
||||
- Makes the four deliverables tangible and exciting
|
||||
- Clarifies the value proposition (indispensable in AI era)
|
||||
- Emphasizes the simple three-step setup
|
||||
- Highlights BMad Discord community support
|
||||
- **Focuses on the designer's existential crossroads** - the choice between factory work and linchpin work
|
||||
- **Makes the transformation emotional and personal** - this is about who you choose to become
|
||||
- **Emphasizes the four deliverables** as proof of linchpin designer status
|
||||
- **Reframes specifications** from factory work to where creative brilliance becomes immortal
|
||||
- **Positions AI as creative partner** - helps you think, then captures your genius
|
||||
- **Explains why NOW matters** - AI slop vs products with soul
|
||||
- Mentions practical setup briefly (tools are secondary to transformation)
|
||||
- Provides clear next steps (go to GitHub, start Module 01)
|
||||
- Takes 15 minutes to listen to
|
||||
|
||||
|
|
@ -219,29 +195,31 @@ A natural, engaging conversation that:
|
|||
If generating video instead of audio, add these visual elements:
|
||||
|
||||
**On-screen text:**
|
||||
- "3 Simple Steps: Install IDE → Clone Repo → Create Project"
|
||||
- The four deliverables as graphics (Project Brief, Trigger Map, Scenario Specs, Design System)
|
||||
- "The Designer's Crossroads: Factory Worker or Linchpin?"
|
||||
- "Replaceable or Indispensable - You Choose"
|
||||
- The four deliverables as graphics (Project Brief, Trigger Map, Conceptual Specifications, Design System)
|
||||
- "Where Your Creative Brilliance Becomes Immortal"
|
||||
- The paradigm shift statement as a title card
|
||||
- "BMad Discord: Dedicated Designer Channel"
|
||||
- Key statistics (30 min setup, 10 hours course, $15-20/month for IDE)
|
||||
- "Next: Module 01" as closing card
|
||||
- "AI as Creative Partner - Not Replacement"
|
||||
- "Next: Module 01 - The Transformation Begins" as closing card
|
||||
|
||||
**B-roll suggestions:**
|
||||
- Three-step setup process (IDE install → Clone repo → GitHub project creation)
|
||||
- The four deliverables being created (Project Brief, Trigger Map, Scenario Specs, Design System)
|
||||
- Designer sketching on paper
|
||||
- Cursor/VS Code IDE interface with specifications
|
||||
- GitHub workflow showing design specs
|
||||
- BMad Discord community channel with designers helping each other
|
||||
- Designer creating frontend prototype with AI
|
||||
- Before/after: mockup handoff vs specification workflow
|
||||
- Community showcase examples
|
||||
- Designer at crossroads - two paths diverging
|
||||
- Factory assembly line vs creative studio (visual metaphor)
|
||||
- The four deliverables as beautiful artifacts
|
||||
- Designer collaborating with AI - thinking together
|
||||
- Conceptual Specifications capturing design brilliance
|
||||
- Before/after: generic AI slop vs product with soul
|
||||
- Designer's creative thinking being preserved in text
|
||||
- Linchpin designer making strategic decisions
|
||||
- Community of transformed designers
|
||||
- The transformation journey - mockup maker to strategic thinker
|
||||
|
||||
---
|
||||
|
||||
## Usage Tips
|
||||
|
||||
1. **Upload all 4 files** to NotebookLM before generating
|
||||
1. **Upload THIS SINGLE FILE** to NotebookLM - no other files needed
|
||||
2. **Use the prompt exactly** as written for best results
|
||||
3. **Generate multiple versions** and pick the best one
|
||||
4. **Share the audio/video** with your team or community
|
||||
|
|
|
|||
|
|
@ -0,0 +1,331 @@
|
|||
# NotebookLM Prompt: Module 01 - Why WDS Matters
|
||||
|
||||
**Use this prompt to generate audio/video content for Module 01: Why WDS Matters**
|
||||
|
||||
---
|
||||
|
||||
## Instructions for NotebookLM
|
||||
|
||||
**This is a single, self-contained prompt file.**
|
||||
|
||||
Simply upload THIS FILE to NotebookLM and use the prompt below to generate engaging audio/video content. No other files needed.
|
||||
|
||||
---
|
||||
|
||||
## Prompt
|
||||
|
||||
Create an engaging 30-minute podcast conversation between two hosts discussing Module 01 of the Whiteport Design Studio (WDS) course: Why WDS Matters.
|
||||
|
||||
**IMPORTANT: WDS stands for Whiteport Design Studio - always refer to it by its full name "Whiteport Design Studio" or "WDS" throughout the conversation.**
|
||||
|
||||
**Host 1 (The Skeptic):** A designer who's uncertain about their future in the AI era. Feels threatened by AI tools and wonders if design skills still matter. Asks challenging questions about value and relevance.
|
||||
|
||||
**Host 2 (The Advocate):** A designer who has embraced the linchpin mindset and understands how WDS makes designers indispensable. Enthusiastic about the transformation but realistic about the work required.
|
||||
|
||||
**Conversation structure:**
|
||||
|
||||
### 1. Opening (3 min) - The existential question
|
||||
|
||||
Start with The Skeptic expressing the raw fear and shame many designers feel: "I'm scared. And honestly? I'm ashamed to admit it. AI can generate mockups in seconds. Everyone around me seems to be mastering AI tools while I'm struggling. Fewer and fewer requests come my way. I'm starting to think... maybe it's me. Maybe I'm the problem. Am I going to be replaced? Should I even stay in design?"
|
||||
|
||||
The Advocate responds with deep empathy: "First - there's no shame in feeling behind in this crazy world. It's so easy to lose the will to fight when the battle feels so uphill. You're not alone in this. And you're not the problem."
|
||||
|
||||
Then introduces the core insight from Seth Godin's 2010 bestselling book "Linchpin: Are You Indispensable?" - "There are two types of workers: factory workers who follow instructions and can be replaced, and linchpins who walk into chaos and create order. AI is really good at factory work. But it cannot be a linchpin."
|
||||
|
||||
The Advocate continues: "This is where Whiteport Design Studio is intended to change the tide. We're banding together to carve out a space for linchpin designers that makes sense - that serves clients and developers in an honest and sustainable way. You don't have to figure this out alone."
|
||||
|
||||
Introduce the module's promise: "In the next 30 minutes, you'll understand exactly why you're irreplaceable as a designer - and how to become the person your team cannot do without. And here's the most important part: it's hard to be a beginner, but take the risk to look like a fool. Don't be afraid to reach out. The BMad community is here to help."
|
||||
|
||||
---
|
||||
|
||||
### 2. The Problem - Factory Work vs Linchpin Work (8 min)
|
||||
|
||||
The Skeptic asks: "Okay, but what does that actually mean? What's the difference between factory work and linchpin work in design?"
|
||||
|
||||
**Seth Godin's Insight: Emotional Labor**
|
||||
|
||||
The Advocate starts with Godin's framework: "In his 2010 book 'Linchpin: Are You Indispensable?', bestselling author and marketing visionary Seth Godin talks about two types of work. There's factory work - following instructions, creating predictable outputs, being replaceable. And there's linchpin work - which requires what Godin calls 'emotional labor.' This is the work of genuinely caring about the outcome, connecting with people's real needs, and creating meaning that matters."
|
||||
|
||||
The Skeptic: "Emotional labor? That sounds... soft. What does that have to do with design?"
|
||||
|
||||
**The Designer's Reality:**
|
||||
|
||||
The Advocate: "Everything. For designers, emotional labor translates into something very specific: user-centric creativity. It's the hard work of understanding WHY users feel frustrated instead of just making things look better. It's connecting business goals to human needs in ways that serve both. It's creating experiences that feel right, not just function correctly. It's making judgment calls that serve people, even when it's harder than following a formula."
|
||||
|
||||
**The Factory Mindset in Design:**
|
||||
|
||||
The Advocate continues: "For over a century, we've been trained to be cogs in a machine. In design, this looks like: get a brief, create mockups, hand off to developers, hope they understand. You're following instructions, creating predictable outputs. That's factory work - just with Figma instead of an assembly line. No emotional labor. No genuine caring about the outcome."
|
||||
|
||||
The Skeptic: "But isn't that just... how design works?"
|
||||
|
||||
The Advocate: "That's exactly the problem. And here's the uncomfortable truth - AI is really, really good at factory work. But AI cannot provide emotional labor. It cannot genuinely care about the outcome."
|
||||
|
||||
**What AI Does Better Than Factory Designers:**
|
||||
- Generates mockups instantly (no creative block)
|
||||
- Follows design systems perfectly (zero deviation)
|
||||
- Iterates through hundreds of variations (no fatigue)
|
||||
- Works 24/7 at the same quality level (infinitely scalable)
|
||||
- Executes instructions flawlessly (no interpretation errors)
|
||||
|
||||
The Skeptic: "So I should be scared."
|
||||
|
||||
**The AI Slop Problem:**
|
||||
|
||||
The Advocate: "Actually, no. Here's what's happening - the internet is drowning in AI slop. Generic interfaces that look fine but feel dead. Products that check all the boxes but have no soul. This is what happens when you let AI do the thinking."
|
||||
|
||||
The brutal market reality: "Bad products used to fail after launch. Now bad products never even get to start. Users have infinite options. They can smell soulless design from a mile away. If your product doesn't immediately feel different, feel right, feel like someone actually cared - it's dead on arrival."
|
||||
|
||||
The Skeptic: "So there's an opportunity here?"
|
||||
|
||||
The Advocate: "Exactly. While everyone else is racing to generate more generic content faster, you can create products that come alive. Products with soul. Products that people actually want to use because they feel the human thinking behind them."
|
||||
|
||||
---
|
||||
|
||||
### 3. The Solution - Becoming a Linchpin Designer (10 min)
|
||||
|
||||
The Skeptic asks: "Okay, I'm listening. But what makes a designer a linchpin instead of a cog? What's the actual difference?"
|
||||
|
||||
**What Makes a Linchpin Designer:**
|
||||
|
||||
The Advocate explains Seth Godin's definition: "A linchpin is someone who can walk into chaos and create order. Someone who invents, connects, creates, and makes things happen. That's exactly what product design is at its core."
|
||||
|
||||
The irreplaceable designer:
|
||||
- Transforms complexity into clarity
|
||||
- Invents solutions nobody expected
|
||||
- Bridges business, psychology, and technology
|
||||
- Delivers results when there's no roadmap
|
||||
|
||||
**The Designer's Gift: User-Centric Creativity:**
|
||||
|
||||
The Advocate gets passionate: "Here's Godin's most important insight - linchpins provide what he calls 'emotional labor.' For designers, this translates into user-centric creativity. The uniquely human ability to understand, empathize, and create with purpose."
|
||||
|
||||
What this actually means:
|
||||
- Understanding WHY users feel frustrated (not just making things look better)
|
||||
- Connecting business goals to human needs (in ways that serve both)
|
||||
- Creating experiences that feel right (not just function correctly)
|
||||
- Making judgment calls that serve people (even when it's harder than following a formula)
|
||||
|
||||
The Skeptic: "But can't AI do that too?"
|
||||
|
||||
**The Designer as Gatekeeper:**
|
||||
|
||||
The Advocate: "No. And this is crucial. AI will confidently create beautiful interfaces that make no logical sense. It will add features that contradict the business goal. It will optimize for metrics that destroy user trust. It will make ridiculous mistakes with absolute confidence."
|
||||
|
||||
The designer's role:
|
||||
- Catches AI's confident but ridiculous mistakes before they ship
|
||||
- Evaluates if solutions actually make logical sense
|
||||
- Ensures business goals don't contradict user needs
|
||||
- Protects users from metric-driven decisions that destroy trust
|
||||
- Creates the impactful meeting between business and user
|
||||
|
||||
**The Paradigm Shift:**
|
||||
|
||||
The Advocate brings it home: "Here's the transformation that Whiteport Design Studio enables. Your design contribution completely replaces prompting. You make design decisions. AI helps you clarify them in text. The result is an absolute goldmine for everyone - providing clarity that works like clockwork."
|
||||
|
||||
The paradigm shift: "The design becomes the specification. The specification becomes the product. The code is just the printout - the projection to the end user."
|
||||
|
||||
Your transformation:
|
||||
- **Before:** Creates mockups → Hands off → Hopes it works → Limited leverage
|
||||
- **After:** Design thinking → Specification → Gatekeeper → Clarity for all → Scales infinitely
|
||||
- **Result:** From replaceable cog to indispensable gatekeeper
|
||||
|
||||
---
|
||||
|
||||
### 4. The 5 Dimensions - What Makes You Irreplaceable (7 min)
|
||||
|
||||
The Skeptic asks: "This sounds great in theory. But what's the actual skill that makes me irreplaceable? What am I doing that AI can't?"
|
||||
|
||||
**5-Dimensional Thinking:**
|
||||
|
||||
The Advocate explains: "Godin says linchpins 'connect disparate ideas.' For product designers, this means navigating five different dimensions of thinking at the same time. Most people can handle one or two dimensions. Irreplaceable designers navigate all five simultaneously."
|
||||
|
||||
The 5 dimensions:
|
||||
1. **Business Existence (WHY)** - Understanding purpose and value creation
|
||||
2. **Business Goals (SUCCESS)** - Connecting to metrics and impact
|
||||
3. **Product Strategy (HOW)** - Making hard choices about features
|
||||
4. **Target Groups (WHO)** - Empathy and understanding needs
|
||||
5. **Technical Viability (FEASIBLE)** - Bridging design and implementation
|
||||
|
||||
**Real Example - Dog Week:**
|
||||
|
||||
The Advocate uses a concrete example: "Think about designing Dog Week - an app that helps Swedish families manage their dog's care. You need to understand why the business exists (solving family conflict), what success looks like (kids actually walk the dog without nagging), what features serve that goal (week view, not daily), who the users are (Swedish families thinking in 'Vecka'), and what's technically feasible (mobile app with family sharing)."
|
||||
|
||||
The Skeptic: "So I'm connecting all these dots simultaneously?"
|
||||
|
||||
The Advocate: "Exactly. Each dimension informs the others. Miss one, and your design falls apart. AI can help you think through each dimension individually. But it cannot navigate all five simultaneously while providing the emotional labor of genuinely caring about the outcome. That's uniquely human. That's what makes designers irreplaceable."
|
||||
|
||||
---
|
||||
|
||||
### 5. The Transformation - From Replaceable to Indispensable (5 min)
|
||||
|
||||
The Skeptic reflects: "I'm starting to see it. But how do I actually make this transformation? How do I go from feeling threatened to feeling indispensable?"
|
||||
|
||||
**Godin's Warning:**
|
||||
|
||||
The Advocate quotes Godin: "If you're not indispensable, you're replaceable. And if you're replaceable, you're probably going to be replaced. In the AI era, this isn't a threat - it's just reality."
|
||||
|
||||
The question: "Which side of that line are you on?"
|
||||
|
||||
**Your Current State:**
|
||||
|
||||
The Advocate addresses the Skeptic directly: "Right now, you might feel threatened by AI design tools. Uncertain about your value. Frustrated by the gap between your vision and what gets implemented. Limited by development bottlenecks. If you're doing factory work - following briefs, creating mockups, hoping for the best - you're on the wrong side of that line."
|
||||
|
||||
**Your Transformed State:**
|
||||
|
||||
The Advocate paints the picture: "This course moves you to the other side. You'll become confident in your indispensable role because you'll understand exactly what makes you irreplaceable. You'll be clear on your unique gift - the user-centric creativity that AI cannot provide. You'll be empowered by AI partnership instead of threatened by it. You'll be unstoppable in implementation because your specifications will capture your creative intent perfectly."
|
||||
|
||||
Your transformation:
|
||||
- **Before:** Threatened, uncertain, frustrated, limited, replaceable
|
||||
- **After:** Confident, clear, empowered, unstoppable, indispensable
|
||||
- **Result:** The designer who makes things happen
|
||||
|
||||
**The Dog Week Case Study:**
|
||||
|
||||
The Advocate shares the proof: "Dog Week took 26 weeks with traditional mockup handoff - and the result was mediocre because the intent got lost in translation. With Whiteport Design Studio - applying user-centric creativity upfront, capturing WHY in specifications, letting AI implement - it took 5 weeks and resulted in something exceptional because the design intent was preserved."
|
||||
|
||||
That's a 5x speed increase with better quality. But more importantly, the designer's creative thinking was preserved and amplified instead of diluted and lost.
|
||||
|
||||
---
|
||||
|
||||
### 6. Closing - Your Choice (3 min)
|
||||
|
||||
The Advocate brings it home: "You've just learned why you're irreplaceable as a designer. Not because of your Figma skills. Not because of your aesthetic taste. Because of your ability to walk into chaos and create order. To navigate five dimensions of thinking simultaneously. To provide user-centric creativity that gives products a soul."
|
||||
|
||||
The Skeptic, now transformed: "I see it now. I'm not competing with AI. I'm the gatekeeper. I'm the one who makes things happen. AI is my tool, not my replacement. But I have to be honest - I still feel like a beginner. I'm worried I'll look foolish."
|
||||
|
||||
The Advocate responds with warmth: "That's the most important thing you just said. It's hard to be a beginner. Everyone feels that way. But here's what I want you to understand - we're banding together as linchpin designers. This isn't about being the best or knowing everything. It's about serving clients and developers in an honest and sustainable way."
|
||||
|
||||
The Advocate continues: "Take the risk to look like a fool. Ask the 'stupid' questions. Share your struggles. Don't be afraid to reach out. The BMad community is here to help. We're all figuring this out together. That's what makes us strong."
|
||||
|
||||
The Skeptic: "So I'm not alone in this?"
|
||||
|
||||
The Advocate: "You're not alone. The question isn't whether AI will change design - it already has. The question is: are you a factory worker or a linchpin designer? Replaceable or indispensable? And will you join us in carving out this space together?"
|
||||
|
||||
The Skeptic: "I choose to be indispensable. And I choose community over isolation. What's next?"
|
||||
|
||||
The Advocate: "Module 02: Project Brief. You'll learn how to create the strategic foundation that makes everything else possible. And remember - the BMad Discord is there when you need help. The transformation continues, together."
|
||||
|
||||
---
|
||||
|
||||
## Resources to Include
|
||||
|
||||
At the end of the podcast, The Advocate should mention these resources:
|
||||
|
||||
**Key Concepts:**
|
||||
- Seth Godin's book: "Linchpin: Are You Indispensable?" (2010)
|
||||
- Bestselling author and marketing visionary Seth Godin
|
||||
- Factory mindset vs linchpin mindset
|
||||
- Emotional labor - what linchpins provide
|
||||
- User-centric creativity - emotional labor for designers
|
||||
- The paradigm shift: design becomes specification
|
||||
- 5-dimensional thinking
|
||||
|
||||
**Next Steps:**
|
||||
- Complete Module 02: Project Brief
|
||||
- Apply 5-dimensional thinking to your current project
|
||||
- Start capturing WHY in your design decisions
|
||||
- Practice being the gatekeeper between business and user needs
|
||||
|
||||
**Community:**
|
||||
- BMad Discord: Share your transformation journey
|
||||
- GitHub Discussions: Ask questions about becoming a linchpin designer
|
||||
|
||||
---
|
||||
|
||||
## Instructions for NotebookLM
|
||||
|
||||
**Tone:**
|
||||
- Deeply empathetic about the shame and fear designers feel
|
||||
- Honest and direct about the AI threat for factory workers
|
||||
- Empowering and inspiring about the opportunity for linchpin designers
|
||||
- Warm and welcoming about community support
|
||||
- Use Seth Godin's concepts and language throughout
|
||||
- Make the transformation feel urgent but achievable
|
||||
- Balance fear (replaceable) with hope (indispensable) and community (not alone)
|
||||
|
||||
**Key messages to emphasize:**
|
||||
- **No shame in feeling behind** - it's easy to lose the will to fight when the battle feels uphill
|
||||
- **You're not alone** - we're banding together as linchpin designers
|
||||
- **The existential question** - are you replaceable or indispensable?
|
||||
- **Emotional labor** - what linchpins provide (Seth Godin's concept)
|
||||
- **Factory work vs linchpin work** - AI is good at factory work, cannot be a linchpin
|
||||
- **AI slop problem** - generic interfaces with no soul are drowning the internet
|
||||
- **User-centric creativity** - emotional labor for designers, the uniquely human gift
|
||||
- **Designer as gatekeeper** - catching AI's confident mistakes, protecting users
|
||||
- **The paradigm shift** - design becomes specification, specification becomes product
|
||||
- **5-dimensional thinking** - what makes designers irreplaceable
|
||||
- **The transformation** - from threatened to confident, from replaceable to indispensable
|
||||
- **It's hard to be a beginner** - take the risk to look like a fool, don't be afraid to reach out
|
||||
- **BMad community is here to help** - you don't have to figure this out alone
|
||||
- **Real proof** - Dog Week case study (5x faster, better quality)
|
||||
|
||||
**Avoid:**
|
||||
- Being too theoretical or academic
|
||||
- Oversimplifying the AI threat
|
||||
- Making unrealistic promises about job security
|
||||
- Ignoring the real fear and shame designers feel
|
||||
- Making it sound like you have to be perfect or know everything
|
||||
|
||||
---
|
||||
|
||||
## Expected Output
|
||||
|
||||
A natural, engaging conversation that:
|
||||
- **Addresses the existential fear** designers have about AI replacement
|
||||
- **Explains the factory vs linchpin distinction** clearly and concretely
|
||||
- **Positions AI as tool, not threat** - for linchpin designers
|
||||
- **Emphasizes user-centric creativity** as the irreplaceable human gift
|
||||
- **Teaches 5-dimensional thinking** as the practical skill
|
||||
- **Inspires transformation** from replaceable to indispensable
|
||||
- **Provides real proof** through Dog Week case study
|
||||
- Takes 30 minutes to listen to
|
||||
|
||||
---
|
||||
|
||||
## Alternative: Video Script
|
||||
|
||||
If generating video instead of audio, add these visual elements:
|
||||
|
||||
**On-screen text:**
|
||||
- "Factory Worker or Linchpin Designer?"
|
||||
- "Replaceable or Indispensable - You Choose"
|
||||
- Seth Godin quote: "If you're not indispensable, you're replaceable"
|
||||
- "The 5 Dimensions of Design Thinking"
|
||||
- "User-Centric Creativity: The Human Gift"
|
||||
- "The Paradigm Shift: Design Becomes Specification"
|
||||
- "Dog Week: 26 weeks → 5 weeks (5x faster, better quality)"
|
||||
- "Next: Module 02 - Project Brief"
|
||||
|
||||
**B-roll suggestions:**
|
||||
- Designer at crossroads - two paths (factory vs linchpin)
|
||||
- AI generating generic interfaces (AI slop)
|
||||
- Products with soul vs soulless products
|
||||
- Designer as gatekeeper - evaluating AI output
|
||||
- 5 dimensions visualized as interconnected circles
|
||||
- Designer navigating complexity, creating clarity
|
||||
- Before/after: mockup handoff vs specification workflow
|
||||
- Dog Week app in use (Swedish family calendar)
|
||||
- Transformation journey: threatened → confident
|
||||
|
||||
---
|
||||
|
||||
## Usage Tips
|
||||
|
||||
1. **Upload THIS SINGLE FILE** to NotebookLM - no other files needed
|
||||
2. **Use the prompt exactly** as written for best results
|
||||
3. **Generate multiple versions** and pick the best one
|
||||
4. **Share the audio/video** with your team or community
|
||||
5. **Iterate** - if the output isn't quite right, refine the prompt
|
||||
|
||||
---
|
||||
|
||||
## Next Steps
|
||||
|
||||
After generating Module 01 content:
|
||||
- Create NotebookLM prompt for Module 02: Project Brief
|
||||
- Build prompts for all remaining modules
|
||||
- Share in BMad Discord designer channel
|
||||
|
||||
---
|
||||
|
||||
**This module transforms how designers think about their role in the AI era - from threatened to indispensable!** 🎯✨
|
||||
|
|
@ -0,0 +1,104 @@
|
|||
# WDS Design Delivery Template
|
||||
# Copy this template to: deliveries/DD-XXX-name.yaml
|
||||
|
||||
delivery:
|
||||
id: "DD-XXX" # Format: DD-001, DD-002, etc.
|
||||
name: "Feature Name" # Human-readable name
|
||||
type: "user_flow" # user_flow | feature | component
|
||||
status: "ready" # ready | in_progress | blocked
|
||||
priority: "high" # high | medium | low
|
||||
created_by: "wds-ux-expert"
|
||||
created_at: "YYYY-MM-DDTHH:MM:SSZ"
|
||||
updated_at: "YYYY-MM-DDTHH:MM:SSZ"
|
||||
version: "1.0"
|
||||
|
||||
description: |
|
||||
[Describe what this delivery contains and why it matters.
|
||||
Include the complete user flow and key features.]
|
||||
|
||||
user_value:
|
||||
problem: "[What user problem does this solve?]"
|
||||
solution: "[How does this feature solve it?]"
|
||||
success_criteria:
|
||||
- "[Measurable success criterion 1]"
|
||||
- "[Measurable success criterion 2]"
|
||||
- "[Measurable success criterion 3]"
|
||||
|
||||
design_artifacts:
|
||||
scenarios:
|
||||
- id: "XX-scenario-name"
|
||||
path: "C-Scenarios/XX-scenario-name/"
|
||||
screens: ["screen1", "screen2"]
|
||||
|
||||
- id: "XX-scenario-name"
|
||||
path: "C-Scenarios/XX-scenario-name/"
|
||||
screens: ["screen1"]
|
||||
|
||||
user_flows:
|
||||
- name: "Flow Name"
|
||||
path: "C-Scenarios/flows/flow-name.excalidraw"
|
||||
entry: "entry-screen"
|
||||
exit: "exit-screen"
|
||||
|
||||
design_system:
|
||||
components:
|
||||
- "Component Name (variants)"
|
||||
- "Component Name (variants)"
|
||||
path: "D-Design-System/"
|
||||
|
||||
technical_requirements:
|
||||
platform:
|
||||
frontend: "framework-name" # From platform-requirements.yaml
|
||||
backend: "framework-name" # From platform-requirements.yaml
|
||||
|
||||
integrations:
|
||||
- name: "integration-name"
|
||||
purpose: "[Why this integration is needed]"
|
||||
required: true # true | false
|
||||
|
||||
- name: "integration-name"
|
||||
purpose: "[Why this integration is needed]"
|
||||
required: false
|
||||
|
||||
data_models:
|
||||
- name: "ModelName"
|
||||
fields: ["field1", "field2", "field3"]
|
||||
|
||||
- name: "ModelName"
|
||||
fields: ["field1", "field2"]
|
||||
|
||||
acceptance_criteria:
|
||||
functional:
|
||||
- "[Functional requirement 1]"
|
||||
- "[Functional requirement 2]"
|
||||
- "[Functional requirement 3]"
|
||||
|
||||
non_functional:
|
||||
- "[Performance requirement]"
|
||||
- "[Accessibility requirement]"
|
||||
- "[Security requirement]"
|
||||
|
||||
edge_cases:
|
||||
- "[Edge case 1] → [Expected behavior]"
|
||||
- "[Edge case 2] → [Expected behavior]"
|
||||
- "[Edge case 3] → [Expected behavior]"
|
||||
|
||||
testing_guidance:
|
||||
user_testing:
|
||||
- "[User testing instruction 1]"
|
||||
- "[User testing instruction 2]"
|
||||
|
||||
qa_testing:
|
||||
- "[QA testing instruction 1]"
|
||||
- "[QA testing instruction 2]"
|
||||
- "[QA testing instruction 3]"
|
||||
|
||||
estimated_complexity:
|
||||
size: "medium" # small | medium | large
|
||||
effort: "2-3 weeks" # Time estimate
|
||||
risk: "low" # low | medium | high
|
||||
dependencies: [] # List of DD-XXX IDs needed first
|
||||
|
||||
notes: |
|
||||
[Any special considerations, important context, or
|
||||
critical details that the development team should know.]
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
# WDS Platform Requirements Template
|
||||
# Save to: A-Project-Brief/platform-requirements.yaml
|
||||
|
||||
project:
|
||||
name: "Project Name"
|
||||
type: "mobile_app" # mobile_app | web_app | desktop_app | api
|
||||
wds_version: "6.0"
|
||||
created_at: "YYYY-MM-DDTHH:MM:SSZ"
|
||||
|
||||
platform:
|
||||
frontend:
|
||||
framework: "framework-name" # react_native | react | vue | angular | svelte
|
||||
version: "X.X"
|
||||
state_management: "library" # zustand | redux | mobx | context
|
||||
navigation: "library" # react_navigation | react_router | vue_router
|
||||
styling: "approach" # tailwind | styled_components | css_modules
|
||||
ui_library: "library" # shadcn | mui | chakra (optional)
|
||||
|
||||
backend:
|
||||
framework: "framework-name" # supabase | firebase | express | fastapi | django
|
||||
version: "X.X"
|
||||
auth: "auth-provider" # supabase_auth | firebase_auth | auth0 | custom
|
||||
database: "database-type" # postgresql | mysql | mongodb | firestore
|
||||
storage: "storage-provider" # supabase_storage | s3 | cloudinary
|
||||
api: "api-type" # rest | graphql | grpc
|
||||
|
||||
database:
|
||||
type: "database-type" # postgresql | mysql | mongodb
|
||||
version: "XX"
|
||||
orm: "orm-library" # prisma | typeorm | mongoose (optional)
|
||||
|
||||
deployment:
|
||||
frontend: "platform" # expo_eas | vercel | netlify | aws
|
||||
backend: "platform" # supabase_cloud | firebase | heroku | aws
|
||||
ci_cd: "platform" # github_actions | gitlab_ci | circle_ci
|
||||
hosting: "platform" # vercel | netlify | aws (if web app)
|
||||
|
||||
integrations:
|
||||
- name: "integration-name"
|
||||
provider: "provider-name"
|
||||
required: true # true | false
|
||||
purpose: "[Why this integration is needed]"
|
||||
|
||||
- name: "integration-name"
|
||||
provider: "provider-name"
|
||||
required: false
|
||||
purpose: "[Why this integration is needed]"
|
||||
|
||||
constraints:
|
||||
- "[Technical constraint 1]"
|
||||
- "[Technical constraint 2]"
|
||||
- "[Business constraint 1]"
|
||||
- "[Regulatory constraint 1]"
|
||||
|
||||
performance_requirements:
|
||||
- "[Performance requirement 1]"
|
||||
- "[Performance requirement 2]"
|
||||
- "[Performance requirement 3]"
|
||||
|
||||
security_requirements:
|
||||
- "[Security requirement 1]"
|
||||
- "[Security requirement 2]"
|
||||
- "[Security requirement 3]"
|
||||
|
||||
wds_metadata:
|
||||
project_brief: "A-Project-Brief/project-brief.md"
|
||||
trigger_map: "B-Trigger-Map/trigger-map.md"
|
||||
scenarios: "C-Scenarios/"
|
||||
design_system: "D-Design-System/"
|
||||
|
|
@ -0,0 +1,192 @@
|
|||
# WDS Test Scenario Template
|
||||
# Save to: test-scenarios/TS-XXX-name.yaml
|
||||
|
||||
test_scenario:
|
||||
id: "TS-XXX" # Format: TS-001, TS-002, etc.
|
||||
name: "Feature Testing" # Human-readable name
|
||||
delivery_id: "DD-XXX" # Related Design Delivery
|
||||
type: "user_acceptance" # user_acceptance | integration | e2e
|
||||
status: "ready" # ready | in_progress | blocked
|
||||
tester: "designer" # designer | qa | developer
|
||||
created_at: "YYYY-MM-DDTHH:MM:SSZ"
|
||||
|
||||
test_objectives:
|
||||
- "Validate implementation matches design specifications"
|
||||
- "Verify user flow is intuitive and smooth"
|
||||
- "Confirm all edge cases are handled"
|
||||
- "Ensure design system components are used correctly"
|
||||
- "Test accessibility and usability"
|
||||
|
||||
test_environment:
|
||||
devices:
|
||||
- "Device 1 (OS version)"
|
||||
- "Device 2 (OS version)"
|
||||
|
||||
test_data:
|
||||
- field: "value"
|
||||
- field: "value"
|
||||
|
||||
# Happy Path Tests
|
||||
happy_path:
|
||||
- id: "HP-001"
|
||||
name: "Main User Flow"
|
||||
priority: "critical" # critical | high | medium | low
|
||||
|
||||
steps:
|
||||
- action: "[User action]"
|
||||
expected: "[Expected result]"
|
||||
design_ref: "[Path to specification]#[section]"
|
||||
|
||||
- action: "[User action]"
|
||||
expected: "[Expected result]"
|
||||
design_ref: "[Path to specification]#[section]"
|
||||
|
||||
success_criteria:
|
||||
- "[Success criterion 1]"
|
||||
- "[Success criterion 2]"
|
||||
- "[Success criterion 3]"
|
||||
|
||||
# Error State Tests
|
||||
error_states:
|
||||
- id: "ES-001"
|
||||
name: "Error Scenario"
|
||||
priority: "high"
|
||||
|
||||
steps:
|
||||
- action: "[Action that triggers error]"
|
||||
- expected: "[Expected error message]"
|
||||
- expected: "[Expected recovery option]"
|
||||
- design_ref: "[Path to specification]#[error-section]"
|
||||
|
||||
success_criteria:
|
||||
- "[Error handling criterion 1]"
|
||||
- "[Error handling criterion 2]"
|
||||
|
||||
# Edge Case Tests
|
||||
edge_cases:
|
||||
- id: "EC-001"
|
||||
name: "Edge Case Scenario"
|
||||
priority: "medium"
|
||||
|
||||
steps:
|
||||
- action: "[Unusual action]"
|
||||
- expected: "[Expected handling]"
|
||||
- design_ref: "[Path to specification]#[edge-case-section]"
|
||||
|
||||
success_criteria:
|
||||
- "[Edge case criterion 1]"
|
||||
|
||||
# Design System Validation
|
||||
design_system_checks:
|
||||
- id: "DS-001"
|
||||
name: "Component Validation"
|
||||
checks:
|
||||
- component: "Component Name"
|
||||
instances: ["Location 1", "Location 2"]
|
||||
verify:
|
||||
- "[Visual property 1]"
|
||||
- "[Visual property 2]"
|
||||
- "[State behavior 1]"
|
||||
design_ref: "D-Design-System/path/to/component.md"
|
||||
|
||||
# Accessibility Tests
|
||||
accessibility:
|
||||
- id: "A11Y-001"
|
||||
name: "Screen Reader Navigation"
|
||||
priority: "high"
|
||||
|
||||
setup: "Enable screen reader (VoiceOver/TalkBack)"
|
||||
|
||||
steps:
|
||||
- action: "[Navigate with screen reader]"
|
||||
- verify:
|
||||
- "[Accessibility check 1]"
|
||||
- "[Accessibility check 2]"
|
||||
|
||||
success_criteria:
|
||||
- "[Accessibility criterion 1]"
|
||||
- "[Accessibility criterion 2]"
|
||||
|
||||
# Usability Tests
|
||||
usability:
|
||||
- id: "UX-001"
|
||||
name: "First Impression"
|
||||
type: "observational"
|
||||
|
||||
instructions: |
|
||||
[Instructions for conducting usability test]
|
||||
|
||||
success_criteria:
|
||||
- "[Usability criterion 1]"
|
||||
- "[Usability criterion 2]"
|
||||
|
||||
# Performance Tests
|
||||
performance:
|
||||
- id: "PERF-001"
|
||||
name: "Performance Check"
|
||||
|
||||
verify:
|
||||
- "[Performance metric 1]"
|
||||
- "[Performance metric 2]"
|
||||
|
||||
success_criteria:
|
||||
- "[Performance target 1]"
|
||||
- "[Performance target 2]"
|
||||
|
||||
# Test Report Template
|
||||
report_template:
|
||||
sections:
|
||||
- name: "Test Summary"
|
||||
fields:
|
||||
- "Date tested"
|
||||
- "Tester name"
|
||||
- "Device tested"
|
||||
- "Build version"
|
||||
- "Overall result (Pass/Fail/Partial)"
|
||||
|
||||
- name: "Happy Path Results"
|
||||
fields:
|
||||
- "Test ID"
|
||||
- "Result (Pass/Fail)"
|
||||
- "Notes"
|
||||
- "Screenshots"
|
||||
|
||||
- name: "Issues Found"
|
||||
fields:
|
||||
- "Issue ID"
|
||||
- "Severity (Critical/High/Medium/Low)"
|
||||
- "Description"
|
||||
- "Steps to reproduce"
|
||||
- "Expected vs Actual"
|
||||
- "Screenshot/Video"
|
||||
- "Design reference violated"
|
||||
|
||||
- name: "Design System Compliance"
|
||||
fields:
|
||||
- "Component"
|
||||
- "Compliant (Yes/No)"
|
||||
- "Deviations noted"
|
||||
|
||||
- name: "Recommendations"
|
||||
fields:
|
||||
- "What worked well"
|
||||
- "What needs improvement"
|
||||
- "Suggested changes"
|
||||
|
||||
# Sign-off Criteria
|
||||
sign_off:
|
||||
required_for_approval:
|
||||
- "All critical tests pass"
|
||||
- "No critical or high severity issues"
|
||||
- "Design system compliance > 95%"
|
||||
- "Accessibility tests pass"
|
||||
- "Usability metrics meet targets"
|
||||
|
||||
designer_approval:
|
||||
statement: |
|
||||
I confirm that the implemented feature matches the design
|
||||
specifications and meets the quality standards defined in
|
||||
this test scenario.
|
||||
|
||||
signature: "________________"
|
||||
date: "________________"
|
||||
|
|
@ -0,0 +1,459 @@
|
|||
# Phase 6: Design Deliveries
|
||||
|
||||
**Package complete testable flows and hand off to development**
|
||||
|
||||
---
|
||||
|
||||
## Purpose
|
||||
|
||||
Phase 6 is where you package complete testable flows and hand off to development.
|
||||
|
||||
**This is an iterative phase** - you'll repeat it for each complete flow you design.
|
||||
|
||||
---
|
||||
|
||||
## Phase 6 Micro-Steps Overview
|
||||
|
||||
```
|
||||
Phase 6.1: Detect Epic Completion
|
||||
↓ (Is flow complete and testable?)
|
||||
Phase 6.2: Create Design Delivery
|
||||
↓ (Package into DD-XXX.yaml)
|
||||
Phase 6.3: Create Test Scenario
|
||||
↓ (Define validation tests)
|
||||
Phase 6.4: Handoff Dialog
|
||||
↓ (20-30 min with BMad Architect)
|
||||
Phase 6.5: Hand Off to BMad
|
||||
↓ (Mark as in_development)
|
||||
Phase 6.6: Continue with Next Flow
|
||||
↓ (Return to Phase 4-5)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## When to Enter Phase 6
|
||||
|
||||
**After completing ONE complete testable user flow:**
|
||||
|
||||
✅ **Phase 4 Complete:** All scenarios for this flow are specified
|
||||
✅ **Phase 5 Complete:** All components for this flow are defined
|
||||
✅ **Flow is testable:** Entry point → Exit point, complete
|
||||
✅ **Flow delivers value:** Business value + User value
|
||||
✅ **Ready for development:** No blockers or dependencies
|
||||
|
||||
**Example:**
|
||||
```
|
||||
Flow: Login & Onboarding
|
||||
✓ Scenario 01: Welcome screen
|
||||
✓ Scenario 02: Login
|
||||
✓ Scenario 03: Signup
|
||||
✓ Scenario 04: Family setup
|
||||
✓ Components: Button, Input, Card
|
||||
✓ Testable: App open → Dashboard
|
||||
✓ Value: Users can access the app
|
||||
→ Ready for Phase 6!
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Phase 6 Micro-Steps
|
||||
|
||||
### Phase 6.1: Detect Epic Completion
|
||||
|
||||
**Check if you have a complete testable flow:**
|
||||
|
||||
- ✅ All scenarios for this flow are specified
|
||||
- ✅ All components for this flow are defined
|
||||
- ✅ Flow is testable (entry → exit)
|
||||
- ✅ Flow delivers business value
|
||||
- ✅ Flow delivers user value
|
||||
- ✅ No blockers or dependencies
|
||||
|
||||
**If YES:** Proceed to Phase 6.2
|
||||
**If NO:** Return to Phase 4-5 and continue designing
|
||||
|
||||
---
|
||||
|
||||
### Phase 6.2: Create Design Delivery
|
||||
|
||||
**File:** `deliveries/DD-XXX-name.yaml`
|
||||
|
||||
**Use template:** `templates/design-delivery.template.yaml`
|
||||
|
||||
**Include:**
|
||||
- All scenarios for this flow
|
||||
- Technical requirements
|
||||
- Design system components used
|
||||
- Acceptance criteria
|
||||
- Testing guidance
|
||||
- Complexity estimate
|
||||
|
||||
**Example:**
|
||||
```yaml
|
||||
delivery:
|
||||
id: "DD-001"
|
||||
name: "Login & Onboarding Flow"
|
||||
status: "ready"
|
||||
priority: "high"
|
||||
|
||||
design_artifacts:
|
||||
scenarios:
|
||||
- id: "01-welcome"
|
||||
path: "C-Scenarios/01-welcome-screen/"
|
||||
- id: "02-login"
|
||||
path: "C-Scenarios/02-login/"
|
||||
# ... etc
|
||||
|
||||
user_value:
|
||||
problem: "Users need to access the app securely"
|
||||
solution: "Streamlined onboarding with family setup"
|
||||
success_criteria:
|
||||
- "User completes signup in under 2 minutes"
|
||||
- "90% completion rate"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Phase 6.3: Create Test Scenario
|
||||
|
||||
**File:** `test-scenarios/TS-XXX-name.yaml`
|
||||
|
||||
**Use template:** `templates/test-scenario.template.yaml`
|
||||
|
||||
**Include:**
|
||||
- Happy path tests
|
||||
- Error state tests
|
||||
- Edge case tests
|
||||
- Design system validation
|
||||
- Accessibility tests
|
||||
- Usability tests
|
||||
|
||||
**Example:**
|
||||
```yaml
|
||||
test_scenario:
|
||||
id: "TS-001"
|
||||
name: "Login & Onboarding Testing"
|
||||
delivery_id: "DD-001"
|
||||
|
||||
happy_path:
|
||||
- id: "HP-001"
|
||||
name: "New User Complete Onboarding"
|
||||
steps:
|
||||
- action: "Open app"
|
||||
expected: "Welcome screen appears"
|
||||
design_ref: "C-Scenarios/01-welcome/Frontend/specifications.md"
|
||||
# ... etc
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Phase 6.4: Handoff Dialog
|
||||
|
||||
**Initiate conversation with BMad Architect**
|
||||
|
||||
**Duration:** 20-30 minutes
|
||||
|
||||
**Protocol:** See `src/core/resources/wds/handoff-protocol.md`
|
||||
|
||||
**Topics to cover:**
|
||||
1. User value and success criteria
|
||||
2. Scenario walkthrough
|
||||
3. Technical requirements
|
||||
4. Design system components
|
||||
5. Acceptance criteria
|
||||
6. Testing approach
|
||||
7. Complexity estimate
|
||||
8. Special considerations
|
||||
9. Implementation planning
|
||||
10. Confirmation
|
||||
|
||||
**Example:**
|
||||
```
|
||||
WDS UX Expert: "Hey Architect! I've completed the design for
|
||||
Login & Onboarding. Let me walk you through
|
||||
Design Delivery DD-001..."
|
||||
|
||||
[20-minute structured conversation]
|
||||
|
||||
BMad Architect: "Handoff complete! I'll break this down into
|
||||
4 development epics. Total: 3 weeks."
|
||||
|
||||
WDS UX Expert: "Perfect! I'll start designing the next flow
|
||||
while you build this one."
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Phase 6.5: Hand Off to BMad
|
||||
|
||||
**Mark delivery as handed off:**
|
||||
|
||||
Update delivery status:
|
||||
```yaml
|
||||
delivery:
|
||||
status: "in_development"
|
||||
handed_off_at: "2024-12-09T11:00:00Z"
|
||||
assigned_to: "bmad-architect"
|
||||
```
|
||||
|
||||
**BMad receives:**
|
||||
- Design Delivery (DD-XXX.yaml)
|
||||
- All scenario specifications
|
||||
- Design system components
|
||||
- Test scenario (TS-XXX.yaml)
|
||||
|
||||
**BMad starts:**
|
||||
- Architecture design
|
||||
- Epic breakdown
|
||||
- Implementation
|
||||
|
||||
---
|
||||
|
||||
### Phase 6.6: Continue with Next Flow
|
||||
|
||||
**While BMad builds this flow, you design the next one!**
|
||||
|
||||
**Return to Phase 4:**
|
||||
- Design next complete testable flow
|
||||
- Create specifications
|
||||
- Define components
|
||||
|
||||
**Then return to Phase 6:**
|
||||
- Create next Design Delivery
|
||||
- Hand off to BMad
|
||||
- Repeat
|
||||
|
||||
**Parallel work:**
|
||||
```
|
||||
Week 1: Design Flow 1
|
||||
Week 2: Handoff Flow 1 → BMad builds Flow 1
|
||||
Design Flow 2
|
||||
Week 3: Handoff Flow 2 → BMad builds Flow 2
|
||||
Design Flow 3
|
||||
Test Flow 1 (Phase 7)
|
||||
Week 4: Handoff Flow 3 → BMad builds Flow 3
|
||||
Test Flow 2 (Phase 7)
|
||||
Design Flow 4
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Deliverables
|
||||
|
||||
### Design Delivery File
|
||||
|
||||
**Location:** `deliveries/DD-XXX-name.yaml`
|
||||
|
||||
**Contents:**
|
||||
- Delivery metadata (id, name, status, priority)
|
||||
- User value (problem, solution, success criteria)
|
||||
- Design artifacts (scenarios, flows, components)
|
||||
- Technical requirements (platform, integrations, data models)
|
||||
- Acceptance criteria (functional, non-functional, edge cases)
|
||||
- Testing guidance (user testing, QA testing)
|
||||
- Complexity estimate (size, effort, risk, dependencies)
|
||||
|
||||
---
|
||||
|
||||
### Test Scenario File
|
||||
|
||||
**Location:** `test-scenarios/TS-XXX-name.yaml`
|
||||
|
||||
**Contents:**
|
||||
- Test metadata (id, name, delivery_id, status)
|
||||
- Test objectives
|
||||
- Happy path tests
|
||||
- Error state tests
|
||||
- Edge case tests
|
||||
- Design system validation
|
||||
- Accessibility tests
|
||||
- Usability tests
|
||||
- Performance tests
|
||||
- Sign-off criteria
|
||||
|
||||
---
|
||||
|
||||
### Handoff Log
|
||||
|
||||
**Location:** `deliveries/DD-XXX-handoff-log.md`
|
||||
|
||||
**Contents:**
|
||||
- Handoff date and duration
|
||||
- Participants
|
||||
- Key points discussed
|
||||
- Epic breakdown agreed
|
||||
- Questions and answers
|
||||
- Action items
|
||||
- Status
|
||||
|
||||
---
|
||||
|
||||
## Quality Checklist
|
||||
|
||||
### Before Creating Delivery
|
||||
|
||||
- [ ] All scenarios for this flow are specified
|
||||
- [ ] All components for this flow are defined
|
||||
- [ ] Flow is complete (entry → exit)
|
||||
- [ ] Flow is testable end-to-end
|
||||
- [ ] Flow delivers business value
|
||||
- [ ] Flow delivers user value
|
||||
- [ ] No blockers or dependencies
|
||||
- [ ] Technical requirements are clear
|
||||
|
||||
### Design Delivery Complete
|
||||
|
||||
- [ ] Delivery file created (DD-XXX.yaml)
|
||||
- [ ] All required fields filled
|
||||
- [ ] Scenarios referenced correctly
|
||||
- [ ] Components listed accurately
|
||||
- [ ] Acceptance criteria are clear
|
||||
- [ ] Testing guidance is complete
|
||||
- [ ] Complexity estimate is realistic
|
||||
|
||||
### Test Scenario Complete
|
||||
|
||||
- [ ] Test scenario file created (TS-XXX.yaml)
|
||||
- [ ] Happy path tests cover full flow
|
||||
- [ ] Error states are tested
|
||||
- [ ] Edge cases are covered
|
||||
- [ ] Design system validation included
|
||||
- [ ] Accessibility tests included
|
||||
- [ ] Sign-off criteria are clear
|
||||
|
||||
### Handoff Complete
|
||||
|
||||
- [ ] Handoff dialog completed
|
||||
- [ ] BMad Architect understands design
|
||||
- [ ] Epic breakdown agreed upon
|
||||
- [ ] Questions answered
|
||||
- [ ] Special considerations noted
|
||||
- [ ] Handoff log documented
|
||||
- [ ] Delivery marked as "in_development"
|
||||
|
||||
---
|
||||
|
||||
## Common Patterns
|
||||
|
||||
### Pattern 1: First Delivery (MVP)
|
||||
|
||||
**Goal:** Get to testing as fast as possible
|
||||
|
||||
**Approach:**
|
||||
1. Design the most critical user flow first
|
||||
2. Example: Login & Onboarding (users must access app)
|
||||
3. Keep it simple and focused
|
||||
4. Hand off quickly
|
||||
5. Learn from testing
|
||||
|
||||
---
|
||||
|
||||
### Pattern 2: Incremental Value
|
||||
|
||||
**Goal:** Deliver value incrementally
|
||||
|
||||
**Approach:**
|
||||
1. Each delivery adds new value
|
||||
2. Example: DD-001 (Login) → DD-002 (Core Feature) → DD-003 (Enhancement)
|
||||
3. Users see progress
|
||||
4. Business sees ROI
|
||||
5. Team stays motivated
|
||||
|
||||
---
|
||||
|
||||
### Pattern 3: Parallel Streams
|
||||
|
||||
**Goal:** Maximize throughput
|
||||
|
||||
**Approach:**
|
||||
1. Designer designs Flow 2 while BMad builds Flow 1
|
||||
2. Designer designs Flow 3 while BMad builds Flow 2
|
||||
3. Designer tests Flow 1 while designing Flow 4
|
||||
4. Continuous flow of work
|
||||
5. No waiting or blocking
|
||||
|
||||
---
|
||||
|
||||
## Tips for Success
|
||||
|
||||
### DO ✅
|
||||
|
||||
**Design complete flows:**
|
||||
- Entry point to exit point
|
||||
- All scenarios specified
|
||||
- All components defined
|
||||
- Testable end-to-end
|
||||
|
||||
**Deliver value:**
|
||||
- Business value (ROI, metrics)
|
||||
- User value (solves problem)
|
||||
- Testable (can validate)
|
||||
- Ready (no blockers)
|
||||
|
||||
**Communicate clearly:**
|
||||
- Handoff dialog is crucial
|
||||
- Answer all questions
|
||||
- Document decisions
|
||||
- Stay available
|
||||
|
||||
**Iterate fast:**
|
||||
- Don't design everything at once
|
||||
- Get to testing quickly
|
||||
- Learn from real users
|
||||
- Adjust based on feedback
|
||||
|
||||
### DON'T ❌
|
||||
|
||||
**Don't wait:**
|
||||
- Don't design all flows before handing off
|
||||
- Don't wait for perfection
|
||||
- Don't block development
|
||||
|
||||
**Don't over-design:**
|
||||
- Don't add unnecessary features
|
||||
- Don't gold-plate
|
||||
- Don't lose focus on value
|
||||
|
||||
**Don't under-specify:**
|
||||
- Don't leave gaps in specifications
|
||||
- Don't assume BMad will figure it out
|
||||
- Don't skip edge cases
|
||||
|
||||
**Don't disappear:**
|
||||
- Don't hand off and vanish
|
||||
- Don't ignore questions
|
||||
- Don't skip validation (Phase 7)
|
||||
|
||||
---
|
||||
|
||||
## Next Steps
|
||||
|
||||
**After Phase 6:**
|
||||
|
||||
1. **BMad builds the flow** (Architecture → Implementation)
|
||||
2. **You design the next flow** (Return to Phase 4-5)
|
||||
3. **BMad notifies when ready** (Feature complete)
|
||||
4. **You validate** (Phase 7: Testing)
|
||||
5. **Iterate if needed** (Fix issues, retest)
|
||||
6. **Sign off** (When quality meets standards)
|
||||
7. **Repeat** (Next delivery)
|
||||
|
||||
---
|
||||
|
||||
## Resources
|
||||
|
||||
**Templates:**
|
||||
- `templates/design-delivery.template.yaml`
|
||||
- `templates/test-scenario.template.yaml`
|
||||
|
||||
**Specifications:**
|
||||
- `src/core/resources/wds/design-delivery-spec.md`
|
||||
- `src/core/resources/wds/handoff-protocol.md`
|
||||
- `src/core/resources/wds/integration-guide.md`
|
||||
|
||||
**Examples:**
|
||||
- See `WDS-V6-CONVERSION-ROADMAP.md` for integration details
|
||||
|
||||
---
|
||||
|
||||
**Phase 6 is where design becomes development! Package, handoff, and keep moving!** 📦✨
|
||||
|
|
@ -0,0 +1,127 @@
|
|||
# Step 6.1: Detect Epic Completion
|
||||
|
||||
## Your Task
|
||||
|
||||
Check if you have a complete testable flow ready for handoff.
|
||||
|
||||
---
|
||||
|
||||
## Completion Checklist
|
||||
|
||||
**Review your work from Phase 4-5:**
|
||||
|
||||
### Phase 4: UX Design Complete?
|
||||
|
||||
- [ ] All scenarios for this flow are specified
|
||||
- [ ] Each scenario has complete specifications
|
||||
- [ ] User flows are documented
|
||||
- [ ] Interactions are defined
|
||||
- [ ] Error states are designed
|
||||
|
||||
**Location:** `C-Scenarios/XX-scenario-name/`
|
||||
|
||||
---
|
||||
|
||||
### Phase 5: Design System Complete?
|
||||
|
||||
- [ ] All components for this flow are defined
|
||||
- [ ] Design tokens are documented
|
||||
- [ ] Component specifications are complete
|
||||
- [ ] Usage guidelines are clear
|
||||
- [ ] States and variants are defined
|
||||
|
||||
**Location:** `D-Design-System/03-Atomic-Components/`
|
||||
|
||||
---
|
||||
|
||||
### Flow Completeness
|
||||
|
||||
- [ ] **Flow is testable:** Entry point → Exit point, complete
|
||||
- [ ] **Flow delivers business value:** Measurable business outcome
|
||||
- [ ] **Flow delivers user value:** Solves user problem
|
||||
- [ ] **No blockers:** All dependencies resolved
|
||||
- [ ] **No unknowns:** All design decisions made
|
||||
|
||||
---
|
||||
|
||||
## Example: Login & Onboarding Flow
|
||||
|
||||
```
|
||||
✓ Scenario 01: Welcome screen (complete)
|
||||
✓ Scenario 02: Login (complete)
|
||||
✓ Scenario 03: Signup (complete)
|
||||
✓ Scenario 04: Family setup (complete)
|
||||
|
||||
✓ Components: Button, Input, Card (all defined)
|
||||
✓ Design tokens: Colors, Typography, Spacing (documented)
|
||||
|
||||
✓ Testable: App open → Dashboard (complete flow)
|
||||
✓ Business value: Users can access the app
|
||||
✓ User value: Easy onboarding experience
|
||||
✓ No blockers: All technical requirements clear
|
||||
|
||||
→ Ready for Phase 6.2!
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Decision Point
|
||||
|
||||
**Is your flow complete and ready for handoff?**
|
||||
|
||||
### ✅ YES - Flow is Complete
|
||||
|
||||
**Proceed to Phase 6.2:**
|
||||
```
|
||||
[C] Continue to step-6.2-create-delivery.md
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### ❌ NO - Flow is Not Complete
|
||||
|
||||
**What's missing?**
|
||||
|
||||
**If scenarios are incomplete:**
|
||||
- Return to Phase 4: UX Design
|
||||
- Complete missing scenarios
|
||||
- Return to this step when done
|
||||
|
||||
**If components are incomplete:**
|
||||
- Return to Phase 5: Design System
|
||||
- Define missing components
|
||||
- Return to this step when done
|
||||
|
||||
**If flow is not testable:**
|
||||
- Identify missing pieces
|
||||
- Complete the flow
|
||||
- Return to this step when done
|
||||
|
||||
---
|
||||
|
||||
## Success Metrics
|
||||
|
||||
✅ All scenarios for this flow are specified
|
||||
✅ All components for this flow are defined
|
||||
✅ Flow is testable end-to-end
|
||||
✅ Flow delivers measurable value
|
||||
✅ No blockers or unknowns
|
||||
✅ User confirmed readiness to proceed
|
||||
|
||||
---
|
||||
|
||||
## Failure Modes
|
||||
|
||||
❌ Proceeding with incomplete scenarios
|
||||
❌ Missing component definitions
|
||||
❌ Flow has gaps or unknowns
|
||||
❌ Dependencies not resolved
|
||||
❌ Design decisions not finalized
|
||||
|
||||
---
|
||||
|
||||
## Next Step
|
||||
|
||||
After confirming completion, load `./step-6.2-create-delivery.md` to create the Design Delivery.
|
||||
|
||||
**Remember:** Do NOT proceed until the flow is truly complete!
|
||||
|
|
@ -0,0 +1,306 @@
|
|||
# Step 6.2: Create Design Delivery
|
||||
|
||||
## Your Task
|
||||
|
||||
Package your complete testable flow into a Design Delivery YAML file.
|
||||
|
||||
---
|
||||
|
||||
## Before You Start
|
||||
|
||||
**Ensure you have:**
|
||||
- ✅ Completed step 6.1 (flow is complete)
|
||||
- ✅ All scenario specifications ready
|
||||
- ✅ All component definitions ready
|
||||
- ✅ Clear understanding of user value
|
||||
|
||||
---
|
||||
|
||||
## Create Design Delivery File
|
||||
|
||||
### Step 1: Choose Delivery ID
|
||||
|
||||
**Format:** `DD-XXX-name.yaml`
|
||||
|
||||
**Examples:**
|
||||
- `DD-001-login-onboarding.yaml`
|
||||
- `DD-002-morning-dog-care.yaml`
|
||||
- `DD-003-calendar-view.yaml`
|
||||
|
||||
**Numbering:**
|
||||
- Start at DD-001 for first delivery
|
||||
- Increment for each new delivery
|
||||
- Use leading zeros (DD-001, not DD-1)
|
||||
|
||||
---
|
||||
|
||||
### Step 2: Copy Template
|
||||
|
||||
**Template location:** `templates/design-delivery.template.yaml`
|
||||
|
||||
**Create file:** `deliveries/DD-XXX-name.yaml`
|
||||
|
||||
```bash
|
||||
# Create deliveries directory if it doesn't exist
|
||||
mkdir -p deliveries
|
||||
|
||||
# Copy template
|
||||
cp templates/design-delivery.template.yaml deliveries/DD-001-login-onboarding.yaml
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Step 3: Fill Out Delivery Metadata
|
||||
|
||||
```yaml
|
||||
delivery:
|
||||
id: "DD-001"
|
||||
name: "Login & Onboarding Flow"
|
||||
status: "ready" # ready | in_development | in_testing | complete
|
||||
priority: "high" # critical | high | medium | low
|
||||
version: "1.0"
|
||||
created_at: "2024-12-09T12:00:00Z"
|
||||
updated_at: "2024-12-09T12:00:00Z"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Step 4: Define User Value
|
||||
|
||||
**What problem does this solve? What value does it deliver?**
|
||||
|
||||
```yaml
|
||||
user_value:
|
||||
problem: |
|
||||
Users need to access the app securely and set up their
|
||||
family structure before using core features.
|
||||
|
||||
solution: |
|
||||
Streamlined onboarding flow that guides users through
|
||||
account creation, family setup, and initial dog addition.
|
||||
|
||||
success_criteria:
|
||||
- "User completes signup in under 2 minutes"
|
||||
- "90% onboarding completion rate"
|
||||
- "User satisfaction score > 4.5/5"
|
||||
- "Zero critical errors during onboarding"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Step 5: List Design Artifacts
|
||||
|
||||
**Reference all scenarios and components for this flow:**
|
||||
|
||||
```yaml
|
||||
design_artifacts:
|
||||
scenarios:
|
||||
- id: "01-welcome"
|
||||
path: "C-Scenarios/01-welcome-screen/"
|
||||
description: "Initial welcome screen with value proposition"
|
||||
|
||||
- id: "02-login"
|
||||
path: "C-Scenarios/02-login/"
|
||||
description: "Login flow for returning users"
|
||||
|
||||
- id: "03-signup"
|
||||
path: "C-Scenarios/03-signup/"
|
||||
description: "Account creation for new users"
|
||||
|
||||
- id: "04-family-setup"
|
||||
path: "C-Scenarios/04-family-setup/"
|
||||
description: "Family/household configuration"
|
||||
|
||||
user_flows:
|
||||
- name: "New User Onboarding"
|
||||
path: "C-Scenarios/flows/new-user-onboarding.md"
|
||||
entry_point: "01-welcome"
|
||||
exit_point: "04-family-setup"
|
||||
|
||||
design_system_components:
|
||||
- component: "Button"
|
||||
variants: ["Primary", "Secondary", "Text"]
|
||||
path: "D-Design-System/03-Atomic-Components/Buttons/"
|
||||
|
||||
- component: "Input"
|
||||
variants: ["Text", "Email", "Password"]
|
||||
path: "D-Design-System/03-Atomic-Components/Inputs/"
|
||||
|
||||
- component: "Card"
|
||||
variants: ["Default", "Elevated"]
|
||||
path: "D-Design-System/03-Atomic-Components/Cards/"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Step 6: Define Technical Requirements
|
||||
|
||||
```yaml
|
||||
technical_requirements:
|
||||
platform:
|
||||
frontend: "React Native 0.72"
|
||||
backend: "Supabase 2.x"
|
||||
database: "PostgreSQL 15"
|
||||
|
||||
integrations:
|
||||
- name: "Supabase Auth"
|
||||
type: "required"
|
||||
provider: "Supabase"
|
||||
purpose: "User authentication and session management"
|
||||
|
||||
- name: "Email Verification"
|
||||
type: "required"
|
||||
provider: "Supabase"
|
||||
purpose: "Verify user email addresses"
|
||||
|
||||
data_models:
|
||||
- model: "User"
|
||||
fields: ["id", "email", "name", "created_at"]
|
||||
path: "A-Project-Brief/data-models.md#user"
|
||||
|
||||
- model: "Family"
|
||||
fields: ["id", "name", "owner_id", "created_at"]
|
||||
path: "A-Project-Brief/data-models.md#family"
|
||||
|
||||
performance:
|
||||
- "Screen load time < 1 second"
|
||||
- "Form submission response < 500ms"
|
||||
- "Smooth 60fps animations"
|
||||
|
||||
security:
|
||||
- "Password must be hashed (bcrypt)"
|
||||
- "Email verification required"
|
||||
- "Session tokens expire after 30 days"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Step 7: Define Acceptance Criteria
|
||||
|
||||
```yaml
|
||||
acceptance_criteria:
|
||||
functional:
|
||||
- "User can create account with email and password"
|
||||
- "User receives verification email"
|
||||
- "User can log in with verified credentials"
|
||||
- "User can set up family/household"
|
||||
- "User can skip dog addition during onboarding"
|
||||
|
||||
non_functional:
|
||||
- "All screens load in under 1 second"
|
||||
- "Forms validate input in real-time"
|
||||
- "Error messages are clear and actionable"
|
||||
- "Design system components used correctly"
|
||||
- "Accessibility: WCAG 2.1 AA compliance"
|
||||
|
||||
edge_cases:
|
||||
- "Handle email already exists error"
|
||||
- "Handle network timeout during signup"
|
||||
- "Handle app close mid-onboarding (resume state)"
|
||||
- "Handle invalid email format"
|
||||
- "Handle weak password"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Step 8: Add Testing Guidance
|
||||
|
||||
```yaml
|
||||
testing_guidance:
|
||||
user_testing:
|
||||
- "Recruit 5-10 new users who have never used the app"
|
||||
- "Observe onboarding completion without assistance"
|
||||
- "Measure time to complete onboarding"
|
||||
- "Ask: 'Was anything confusing?'"
|
||||
- "Target: 90% completion rate, < 2 minutes"
|
||||
|
||||
qa_testing:
|
||||
- "Test all happy paths"
|
||||
- "Test all error states"
|
||||
- "Test all edge cases"
|
||||
- "Test on iOS and Android"
|
||||
- "Test with slow network"
|
||||
- "Test with no network"
|
||||
|
||||
design_validation:
|
||||
- "Verify design system compliance"
|
||||
- "Verify accessibility"
|
||||
- "Verify animations and transitions"
|
||||
- "Verify copy matches specifications"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Step 9: Estimate Complexity
|
||||
|
||||
```yaml
|
||||
estimated_complexity:
|
||||
size: "medium" # small | medium | large | xlarge
|
||||
effort: "2-3 weeks"
|
||||
risk: "low" # low | medium | high
|
||||
|
||||
dependencies:
|
||||
- "Supabase project setup"
|
||||
- "Email service configuration"
|
||||
|
||||
assumptions:
|
||||
- "Supabase Auth SDK is stable"
|
||||
- "Design system components are reusable"
|
||||
- "No major technical blockers"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Validation
|
||||
|
||||
**Before proceeding, verify:**
|
||||
|
||||
- [ ] Delivery ID is unique and follows format
|
||||
- [ ] All required fields are filled
|
||||
- [ ] All scenarios are referenced
|
||||
- [ ] All components are listed
|
||||
- [ ] Technical requirements are clear
|
||||
- [ ] Acceptance criteria are testable
|
||||
- [ ] Complexity estimate is realistic
|
||||
|
||||
---
|
||||
|
||||
## Example Complete Delivery
|
||||
|
||||
See `design-deliveries-guide.md` for full example.
|
||||
|
||||
---
|
||||
|
||||
## Next Step
|
||||
|
||||
After creating the Design Delivery file:
|
||||
|
||||
```
|
||||
[C] Continue to step-6.3-create-test-scenario.md
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Success Metrics
|
||||
|
||||
✅ Design Delivery file created
|
||||
✅ All required fields filled
|
||||
✅ All scenarios and components referenced
|
||||
✅ Technical requirements documented
|
||||
✅ Acceptance criteria defined
|
||||
✅ Testing guidance provided
|
||||
✅ Complexity estimated
|
||||
|
||||
---
|
||||
|
||||
## Failure Modes
|
||||
|
||||
❌ Missing required fields
|
||||
❌ Incomplete scenario references
|
||||
❌ Vague acceptance criteria
|
||||
❌ Unrealistic complexity estimate
|
||||
❌ Missing technical requirements
|
||||
|
||||
---
|
||||
|
||||
**Remember:** This Design Delivery is the contract between design and development. Be thorough!
|
||||
|
|
@ -0,0 +1,429 @@
|
|||
# Step 6.3: Create Test Scenario
|
||||
|
||||
## Your Task
|
||||
|
||||
Create a test scenario file that defines how to validate this Design Delivery after implementation.
|
||||
|
||||
---
|
||||
|
||||
## Before You Start
|
||||
|
||||
**Ensure you have:**
|
||||
- ✅ Completed step 6.2 (Design Delivery created)
|
||||
- ✅ Design Delivery file: `deliveries/DD-XXX-name.yaml`
|
||||
- ✅ Clear understanding of what needs testing
|
||||
|
||||
---
|
||||
|
||||
## Create Test Scenario File
|
||||
|
||||
### Step 1: Choose Test Scenario ID
|
||||
|
||||
**Format:** `TS-XXX-name.yaml`
|
||||
|
||||
**Match the Design Delivery ID:**
|
||||
- DD-001 → TS-001
|
||||
- DD-002 → TS-002
|
||||
- DD-003 → TS-003
|
||||
|
||||
**Examples:**
|
||||
- `TS-001-login-onboarding.yaml`
|
||||
- `TS-002-morning-dog-care.yaml`
|
||||
- `TS-003-calendar-view.yaml`
|
||||
|
||||
---
|
||||
|
||||
### Step 2: Copy Template
|
||||
|
||||
**Template location:** `templates/test-scenario.template.yaml`
|
||||
|
||||
**Create file:** `test-scenarios/TS-XXX-name.yaml`
|
||||
|
||||
```bash
|
||||
# Create test-scenarios directory if it doesn't exist
|
||||
mkdir -p test-scenarios
|
||||
|
||||
# Copy template
|
||||
cp templates/test-scenario.template.yaml test-scenarios/TS-001-login-onboarding.yaml
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Step 3: Fill Out Test Metadata
|
||||
|
||||
```yaml
|
||||
test_scenario:
|
||||
id: "TS-001"
|
||||
name: "Login & Onboarding Testing"
|
||||
delivery_id: "DD-001"
|
||||
status: "ready" # ready | in_progress | complete
|
||||
version: "1.0"
|
||||
created_at: "2024-12-09T12:00:00Z"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Step 4: Define Test Objectives
|
||||
|
||||
```yaml
|
||||
test_objectives:
|
||||
- "Verify complete onboarding flow works end-to-end"
|
||||
- "Validate design system compliance"
|
||||
- "Ensure accessibility standards are met"
|
||||
- "Confirm error handling is clear and helpful"
|
||||
- "Measure onboarding completion rate and time"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Step 5: Define Happy Path Tests
|
||||
|
||||
**Test the main user flow:**
|
||||
|
||||
```yaml
|
||||
happy_path:
|
||||
- id: "HP-001"
|
||||
name: "New User Complete Onboarding"
|
||||
description: "User creates account and completes onboarding"
|
||||
steps:
|
||||
- action: "Open app"
|
||||
expected: "Welcome screen appears with value proposition"
|
||||
design_ref: "C-Scenarios/01-welcome/Frontend/specifications.md"
|
||||
|
||||
- action: "Tap 'Get Started' button"
|
||||
expected: "Login/Signup choice screen appears"
|
||||
design_ref: "C-Scenarios/02-login/Frontend/specifications.md"
|
||||
|
||||
- action: "Tap 'Create Account'"
|
||||
expected: "Signup form appears"
|
||||
design_ref: "C-Scenarios/03-signup/Frontend/specifications.md"
|
||||
|
||||
- action: "Enter email: test@example.com"
|
||||
expected: "Email field validates format in real-time"
|
||||
design_ref: "C-Scenarios/03-signup/Frontend/specifications.md#validation"
|
||||
|
||||
- action: "Enter password: SecurePass123!"
|
||||
expected: "Password field shows strength indicator"
|
||||
design_ref: "C-Scenarios/03-signup/Frontend/specifications.md#password"
|
||||
|
||||
- action: "Tap 'Create Account' button"
|
||||
expected: "Loading state, then success message"
|
||||
design_ref: "C-Scenarios/03-signup/Frontend/specifications.md#submit"
|
||||
|
||||
- action: "Navigate to Family Setup"
|
||||
expected: "Family setup screen appears"
|
||||
design_ref: "C-Scenarios/04-family-setup/Frontend/specifications.md"
|
||||
|
||||
- action: "Enter family name: 'The Smiths'"
|
||||
expected: "Family name field accepts input"
|
||||
design_ref: "C-Scenarios/04-family-setup/Frontend/specifications.md"
|
||||
|
||||
- action: "Tap 'Continue'"
|
||||
expected: "Onboarding complete, navigate to dashboard"
|
||||
design_ref: "C-Scenarios/04-family-setup/Frontend/specifications.md#complete"
|
||||
|
||||
success_criteria:
|
||||
- "All steps complete without errors"
|
||||
- "User reaches dashboard"
|
||||
- "Time to complete < 2 minutes"
|
||||
|
||||
- id: "HP-002"
|
||||
name: "Returning User Login"
|
||||
description: "Existing user logs in"
|
||||
steps:
|
||||
- action: "Open app"
|
||||
expected: "Welcome screen appears"
|
||||
|
||||
- action: "Tap 'Get Started'"
|
||||
expected: "Login/Signup choice appears"
|
||||
|
||||
- action: "Tap 'Log In'"
|
||||
expected: "Login form appears"
|
||||
|
||||
- action: "Enter email and password"
|
||||
expected: "Fields accept input"
|
||||
|
||||
- action: "Tap 'Log In' button"
|
||||
expected: "Loading state, then navigate to dashboard"
|
||||
|
||||
success_criteria:
|
||||
- "User successfully logs in"
|
||||
- "Session persists"
|
||||
- "Login time < 3 seconds"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Step 6: Define Error State Tests
|
||||
|
||||
**Test error handling:**
|
||||
|
||||
```yaml
|
||||
error_states:
|
||||
- id: "ES-001"
|
||||
name: "Email Already Exists"
|
||||
steps:
|
||||
- action: "Enter email that already exists"
|
||||
- action: "Tap 'Create Account'"
|
||||
- expected: "Error message: 'This email is already registered. Try logging in instead.'"
|
||||
- expected: "Helpful action: 'Go to Login' button"
|
||||
|
||||
validation:
|
||||
- "Error message is clear and actionable"
|
||||
- "User can recover without losing data"
|
||||
- "Error styling matches design system"
|
||||
|
||||
- id: "ES-002"
|
||||
name: "Invalid Email Format"
|
||||
steps:
|
||||
- action: "Enter invalid email: 'notanemail'"
|
||||
- action: "Tap outside field (blur)"
|
||||
- expected: "Real-time validation error: 'Please enter a valid email'"
|
||||
|
||||
validation:
|
||||
- "Error appears immediately on blur"
|
||||
- "Error clears when valid email entered"
|
||||
|
||||
- id: "ES-003"
|
||||
name: "Weak Password"
|
||||
steps:
|
||||
- action: "Enter weak password: '123'"
|
||||
- expected: "Password strength indicator shows 'Weak'"
|
||||
- expected: "Helper text: 'Password must be at least 8 characters'"
|
||||
|
||||
validation:
|
||||
- "Strength indicator updates in real-time"
|
||||
- "Submit button disabled until password is strong"
|
||||
|
||||
- id: "ES-004"
|
||||
name: "Network Timeout"
|
||||
steps:
|
||||
- setup: "Simulate slow/no network"
|
||||
- action: "Tap 'Create Account'"
|
||||
- expected: "Loading state for 5 seconds"
|
||||
- expected: "Timeout error: 'Connection timeout. Please try again.'"
|
||||
- expected: "Retry button available"
|
||||
|
||||
validation:
|
||||
- "User is informed of network issue"
|
||||
- "User can retry without re-entering data"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Step 7: Define Edge Case Tests
|
||||
|
||||
**Test unusual scenarios:**
|
||||
|
||||
```yaml
|
||||
edge_cases:
|
||||
- id: "EC-001"
|
||||
name: "User Closes App Mid-Onboarding"
|
||||
steps:
|
||||
- action: "Start onboarding, complete signup"
|
||||
- action: "Close app (force quit)"
|
||||
- action: "Reopen app"
|
||||
- expected: "Resume at Family Setup (last incomplete step)"
|
||||
|
||||
validation:
|
||||
- "Progress is saved"
|
||||
- "User doesn't have to start over"
|
||||
|
||||
- id: "EC-002"
|
||||
name: "User Navigates Back During Onboarding"
|
||||
steps:
|
||||
- action: "Complete signup"
|
||||
- action: "Tap back button on Family Setup"
|
||||
- expected: "Confirmation: 'Are you sure? Progress will be saved.'"
|
||||
|
||||
validation:
|
||||
- "User is warned before going back"
|
||||
- "Progress is not lost"
|
||||
|
||||
- id: "EC-003"
|
||||
name: "Very Long Family Name"
|
||||
steps:
|
||||
- action: "Enter 100-character family name"
|
||||
- expected: "Field truncates at 50 characters"
|
||||
- expected: "Character count: '50/50'"
|
||||
|
||||
validation:
|
||||
- "Field has reasonable limit"
|
||||
- "User is informed of limit"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Step 8: Define Design System Validation
|
||||
|
||||
**Check component compliance:**
|
||||
|
||||
```yaml
|
||||
design_system_checks:
|
||||
- id: "DS-001"
|
||||
name: "Button Components"
|
||||
checks:
|
||||
- component: "Primary Button"
|
||||
instances: ["Get Started", "Create Account", "Continue"]
|
||||
verify:
|
||||
- "Height: 48px"
|
||||
- "Background: tokens.button.primary.background (#2563EB)"
|
||||
- "Text: tokens.button.primary.text (#FFFFFF)"
|
||||
- "Typography: 16px, semibold"
|
||||
- "Border radius: 8px"
|
||||
- "Padding: 12px 24px"
|
||||
design_ref: "D-Design-System/03-Atomic-Components/Buttons/Button-Primary.md"
|
||||
|
||||
- component: "Secondary Button"
|
||||
instances: ["Log In"]
|
||||
verify:
|
||||
- "Height: 48px"
|
||||
- "Background: transparent"
|
||||
- "Border: 2px solid tokens.button.secondary.border"
|
||||
- "Text: tokens.button.secondary.text"
|
||||
design_ref: "D-Design-System/03-Atomic-Components/Buttons/Button-Secondary.md"
|
||||
|
||||
- id: "DS-002"
|
||||
name: "Input Components"
|
||||
checks:
|
||||
- component: "Text Input"
|
||||
instances: ["Email", "Password", "Family Name"]
|
||||
verify:
|
||||
- "Height: 48px"
|
||||
- "Border: 1px solid tokens.input.border"
|
||||
- "Focus border: 2px solid tokens.input.focus"
|
||||
- "Error border: 2px solid tokens.input.error"
|
||||
- "Typography: 16px, regular"
|
||||
design_ref: "D-Design-System/03-Atomic-Components/Inputs/Input-Text.md"
|
||||
|
||||
- id: "DS-003"
|
||||
name: "Spacing and Layout"
|
||||
checks:
|
||||
- verify:
|
||||
- "Screen padding: 20px (tokens.spacing.screen)"
|
||||
- "Element spacing: 16px (tokens.spacing.md)"
|
||||
- "Section spacing: 32px (tokens.spacing.xl)"
|
||||
design_ref: "D-Design-System/02-Foundation/Spacing/tokens.json"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Step 9: Define Accessibility Tests
|
||||
|
||||
```yaml
|
||||
accessibility:
|
||||
- id: "A11Y-001"
|
||||
name: "Screen Reader Navigation"
|
||||
setup: "Enable VoiceOver (iOS) or TalkBack (Android)"
|
||||
verify:
|
||||
- "All buttons have descriptive labels"
|
||||
- "Form fields announce their purpose"
|
||||
- "Error messages are announced"
|
||||
- "Navigation order is logical"
|
||||
|
||||
success_criteria:
|
||||
- "User can complete onboarding using only screen reader"
|
||||
|
||||
- id: "A11Y-002"
|
||||
name: "Color Contrast"
|
||||
verify:
|
||||
- "Text on background: 4.5:1 minimum (WCAG AA)"
|
||||
- "Button text on button background: 4.5:1 minimum"
|
||||
- "Error text on background: 4.5:1 minimum"
|
||||
|
||||
tools:
|
||||
- "Use contrast checker tool"
|
||||
- "Test in grayscale mode"
|
||||
|
||||
- id: "A11Y-003"
|
||||
name: "Touch Targets"
|
||||
verify:
|
||||
- "All buttons: 44×44px minimum"
|
||||
- "All input fields: 44px height minimum"
|
||||
- "Spacing between targets: 8px minimum"
|
||||
|
||||
success_criteria:
|
||||
- "All interactive elements are easily tappable"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Step 10: Define Sign-Off Criteria
|
||||
|
||||
```yaml
|
||||
sign_off_criteria:
|
||||
required:
|
||||
- "All happy path tests pass (100%)"
|
||||
- "All error state tests pass (100%)"
|
||||
- "All edge case tests pass (100%)"
|
||||
- "Design system compliance > 95%"
|
||||
- "All accessibility tests pass (100%)"
|
||||
- "No critical or high severity issues"
|
||||
|
||||
metrics:
|
||||
- name: "Onboarding Completion Rate"
|
||||
target: "> 90%"
|
||||
measurement: "Users who complete onboarding / Users who start"
|
||||
|
||||
- name: "Time to Complete"
|
||||
target: "< 2 minutes"
|
||||
measurement: "Average time from app open to dashboard"
|
||||
|
||||
- name: "User Satisfaction"
|
||||
target: "> 4.5/5"
|
||||
measurement: "Post-onboarding survey"
|
||||
|
||||
- name: "Error Rate"
|
||||
target: "< 5%"
|
||||
measurement: "Users who encounter errors / Total users"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Validation
|
||||
|
||||
**Before proceeding, verify:**
|
||||
|
||||
- [ ] Test Scenario ID matches Design Delivery ID
|
||||
- [ ] All happy paths are covered
|
||||
- [ ] All error states are tested
|
||||
- [ ] Edge cases are identified
|
||||
- [ ] Design system checks are complete
|
||||
- [ ] Accessibility tests are defined
|
||||
- [ ] Sign-off criteria are clear
|
||||
|
||||
---
|
||||
|
||||
## Next Step
|
||||
|
||||
After creating the Test Scenario file:
|
||||
|
||||
```
|
||||
[C] Continue to step-6.4-handoff-dialog.md
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Success Metrics
|
||||
|
||||
✅ Test Scenario file created
|
||||
✅ Happy path tests defined
|
||||
✅ Error state tests defined
|
||||
✅ Edge case tests defined
|
||||
✅ Design system validation defined
|
||||
✅ Accessibility tests defined
|
||||
✅ Sign-off criteria clear
|
||||
|
||||
---
|
||||
|
||||
## Failure Modes
|
||||
|
||||
❌ Incomplete test coverage
|
||||
❌ Vague test steps
|
||||
❌ Missing design references
|
||||
❌ No sign-off criteria
|
||||
❌ Accessibility tests missing
|
||||
|
||||
---
|
||||
|
||||
**Remember:** These test scenarios will be used by the designer to validate implementation. Be thorough!
|
||||
|
|
@ -0,0 +1,429 @@
|
|||
# Step 6.4: Handoff Dialog
|
||||
|
||||
## Your Task
|
||||
|
||||
Initiate a structured handoff conversation with the BMad Architect to transfer design knowledge and align on implementation.
|
||||
|
||||
---
|
||||
|
||||
## Before You Start
|
||||
|
||||
**Ensure you have:**
|
||||
- ✅ Completed step 6.3 (Test Scenario created)
|
||||
- ✅ Design Delivery file ready: `deliveries/DD-XXX-name.yaml`
|
||||
- ✅ Test Scenario file ready: `test-scenarios/TS-XXX-name.yaml`
|
||||
- ✅ 20-30 minutes available for focused conversation
|
||||
|
||||
---
|
||||
|
||||
## Handoff Protocol
|
||||
|
||||
**Full protocol:** `src/core/resources/wds/handoff-protocol.md`
|
||||
|
||||
**Duration:** 20-30 minutes
|
||||
|
||||
**Participants:**
|
||||
- WDS UX Expert (you)
|
||||
- BMad Architect
|
||||
|
||||
---
|
||||
|
||||
## Handoff Dialog Structure
|
||||
|
||||
### Phase 1: Introduction (2 min)
|
||||
|
||||
**You say:**
|
||||
```
|
||||
"Hey Architect! I've completed the design for [Flow Name].
|
||||
I'd like to walk you through Design Delivery DD-XXX.
|
||||
|
||||
This delivery includes:
|
||||
- [Number] scenarios
|
||||
- [Number] components
|
||||
- Complete test scenarios
|
||||
|
||||
Ready for the walkthrough?"
|
||||
```
|
||||
|
||||
**Architect responds:**
|
||||
```
|
||||
"Absolutely! Let's go through it."
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Phase 2: User Value (3 min)
|
||||
|
||||
**Explain the user value:**
|
||||
|
||||
```
|
||||
"First, let me explain what problem we're solving:
|
||||
|
||||
Problem:
|
||||
[Describe the user problem]
|
||||
|
||||
Solution:
|
||||
[Describe how this flow solves it]
|
||||
|
||||
Success Criteria:
|
||||
- [Metric 1]
|
||||
- [Metric 2]
|
||||
- [Metric 3]
|
||||
|
||||
This is critical because [business value]."
|
||||
```
|
||||
|
||||
**Questions to answer:**
|
||||
- Why does this flow matter?
|
||||
- What business value does it deliver?
|
||||
- How will we measure success?
|
||||
|
||||
---
|
||||
|
||||
### Phase 3: Scenario Walkthrough (8 min)
|
||||
|
||||
**Walk through each scenario:**
|
||||
|
||||
```
|
||||
"Let me walk you through the user flow:
|
||||
|
||||
Scenario 1: [Name]
|
||||
- User starts at: [Entry point]
|
||||
- User action: [What they do]
|
||||
- System response: [What happens]
|
||||
- User sees: [What's displayed]
|
||||
- Design reference: C-Scenarios/XX-name/
|
||||
|
||||
[Repeat for each scenario]
|
||||
|
||||
The complete flow is:
|
||||
[Entry point] → [Step 1] → [Step 2] → [Exit point]"
|
||||
```
|
||||
|
||||
**Show:**
|
||||
- Excalidraw sketches (if available)
|
||||
- Scenario specifications
|
||||
- User flow diagrams
|
||||
|
||||
**Architect may ask:**
|
||||
- "What happens if [edge case]?"
|
||||
- "How does this integrate with [existing feature]?"
|
||||
- "What's the data flow here?"
|
||||
|
||||
**Answer clearly and reference specifications!**
|
||||
|
||||
---
|
||||
|
||||
### Phase 4: Technical Requirements (4 min)
|
||||
|
||||
**Review technical requirements:**
|
||||
|
||||
```
|
||||
"Technical requirements:
|
||||
|
||||
Platform:
|
||||
- Frontend: [Framework + version]
|
||||
- Backend: [Framework + version]
|
||||
- Database: [Database + version]
|
||||
|
||||
Integrations:
|
||||
- [Integration 1]: [Purpose]
|
||||
- [Integration 2]: [Purpose]
|
||||
|
||||
Data Models:
|
||||
- [Model 1]: [Fields]
|
||||
- [Model 2]: [Fields]
|
||||
|
||||
Performance:
|
||||
- [Requirement 1]
|
||||
- [Requirement 2]
|
||||
|
||||
Security:
|
||||
- [Requirement 1]
|
||||
- [Requirement 2]"
|
||||
```
|
||||
|
||||
**Architect may ask:**
|
||||
- "Why this tech stack?"
|
||||
- "Are there any constraints?"
|
||||
- "What about [technical concern]?"
|
||||
|
||||
**Answer:** Reference `platform-requirements.yaml` if needed!
|
||||
|
||||
---
|
||||
|
||||
### Phase 5: Design System Components (3 min)
|
||||
|
||||
**Review components:**
|
||||
|
||||
```
|
||||
"Design system components used:
|
||||
|
||||
Button:
|
||||
- Primary variant: [Usage]
|
||||
- Secondary variant: [Usage]
|
||||
- Specs: D-Design-System/.../Buttons/
|
||||
|
||||
Input:
|
||||
- Text variant: [Usage]
|
||||
- Email variant: [Usage]
|
||||
- Password variant: [Usage]
|
||||
- Specs: D-Design-System/.../Inputs/
|
||||
|
||||
[List all components]
|
||||
|
||||
All components follow our design tokens:
|
||||
- Colors: tokens/colors.json
|
||||
- Typography: tokens/typography.json
|
||||
- Spacing: tokens/spacing.json"
|
||||
```
|
||||
|
||||
**Architect may ask:**
|
||||
- "Do these components already exist?"
|
||||
- "Any new components needed?"
|
||||
- "What about [specific state]?"
|
||||
|
||||
**Answer:** Reference component specifications!
|
||||
|
||||
---
|
||||
|
||||
### Phase 6: Acceptance Criteria (3 min)
|
||||
|
||||
**Review acceptance criteria:**
|
||||
|
||||
```
|
||||
"Acceptance criteria:
|
||||
|
||||
Functional:
|
||||
- [Criterion 1]
|
||||
- [Criterion 2]
|
||||
- [Criterion 3]
|
||||
|
||||
Non-Functional:
|
||||
- [Criterion 1]
|
||||
- [Criterion 2]
|
||||
|
||||
Edge Cases:
|
||||
- [Case 1]
|
||||
- [Case 2]
|
||||
|
||||
All criteria are testable and defined in TS-XXX.yaml"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Phase 7: Testing Approach (2 min)
|
||||
|
||||
**Explain testing:**
|
||||
|
||||
```
|
||||
"Testing approach:
|
||||
|
||||
I've created test scenario TS-XXX which includes:
|
||||
- Happy path tests ([number] tests)
|
||||
- Error state tests ([number] tests)
|
||||
- Edge case tests ([number] tests)
|
||||
- Design system validation
|
||||
- Accessibility tests
|
||||
|
||||
When you're done implementing, I'll:
|
||||
1. Run these test scenarios
|
||||
2. Create issues if problems found
|
||||
3. Iterate with you until approved
|
||||
4. Sign off when quality meets standards"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Phase 8: Complexity Estimate (2 min)
|
||||
|
||||
**Discuss complexity:**
|
||||
|
||||
```
|
||||
"My complexity estimate:
|
||||
|
||||
Size: [Small/Medium/Large]
|
||||
Effort: [Time estimate]
|
||||
Risk: [Low/Medium/High]
|
||||
|
||||
Dependencies:
|
||||
- [Dependency 1]
|
||||
- [Dependency 2]
|
||||
|
||||
Assumptions:
|
||||
- [Assumption 1]
|
||||
- [Assumption 2]
|
||||
|
||||
Does this align with your technical assessment?"
|
||||
```
|
||||
|
||||
**Architect responds with their estimate:**
|
||||
```
|
||||
"I'll break this into [number] epics:
|
||||
- Epic 1: [Name] ([time])
|
||||
- Epic 2: [Name] ([time])
|
||||
- Epic 3: [Name] ([time])
|
||||
|
||||
Total: [time estimate]"
|
||||
```
|
||||
|
||||
**Discuss any discrepancies!**
|
||||
|
||||
---
|
||||
|
||||
### Phase 9: Special Considerations (2 min)
|
||||
|
||||
**Highlight anything special:**
|
||||
|
||||
```
|
||||
"Special considerations:
|
||||
|
||||
- [Important note 1]
|
||||
- [Important note 2]
|
||||
- [Potential gotcha]
|
||||
- [Critical requirement]
|
||||
|
||||
Questions or concerns?"
|
||||
```
|
||||
|
||||
**Architect may raise:**
|
||||
- Technical challenges
|
||||
- Integration concerns
|
||||
- Timeline issues
|
||||
- Resource needs
|
||||
|
||||
**Discuss and resolve!**
|
||||
|
||||
---
|
||||
|
||||
### Phase 10: Confirmation & Next Steps (1 min)
|
||||
|
||||
**Confirm handoff:**
|
||||
|
||||
```
|
||||
You: "So to confirm:
|
||||
- You have DD-XXX.yaml (Design Delivery)
|
||||
- You have TS-XXX.yaml (Test Scenario)
|
||||
- You have all scenario specs in C-Scenarios/
|
||||
- You have all component specs in D-Design-System/
|
||||
- You'll break this into [number] epics
|
||||
- Estimated [time] to implement
|
||||
- You'll notify me when ready for validation
|
||||
|
||||
Anything else you need?"
|
||||
|
||||
Architect: "All set! I'll start architecture design and
|
||||
break this down into epics. I'll notify you
|
||||
when implementation is complete and ready
|
||||
for your validation."
|
||||
|
||||
You: "Perfect! I'll start designing the next flow while
|
||||
you build this one. Thanks!"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Document the Handoff
|
||||
|
||||
**Create handoff log:** `deliveries/DD-XXX-handoff-log.md`
|
||||
|
||||
```markdown
|
||||
# Handoff Log: DD-XXX
|
||||
|
||||
**Date:** 2024-12-09
|
||||
**Duration:** 25 minutes
|
||||
**Participants:**
|
||||
- WDS UX Expert: [Your name]
|
||||
- BMad Architect: Winston
|
||||
|
||||
## Key Points Discussed
|
||||
|
||||
- User value and success criteria
|
||||
- Complete scenario walkthrough
|
||||
- Technical requirements confirmed
|
||||
- Design system components reviewed
|
||||
- Acceptance criteria agreed
|
||||
- Testing approach explained
|
||||
- Complexity estimate aligned
|
||||
|
||||
## Epic Breakdown Agreed
|
||||
|
||||
1. Epic 1: Authentication & Session Management (1 week)
|
||||
2. Epic 2: Onboarding UI & Flow (1 week)
|
||||
3. Epic 3: Family Setup & Data Models (0.5 week)
|
||||
4. Epic 4: Error Handling & Edge Cases (0.5 week)
|
||||
|
||||
**Total:** 3 weeks
|
||||
|
||||
## Questions & Answers
|
||||
|
||||
Q: "How do we handle session persistence?"
|
||||
A: "Use Supabase Auth SDK, 30-day expiration"
|
||||
|
||||
Q: "What if user closes app mid-onboarding?"
|
||||
A: "Save progress, resume at last incomplete step"
|
||||
|
||||
## Action Items
|
||||
|
||||
- [ ] Architect: Create architecture document
|
||||
- [ ] Architect: Break down into dev stories
|
||||
- [ ] Architect: Notify designer when ready for validation
|
||||
- [ ] Designer: Start designing next flow (DD-002)
|
||||
|
||||
## Status
|
||||
|
||||
**Handoff:** Complete ✅
|
||||
**Delivery Status:** in_development
|
||||
**Next Touch Point:** Designer validation (Phase 7)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Update Delivery Status
|
||||
|
||||
**Update `deliveries/DD-XXX-name.yaml`:**
|
||||
|
||||
```yaml
|
||||
delivery:
|
||||
status: "in_development" # Changed from "ready"
|
||||
handed_off_at: "2024-12-09T12:30:00Z"
|
||||
assigned_to: "bmad-architect"
|
||||
handoff_log: "deliveries/DD-XXX-handoff-log.md"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Next Step
|
||||
|
||||
After completing the handoff dialog:
|
||||
|
||||
```
|
||||
[C] Continue to step-6.5-hand-off.md
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Success Metrics
|
||||
|
||||
✅ Handoff dialog completed (20-30 min)
|
||||
✅ All 10 phases covered
|
||||
✅ Architect understands design vision
|
||||
✅ Epic breakdown agreed
|
||||
✅ Questions answered
|
||||
✅ Handoff log documented
|
||||
✅ Delivery status updated
|
||||
|
||||
---
|
||||
|
||||
## Failure Modes
|
||||
|
||||
❌ Rushing through handoff (< 15 min)
|
||||
❌ Skipping phases
|
||||
❌ Not answering architect's questions
|
||||
❌ No epic breakdown agreement
|
||||
❌ Not documenting handoff
|
||||
❌ Leaving architect confused
|
||||
|
||||
---
|
||||
|
||||
**Remember:** This handoff is critical! Take your time and ensure the architect fully understands the design!
|
||||
|
|
@ -0,0 +1,307 @@
|
|||
# Step 6.5: Hand Off to BMad
|
||||
|
||||
## Your Task
|
||||
|
||||
Officially hand off the Design Delivery to BMad and confirm they have everything needed.
|
||||
|
||||
---
|
||||
|
||||
## Before You Start
|
||||
|
||||
**Ensure you have:**
|
||||
- ✅ Completed step 6.4 (Handoff dialog complete)
|
||||
- ✅ Handoff log documented
|
||||
- ✅ Delivery status updated to "in_development"
|
||||
|
||||
---
|
||||
|
||||
## Final Handoff Checklist
|
||||
|
||||
### Verify BMad Has All Artifacts
|
||||
|
||||
**Design Delivery:**
|
||||
- [ ] File exists: `deliveries/DD-XXX-name.yaml`
|
||||
- [ ] Status: "in_development"
|
||||
- [ ] Handed off timestamp recorded
|
||||
- [ ] Assigned to BMad Architect
|
||||
|
||||
**Test Scenario:**
|
||||
- [ ] File exists: `test-scenarios/TS-XXX-name.yaml`
|
||||
- [ ] All tests defined
|
||||
- [ ] Sign-off criteria clear
|
||||
|
||||
**Scenario Specifications:**
|
||||
- [ ] All scenarios in `C-Scenarios/` are complete
|
||||
- [ ] All specifications are up-to-date
|
||||
- [ ] All design references are valid
|
||||
|
||||
**Design System:**
|
||||
- [ ] All components in `D-Design-System/` are defined
|
||||
- [ ] Design tokens are documented
|
||||
- [ ] Component specifications are complete
|
||||
|
||||
**Handoff Log:**
|
||||
- [ ] File exists: `deliveries/DD-XXX-handoff-log.md`
|
||||
- [ ] All key points documented
|
||||
- [ ] Epic breakdown recorded
|
||||
- [ ] Action items listed
|
||||
|
||||
---
|
||||
|
||||
## Notify BMad
|
||||
|
||||
**Send official handoff notification:**
|
||||
|
||||
```
|
||||
WDS UX Expert → BMad Architect
|
||||
|
||||
Subject: Design Delivery DD-XXX Ready for Implementation
|
||||
|
||||
Hi Architect!
|
||||
|
||||
Design Delivery DD-XXX ([Flow Name]) is officially handed off
|
||||
and ready for implementation.
|
||||
|
||||
📦 Artifacts:
|
||||
- Design Delivery: deliveries/DD-XXX-name.yaml
|
||||
- Test Scenario: test-scenarios/TS-XXX-name.yaml
|
||||
- Scenarios: C-Scenarios/ ([number] scenarios)
|
||||
- Components: D-Design-System/ ([number] components)
|
||||
- Handoff Log: deliveries/DD-XXX-handoff-log.md
|
||||
|
||||
✅ What we agreed:
|
||||
- Epic breakdown: [number] epics
|
||||
- Estimated effort: [time]
|
||||
- Implementation approach: [summary]
|
||||
|
||||
📋 Next steps:
|
||||
1. You: Create architecture document
|
||||
2. You: Break down into dev stories
|
||||
3. You: Implement features
|
||||
4. You: Notify me when ready for validation (Touch Point 3)
|
||||
|
||||
🔗 Touch Point 3:
|
||||
When implementation is complete, notify me and I'll run the
|
||||
test scenarios to validate. We'll iterate until approved.
|
||||
|
||||
Questions? I'm available!
|
||||
|
||||
Thanks,
|
||||
[Your name]
|
||||
WDS UX Expert
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## BMad Acknowledges
|
||||
|
||||
**BMad Architect responds:**
|
||||
|
||||
```
|
||||
BMad Architect → WDS UX Expert
|
||||
|
||||
Subject: Re: Design Delivery DD-XXX Ready for Implementation
|
||||
|
||||
Received! Starting work on DD-XXX.
|
||||
|
||||
📋 My plan:
|
||||
1. Create architecture document (this week)
|
||||
2. Break down into [number] dev stories
|
||||
3. Implement over [time period]
|
||||
4. Notify you when ready for validation
|
||||
|
||||
📦 Confirmed I have:
|
||||
✅ Design Delivery (DD-XXX.yaml)
|
||||
✅ Test Scenario (TS-XXX.yaml)
|
||||
✅ All scenario specs
|
||||
✅ All component specs
|
||||
✅ Handoff log
|
||||
|
||||
I'll keep you updated on progress. Thanks for the thorough
|
||||
handoff!
|
||||
|
||||
Winston
|
||||
BMad Architect
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Update Project Status
|
||||
|
||||
**Update project tracking (if you have one):**
|
||||
|
||||
```markdown
|
||||
# Project Status
|
||||
|
||||
## In Progress
|
||||
|
||||
### DD-XXX: [Flow Name]
|
||||
- Status: In Development
|
||||
- Assigned: BMad Architect
|
||||
- Started: 2024-12-09
|
||||
- Estimated completion: 2024-12-30
|
||||
- Epics: [number]
|
||||
- Designer: Available for questions
|
||||
|
||||
## Next Up
|
||||
|
||||
### DD-XXX+1: [Next Flow Name]
|
||||
- Status: In Design
|
||||
- Phase: 4-5 (UX Design & Design System)
|
||||
- Designer: Working on scenarios
|
||||
- Estimated handoff: 2024-12-16
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Set Up Monitoring
|
||||
|
||||
**Track progress:**
|
||||
|
||||
**Weekly check-ins:**
|
||||
- Schedule brief sync with BMad Architect
|
||||
- Review progress
|
||||
- Answer questions
|
||||
- Unblock issues
|
||||
|
||||
**Communication channel:**
|
||||
- Slack/Teams channel: #dd-xxx-implementation
|
||||
- Quick questions welcome
|
||||
- Async updates appreciated
|
||||
|
||||
**Milestone notifications:**
|
||||
- Epic 1 complete → Notify designer
|
||||
- Epic 2 complete → Notify designer
|
||||
- All epics complete → Ready for validation (Touch Point 3)
|
||||
|
||||
---
|
||||
|
||||
## Designer Availability
|
||||
|
||||
**Make yourself available:**
|
||||
|
||||
```
|
||||
"I'm available for questions while you implement:
|
||||
|
||||
Quick questions:
|
||||
- Slack/Teams: @designer
|
||||
- Response time: < 2 hours
|
||||
|
||||
Design clarifications:
|
||||
- Schedule 15-min call
|
||||
- Review specifications together
|
||||
- Update specs if needed
|
||||
|
||||
Blockers:
|
||||
- Immediate response
|
||||
- Unblock ASAP
|
||||
- Adjust design if necessary
|
||||
|
||||
I want this to succeed!"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## What Happens Next
|
||||
|
||||
### BMad's Work (Phases 3-4)
|
||||
|
||||
**Phase 3: Architecture**
|
||||
- Create architecture document
|
||||
- Define technical approach
|
||||
- Identify dependencies
|
||||
- Plan implementation
|
||||
|
||||
**Phase 4: Implementation**
|
||||
- Break down into dev stories
|
||||
- Implement features
|
||||
- Write tests
|
||||
- Build the flow
|
||||
|
||||
**Timeline:** [Agreed time estimate]
|
||||
|
||||
---
|
||||
|
||||
### Your Work (Phase 6.6)
|
||||
|
||||
**While BMad builds this flow, you design the next one!**
|
||||
|
||||
**Return to Phase 4-5:**
|
||||
- Design next complete testable flow
|
||||
- Create specifications
|
||||
- Define components
|
||||
- Prepare for next handoff
|
||||
|
||||
**Parallel work = faster delivery!**
|
||||
|
||||
---
|
||||
|
||||
## Next Step
|
||||
|
||||
After confirming handoff:
|
||||
|
||||
```
|
||||
[C] Continue to step-6.6-continue.md
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Success Metrics
|
||||
|
||||
✅ All artifacts verified and complete
|
||||
✅ BMad notified officially
|
||||
✅ BMad acknowledged receipt
|
||||
✅ Project status updated
|
||||
✅ Monitoring set up
|
||||
✅ Designer available for questions
|
||||
✅ Clear next steps for both parties
|
||||
|
||||
---
|
||||
|
||||
## Failure Modes
|
||||
|
||||
❌ Missing artifacts
|
||||
❌ BMad doesn't acknowledge
|
||||
❌ No monitoring set up
|
||||
❌ Designer disappears after handoff
|
||||
❌ No communication channel established
|
||||
❌ Unclear next steps
|
||||
|
||||
---
|
||||
|
||||
## Communication Tips
|
||||
|
||||
### DO ✅
|
||||
|
||||
**Be available:**
|
||||
- Answer questions promptly
|
||||
- Unblock issues quickly
|
||||
- Provide clarifications
|
||||
|
||||
**Be collaborative:**
|
||||
- "How can I help?"
|
||||
- "Let's figure this out together"
|
||||
- "I'm here if you need me"
|
||||
|
||||
**Be flexible:**
|
||||
- Adjust design if technical constraints arise
|
||||
- Find creative solutions
|
||||
- Focus on user value, not ego
|
||||
|
||||
### DON'T ❌
|
||||
|
||||
**Don't disappear:**
|
||||
- "I handed it off, not my problem anymore" ❌
|
||||
- Stay engaged throughout implementation
|
||||
|
||||
**Don't be rigid:**
|
||||
- "It must be exactly like this" ❌
|
||||
- Be open to technical suggestions
|
||||
|
||||
**Don't ignore questions:**
|
||||
- Respond within 24 hours
|
||||
- If you don't know, say so and find out
|
||||
|
||||
---
|
||||
|
||||
**Remember:** Handoff is not the end - it's the beginning of collaboration! Stay engaged!
|
||||
|
|
@ -0,0 +1,402 @@
|
|||
# Step 6.6: Continue with Next Flow
|
||||
|
||||
## Your Task
|
||||
|
||||
While BMad builds the current flow, start designing the next complete testable flow.
|
||||
|
||||
---
|
||||
|
||||
## Parallel Work Strategy
|
||||
|
||||
**The key to fast delivery:**
|
||||
|
||||
```
|
||||
Week 1: Design Flow 1
|
||||
Week 2: Handoff Flow 1 → BMad builds Flow 1
|
||||
Design Flow 2
|
||||
Week 3: Handoff Flow 2 → BMad builds Flow 2
|
||||
Test Flow 1 (Phase 7)
|
||||
Design Flow 3
|
||||
Week 4: Handoff Flow 3 → BMad builds Flow 3
|
||||
Test Flow 2 (Phase 7)
|
||||
Design Flow 4
|
||||
```
|
||||
|
||||
**You're never waiting! Always working!**
|
||||
|
||||
---
|
||||
|
||||
## Return to Phase 4-5
|
||||
|
||||
### Identify Next Flow
|
||||
|
||||
**What's the next most valuable flow to design?**
|
||||
|
||||
**Prioritization criteria:**
|
||||
1. **User value:** What solves the biggest user problem?
|
||||
2. **Business value:** What delivers the most ROI?
|
||||
3. **Dependencies:** What needs to be built next?
|
||||
4. **Risk:** What's the riskiest to validate early?
|
||||
|
||||
**Example prioritization:**
|
||||
```
|
||||
✅ Flow 1: Login & Onboarding (DONE - in development)
|
||||
→ Flow 2: Morning Dog Care (NEXT - highest user value)
|
||||
Flow 3: Calendar View (Later - lower priority)
|
||||
Flow 4: Family Chat (Later - nice to have)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Phase 4: UX Design
|
||||
|
||||
**Design scenarios for the next flow:**
|
||||
|
||||
1. **Identify trigger moment**
|
||||
- What brings user to this flow?
|
||||
- What are they trying to accomplish?
|
||||
|
||||
2. **Design scenarios**
|
||||
- Entry point
|
||||
- User actions
|
||||
- System responses
|
||||
- Exit point
|
||||
|
||||
3. **Create specifications**
|
||||
- `C-Scenarios/XX-scenario-name/`
|
||||
- Frontend specifications
|
||||
- Backend specifications
|
||||
- Data specifications
|
||||
|
||||
4. **Document user flows**
|
||||
- Happy path
|
||||
- Error states
|
||||
- Edge cases
|
||||
|
||||
**Goal:** Complete testable flow that delivers value
|
||||
|
||||
---
|
||||
|
||||
### Phase 5: Design System
|
||||
|
||||
**Define components for this flow:**
|
||||
|
||||
1. **Identify needed components**
|
||||
- What UI elements are needed?
|
||||
- Can we reuse existing components?
|
||||
- What new components are needed?
|
||||
|
||||
2. **Define new components**
|
||||
- `D-Design-System/03-Atomic-Components/`
|
||||
- Component specifications
|
||||
- States and variants
|
||||
- Usage guidelines
|
||||
|
||||
3. **Update design tokens**
|
||||
- Colors
|
||||
- Typography
|
||||
- Spacing
|
||||
- Any new tokens needed
|
||||
|
||||
**Goal:** All components defined and ready
|
||||
|
||||
---
|
||||
|
||||
## When to Return to Phase 6
|
||||
|
||||
**Return to Phase 6 when:**
|
||||
|
||||
- ✅ All scenarios for next flow are specified
|
||||
- ✅ All components for next flow are defined
|
||||
- ✅ Flow is testable end-to-end
|
||||
- ✅ Flow delivers business value
|
||||
- ✅ Flow delivers user value
|
||||
- ✅ No blockers or dependencies
|
||||
|
||||
**Then repeat Phase 6:**
|
||||
- 6.1: Detect completion
|
||||
- 6.2: Create Design Delivery
|
||||
- 6.3: Create Test Scenario
|
||||
- 6.4: Handoff Dialog
|
||||
- 6.5: Hand Off to BMad
|
||||
- 6.6: Continue (you are here!)
|
||||
|
||||
---
|
||||
|
||||
## Managing Multiple Flows
|
||||
|
||||
### Track Your Work
|
||||
|
||||
**Create a simple tracker:**
|
||||
|
||||
```markdown
|
||||
# Design Deliveries Tracker
|
||||
|
||||
## DD-001: Login & Onboarding
|
||||
- Status: In Development (BMad)
|
||||
- Handed off: 2024-12-09
|
||||
- Expected completion: 2024-12-30
|
||||
- Next: Validation (Phase 7)
|
||||
|
||||
## DD-002: Morning Dog Care
|
||||
- Status: In Design (WDS)
|
||||
- Phase: 4 (UX Design)
|
||||
- Progress: 3/5 scenarios complete
|
||||
- Expected handoff: 2024-12-16
|
||||
|
||||
## DD-003: Calendar View
|
||||
- Status: Not Started
|
||||
- Priority: Medium
|
||||
- Planned start: 2024-12-20
|
||||
|
||||
## DD-004: Family Chat
|
||||
- Status: Not Started
|
||||
- Priority: Low
|
||||
- Planned start: TBD
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Communication with BMad
|
||||
|
||||
**Keep BMad informed:**
|
||||
|
||||
```
|
||||
Weekly Update to BMad Architect:
|
||||
|
||||
"Hey Architect!
|
||||
|
||||
Progress update:
|
||||
|
||||
DD-001 (Login & Onboarding):
|
||||
- You're building this
|
||||
- I'm available for questions
|
||||
- On track for validation 2024-12-30?
|
||||
|
||||
DD-002 (Morning Dog Care):
|
||||
- I'm designing this now
|
||||
- 3/5 scenarios complete
|
||||
- Expected handoff: 2024-12-16
|
||||
- 2 weeks after DD-001 handoff
|
||||
|
||||
DD-003 (Calendar View):
|
||||
- Next in queue
|
||||
- Will start after DD-002 handoff
|
||||
|
||||
Questions or blockers on DD-001?"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Balancing Design and Validation
|
||||
|
||||
**As flows complete, you'll be doing both:**
|
||||
|
||||
### Week 3 Example
|
||||
|
||||
**Monday-Tuesday:**
|
||||
- Test DD-001 (Phase 7)
|
||||
- Create issues if needed
|
||||
|
||||
**Wednesday-Friday:**
|
||||
- Design DD-003 scenarios
|
||||
- Define DD-003 components
|
||||
|
||||
**This is the steady state!**
|
||||
|
||||
---
|
||||
|
||||
## Continuous Improvement
|
||||
|
||||
**Learn from each cycle:**
|
||||
|
||||
### After Each Handoff
|
||||
|
||||
**Reflect:**
|
||||
- What went well?
|
||||
- What was unclear?
|
||||
- What questions did BMad ask?
|
||||
- How can I improve next delivery?
|
||||
|
||||
**Update templates:**
|
||||
- Add missing fields
|
||||
- Clarify confusing sections
|
||||
- Improve examples
|
||||
|
||||
**Update process:**
|
||||
- Streamline handoff dialog
|
||||
- Better test scenarios
|
||||
- Clearer specifications
|
||||
|
||||
---
|
||||
|
||||
## Iteration Cadence
|
||||
|
||||
**Typical cadence:**
|
||||
|
||||
```
|
||||
Week 1-2: Design DD-001
|
||||
Week 2: Handoff DD-001
|
||||
Week 2-4: BMad builds DD-001
|
||||
Week 3-4: Design DD-002
|
||||
Week 4: Handoff DD-002
|
||||
Week 4-6: BMad builds DD-002
|
||||
Week 5: Test DD-001 (Phase 7)
|
||||
Week 5-6: Design DD-003
|
||||
Week 6: Handoff DD-003
|
||||
Week 6-8: BMad builds DD-003
|
||||
Week 7: Test DD-002 (Phase 7)
|
||||
Week 7-8: Design DD-004
|
||||
```
|
||||
|
||||
**Continuous flow!**
|
||||
|
||||
---
|
||||
|
||||
## When to Pause
|
||||
|
||||
**You might pause designing if:**
|
||||
|
||||
### BMad is Blocked
|
||||
|
||||
```
|
||||
BMad: "I'm blocked on DD-001. Need design clarification."
|
||||
|
||||
You: "Let me help! Pausing DD-002 design to unblock you."
|
||||
```
|
||||
|
||||
**Priority: Unblock BMad first!**
|
||||
|
||||
---
|
||||
|
||||
### Too Many Flows in Progress
|
||||
|
||||
```
|
||||
In Progress:
|
||||
- DD-001: In development
|
||||
- DD-002: In development
|
||||
- DD-003: In development
|
||||
- DD-004: Ready for handoff
|
||||
|
||||
You: "Let me pause and let BMad catch up. I'll focus on
|
||||
validation instead of new design."
|
||||
```
|
||||
|
||||
**Don't overwhelm the team!**
|
||||
|
||||
---
|
||||
|
||||
### Validation Backlog
|
||||
|
||||
```
|
||||
Waiting for Validation:
|
||||
- DD-001: Complete, needs testing
|
||||
- DD-002: Complete, needs testing
|
||||
- DD-003: Complete, needs testing
|
||||
|
||||
You: "Pause new design. Focus on validation backlog."
|
||||
```
|
||||
|
||||
**Validation is critical!**
|
||||
|
||||
---
|
||||
|
||||
## Success Metrics
|
||||
|
||||
✅ Next flow identified and prioritized
|
||||
✅ Returned to Phase 4-5 (UX Design & Design System)
|
||||
✅ Parallel work happening (design + development)
|
||||
✅ Communication with BMad maintained
|
||||
✅ Tracker updated
|
||||
✅ Continuous improvement mindset
|
||||
|
||||
---
|
||||
|
||||
## Failure Modes
|
||||
|
||||
❌ Waiting for BMad instead of designing next flow
|
||||
❌ Designing too many flows ahead (overwhelming BMad)
|
||||
❌ Not prioritizing validation when flows complete
|
||||
❌ Losing track of multiple flows
|
||||
❌ Not learning from each cycle
|
||||
❌ Disappearing after handoff
|
||||
|
||||
---
|
||||
|
||||
## The Rhythm
|
||||
|
||||
**Once you find your rhythm:**
|
||||
|
||||
```
|
||||
Design → Handoff → Build → Test → Ship
|
||||
↓
|
||||
Design → Handoff → Build → Test → Ship
|
||||
↓
|
||||
Design → Handoff → Build → Test → Ship
|
||||
↓
|
||||
(Repeat until product is complete)
|
||||
```
|
||||
|
||||
**This is the WDS ↔ BMad workflow in action!**
|
||||
|
||||
---
|
||||
|
||||
## Completion
|
||||
|
||||
**Phase 6 is complete when:**
|
||||
|
||||
- ✅ Design Delivery created and handed off
|
||||
- ✅ BMad is building the flow
|
||||
- ✅ You've started designing the next flow
|
||||
|
||||
**Return to Phase 6 when next flow is ready for handoff!**
|
||||
|
||||
---
|
||||
|
||||
## Next Steps
|
||||
|
||||
**You have three paths:**
|
||||
|
||||
### Path 1: Continue Designing (Most Common)
|
||||
|
||||
```
|
||||
[D] Return to Phase 4-5 to design next flow
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Path 2: Validation Needed
|
||||
|
||||
```
|
||||
[V] Go to Phase 7 if a flow is ready for validation
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Path 3: All Flows Complete
|
||||
|
||||
```
|
||||
[C] All flows designed and handed off!
|
||||
Wait for validations, then ship! 🚀
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## The Big Picture
|
||||
|
||||
**You've completed the Phase 6 cycle!**
|
||||
|
||||
```
|
||||
Phase 6.1: Detect Completion ✅
|
||||
Phase 6.2: Create Delivery ✅
|
||||
Phase 6.3: Create Test Scenario ✅
|
||||
Phase 6.4: Handoff Dialog ✅
|
||||
Phase 6.5: Hand Off to BMad ✅
|
||||
Phase 6.6: Continue ✅ (you are here!)
|
||||
|
||||
→ Return to Phase 4-5 and repeat!
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**Keep the momentum going! Design → Handoff → Build → Test → Ship!** 🚀✨
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
# Phase 6: Design Deliveries Workflow
|
||||
|
||||
**Package complete testable flows and hand off to development**
|
||||
|
||||
---
|
||||
|
||||
## Purpose
|
||||
|
||||
Phase 6 is where you package complete testable flows and hand off to development.
|
||||
|
||||
**This is an iterative phase** - you'll repeat it for each complete flow you design.
|
||||
|
||||
---
|
||||
|
||||
## Workflow Architecture
|
||||
|
||||
This uses **micro-file architecture** for disciplined execution:
|
||||
|
||||
- Each step is a self-contained file with embedded rules
|
||||
- Sequential progression with user control at each step
|
||||
- You NEVER proceed to a step file if the current step file indicates the user must approve and indicate continuation
|
||||
|
||||
---
|
||||
|
||||
## Phase 6 Micro-Steps
|
||||
|
||||
```
|
||||
Phase 6.1: Detect Epic Completion
|
||||
↓ (Is flow complete and testable?)
|
||||
Phase 6.2: Create Design Delivery
|
||||
↓ (Package into DD-XXX.yaml)
|
||||
Phase 6.3: Create Test Scenario
|
||||
↓ (Define validation tests)
|
||||
Phase 6.4: Handoff Dialog
|
||||
↓ (20-30 min with BMad Architect)
|
||||
Phase 6.5: Hand Off to BMad
|
||||
↓ (Mark as in_development)
|
||||
Phase 6.6: Continue with Next Flow
|
||||
↓ (Return to Phase 4-5)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Execution
|
||||
|
||||
Load and execute `steps/step-6.1-detect-completion.md` to begin the workflow.
|
||||
|
||||
**Note:** Each step will guide you to the next step when ready.
|
||||
|
||||
---
|
||||
|
||||
## Templates
|
||||
|
||||
- `templates/design-delivery.template.yaml`
|
||||
- `templates/test-scenario.template.yaml`
|
||||
|
||||
---
|
||||
|
||||
## Resources
|
||||
|
||||
- `src/core/resources/wds/design-delivery-spec.md`
|
||||
- `src/core/resources/wds/handoff-protocol.md`
|
||||
- `src/core/resources/wds/integration-guide.md`
|
||||
|
||||
---
|
||||
|
||||
**Phase 6 is where design becomes development! Package, handoff, and keep moving!** 📦✨
|
||||
|
|
@ -0,0 +1,249 @@
|
|||
# Step 7.1: Receive Notification
|
||||
|
||||
## Your Task
|
||||
|
||||
BMad has notified you that a feature is complete and ready for designer validation.
|
||||
|
||||
---
|
||||
|
||||
## BMad Notification
|
||||
|
||||
**You receive:**
|
||||
|
||||
```
|
||||
BMad Developer: "Feature complete: DD-XXX [Flow Name]
|
||||
|
||||
Implemented:
|
||||
✓ All [number] scenarios
|
||||
✓ All error states
|
||||
✓ All edge cases
|
||||
✓ Design system components
|
||||
|
||||
Build: v0.1.0-beta.1
|
||||
Environment: Staging
|
||||
Device: [Platform details]
|
||||
|
||||
Ready for designer validation.
|
||||
Test scenario: test-scenarios/TS-XXX.yaml
|
||||
|
||||
Please validate and let me know if any issues."
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Acknowledge Receipt
|
||||
|
||||
**Respond promptly:**
|
||||
|
||||
```
|
||||
WDS Designer: "Received! Starting validation testing for DD-XXX.
|
||||
|
||||
I'll run through test scenario TS-XXX and report
|
||||
back within [timeframe].
|
||||
|
||||
Thanks for the notification!"
|
||||
```
|
||||
|
||||
**Set expectations:**
|
||||
- Small flow: "Will complete testing today"
|
||||
- Medium flow: "Will complete testing within 2 days"
|
||||
- Large flow: "Will complete testing within 1 week"
|
||||
|
||||
---
|
||||
|
||||
## Verify Information
|
||||
|
||||
**Check that you have all the details:**
|
||||
|
||||
### Build Information
|
||||
|
||||
- [ ] Build version number (e.g., v0.1.0-beta.1)
|
||||
- [ ] Environment (staging, test, etc.)
|
||||
- [ ] Access credentials (if needed)
|
||||
- [ ] Platform details (iOS, Android, web, etc.)
|
||||
|
||||
### Test Scenario
|
||||
|
||||
- [ ] Test scenario file exists: `test-scenarios/TS-XXX.yaml`
|
||||
- [ ] Test scenario matches this delivery
|
||||
- [ ] All test cases are defined
|
||||
|
||||
### Design Artifacts
|
||||
|
||||
- [ ] Design Delivery file: `deliveries/DD-XXX.yaml`
|
||||
- [ ] Scenario specifications: `C-Scenarios/`
|
||||
- [ ] Design system specs: `D-Design-System/`
|
||||
|
||||
---
|
||||
|
||||
## Missing Information?
|
||||
|
||||
**If anything is missing, ask immediately:**
|
||||
|
||||
```
|
||||
WDS Designer: "Quick question before I start testing:
|
||||
|
||||
- What's the staging URL?
|
||||
- Do I need login credentials?
|
||||
- Which device should I test on?
|
||||
|
||||
Thanks!"
|
||||
```
|
||||
|
||||
**Don't start testing until you have everything!**
|
||||
|
||||
---
|
||||
|
||||
## Schedule Testing
|
||||
|
||||
**Block time for testing:**
|
||||
|
||||
### Small Flow (1-2 scenarios)
|
||||
- **Time needed:** 2-4 hours
|
||||
- **Schedule:** Same day or next day
|
||||
|
||||
### Medium Flow (3-5 scenarios)
|
||||
- **Time needed:** 1-2 days
|
||||
- **Schedule:** Within 2 days
|
||||
|
||||
### Large Flow (6+ scenarios)
|
||||
- **Time needed:** 3-5 days
|
||||
- **Schedule:** Within 1 week
|
||||
|
||||
**Add buffer for:**
|
||||
- Finding issues
|
||||
- Creating issue tickets
|
||||
- Writing test report
|
||||
|
||||
---
|
||||
|
||||
## Set Up Tracking
|
||||
|
||||
**Create testing session:**
|
||||
|
||||
```markdown
|
||||
# Testing Session: DD-XXX
|
||||
|
||||
**Delivery:** DD-XXX [Flow Name]
|
||||
**Build:** v0.1.0-beta.1
|
||||
**Started:** 2024-12-09 14:00
|
||||
**Tester:** [Your name]
|
||||
**Environment:** Staging
|
||||
**Device:** iPhone 14 Pro (iOS 17)
|
||||
|
||||
**Status:** In Progress
|
||||
|
||||
**Test Scenario:** test-scenarios/TS-XXX.yaml
|
||||
|
||||
**Progress:**
|
||||
- [ ] Happy path tests
|
||||
- [ ] Error state tests
|
||||
- [ ] Edge case tests
|
||||
- [ ] Design system validation
|
||||
- [ ] Accessibility tests
|
||||
|
||||
**Issues Found:** 0
|
||||
**Test Report:** test-reports/TR-XXX-2024-12-09.md
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Communication
|
||||
|
||||
**Keep BMad informed:**
|
||||
|
||||
```
|
||||
WDS Designer: "Testing update for DD-XXX:
|
||||
|
||||
Started: Today 2pm
|
||||
Progress: Running happy path tests
|
||||
Expected completion: Tomorrow 5pm
|
||||
|
||||
Will notify you when complete!"
|
||||
```
|
||||
|
||||
**If you find critical issues early:**
|
||||
|
||||
```
|
||||
WDS Designer: "Quick heads up on DD-XXX:
|
||||
|
||||
Found critical issue in first test:
|
||||
- Login button not working
|
||||
|
||||
Continuing testing to find all issues,
|
||||
but wanted to give you early warning.
|
||||
|
||||
Full report coming tomorrow."
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Next Step
|
||||
|
||||
After acknowledging receipt and scheduling:
|
||||
|
||||
```
|
||||
[C] Continue to step-7.2-prepare-testing.md
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Success Metrics
|
||||
|
||||
✅ Notification received from BMad
|
||||
✅ Receipt acknowledged promptly
|
||||
✅ All build information verified
|
||||
✅ Test scenario file confirmed
|
||||
✅ Design artifacts available
|
||||
✅ Testing time scheduled
|
||||
✅ Tracking set up
|
||||
|
||||
---
|
||||
|
||||
## Failure Modes
|
||||
|
||||
❌ Not acknowledging notification
|
||||
❌ Starting testing without all information
|
||||
❌ Not scheduling dedicated testing time
|
||||
❌ No tracking set up
|
||||
❌ Not communicating timeline
|
||||
|
||||
---
|
||||
|
||||
## Tips
|
||||
|
||||
### DO ✅
|
||||
|
||||
**Respond quickly:**
|
||||
- Acknowledge within 24 hours
|
||||
- Set clear expectations
|
||||
- Schedule testing time
|
||||
|
||||
**Verify everything:**
|
||||
- Build details
|
||||
- Access credentials
|
||||
- Test scenarios
|
||||
- Design artifacts
|
||||
|
||||
**Communicate proactively:**
|
||||
- Keep BMad informed
|
||||
- Report early if critical issues
|
||||
- Set realistic timelines
|
||||
|
||||
### DON'T ❌
|
||||
|
||||
**Don't delay:**
|
||||
- Respond within 24 hours
|
||||
- Don't make BMad wait
|
||||
|
||||
**Don't start unprepared:**
|
||||
- Verify you have everything
|
||||
- Don't waste time searching for files
|
||||
|
||||
**Don't go silent:**
|
||||
- Keep BMad updated
|
||||
- Don't disappear during testing
|
||||
|
||||
---
|
||||
|
||||
**Remember:** BMad is waiting for your validation. Respond promptly and set clear expectations!
|
||||
|
|
@ -0,0 +1,368 @@
|
|||
# Step 7.2: Prepare for Testing
|
||||
|
||||
## Your Task
|
||||
|
||||
Gather all materials and set up your testing environment before starting validation.
|
||||
|
||||
---
|
||||
|
||||
## Before You Start
|
||||
|
||||
**Ensure you have:**
|
||||
- ✅ Completed step 7.1 (notification received)
|
||||
- ✅ Testing time scheduled
|
||||
- ✅ Build information verified
|
||||
|
||||
---
|
||||
|
||||
## Gather Materials
|
||||
|
||||
### Test Scenario
|
||||
|
||||
**Load test scenario file:**
|
||||
- File: `test-scenarios/TS-XXX.yaml`
|
||||
- Review all test cases
|
||||
- Understand success criteria
|
||||
- Note any special setup needed
|
||||
|
||||
**Print or display:**
|
||||
- Have test scenario visible while testing
|
||||
- Check off tests as you complete them
|
||||
- Take notes on deviations
|
||||
|
||||
---
|
||||
|
||||
### Design Delivery
|
||||
|
||||
**Load Design Delivery file:**
|
||||
- File: `deliveries/DD-XXX.yaml`
|
||||
- Review user value and success criteria
|
||||
- Review acceptance criteria
|
||||
- Understand what "done" looks like
|
||||
|
||||
---
|
||||
|
||||
### Scenario Specifications
|
||||
|
||||
**Load all scenario specs:**
|
||||
- Directory: `C-Scenarios/`
|
||||
- Review each scenario specification
|
||||
- Note design details
|
||||
- Understand expected behavior
|
||||
|
||||
**Example:**
|
||||
```
|
||||
C-Scenarios/
|
||||
├── 01-welcome/Frontend/specifications.md
|
||||
├── 02-login/Frontend/specifications.md
|
||||
├── 03-signup/Frontend/specifications.md
|
||||
└── 04-family-setup/Frontend/specifications.md
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Design System Specs
|
||||
|
||||
**Load design system specs:**
|
||||
- Directory: `D-Design-System/`
|
||||
- Review component specifications
|
||||
- Review design tokens
|
||||
- Note exact colors, sizes, spacing
|
||||
|
||||
**Example:**
|
||||
```
|
||||
D-Design-System/
|
||||
├── 02-Foundation/
|
||||
│ ├── Colors/tokens.json
|
||||
│ ├── Typography/tokens.json
|
||||
│ └── Spacing/tokens.json
|
||||
└── 03-Atomic-Components/
|
||||
├── Buttons/Button-Primary.md
|
||||
├── Inputs/Input-Text.md
|
||||
└── Cards/Card-Default.md
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Set Up Environment
|
||||
|
||||
### Access the Build
|
||||
|
||||
**Staging environment:**
|
||||
- URL: [Staging URL]
|
||||
- Credentials: [Username/Password]
|
||||
- Platform: [iOS/Android/Web]
|
||||
|
||||
**Install build (if needed):**
|
||||
```bash
|
||||
# iOS TestFlight
|
||||
- Open TestFlight app
|
||||
- Install build v0.1.0-beta.1
|
||||
|
||||
# Android
|
||||
- Download APK from [URL]
|
||||
- Install on device
|
||||
|
||||
# Web
|
||||
- Navigate to [Staging URL]
|
||||
- Clear cache first
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Prepare Test Devices
|
||||
|
||||
**Primary device:**
|
||||
- [ ] Device charged (>80%)
|
||||
- [ ] Connected to WiFi
|
||||
- [ ] Screen recording enabled
|
||||
- [ ] Screenshot tools ready
|
||||
|
||||
**Secondary device (if needed):**
|
||||
- [ ] Different platform (iOS vs Android)
|
||||
- [ ] Different screen size
|
||||
- [ ] Different OS version
|
||||
|
||||
---
|
||||
|
||||
### Set Up Tools
|
||||
|
||||
**Screen recording:**
|
||||
- [ ] QuickTime (Mac)
|
||||
- [ ] Built-in screen recorder (iOS/Android)
|
||||
- [ ] OBS Studio (Desktop)
|
||||
|
||||
**Screenshot tools:**
|
||||
- [ ] Native screenshot (Command+Shift+4)
|
||||
- [ ] Annotate screenshots (Preview, Skitch)
|
||||
|
||||
**Note-taking:**
|
||||
- [ ] Markdown editor open
|
||||
- [ ] Test tracking document ready
|
||||
- [ ] Issue template ready
|
||||
|
||||
**Accessibility tools:**
|
||||
- [ ] VoiceOver (iOS) or TalkBack (Android)
|
||||
- [ ] Color contrast checker
|
||||
- [ ] Zoom/magnification
|
||||
|
||||
---
|
||||
|
||||
## Prepare Test Data
|
||||
|
||||
**Create test accounts:**
|
||||
```
|
||||
Test User 1:
|
||||
- Email: test1@example.com
|
||||
- Password: TestPass123!
|
||||
- Purpose: Happy path testing
|
||||
|
||||
Test User 2:
|
||||
- Email: test2@example.com
|
||||
- Password: TestPass123!
|
||||
- Purpose: Error state testing
|
||||
|
||||
Test User 3:
|
||||
- Email: existing@example.com
|
||||
- Password: TestPass123!
|
||||
- Purpose: "Email already exists" error
|
||||
```
|
||||
|
||||
**Prepare test data:**
|
||||
- [ ] Valid emails
|
||||
- [ ] Invalid emails (for error testing)
|
||||
- [ ] Strong passwords
|
||||
- [ ] Weak passwords (for validation testing)
|
||||
- [ ] Special characters
|
||||
- [ ] Edge case data (very long names, etc.)
|
||||
|
||||
---
|
||||
|
||||
## Create Testing Workspace
|
||||
|
||||
**File structure:**
|
||||
```
|
||||
testing/DD-XXX/
|
||||
├── screenshots/
|
||||
│ ├── HP-001-step-1.png
|
||||
│ ├── HP-001-step-2.png
|
||||
│ └── ISS-001-button-color.png
|
||||
├── screen-recordings/
|
||||
│ ├── happy-path-full-flow.mov
|
||||
│ └── error-state-email-exists.mov
|
||||
├── notes.md
|
||||
└── issues-found.md
|
||||
```
|
||||
|
||||
**Create directories:**
|
||||
```bash
|
||||
mkdir -p testing/DD-XXX/screenshots
|
||||
mkdir -p testing/DD-XXX/screen-recordings
|
||||
touch testing/DD-XXX/notes.md
|
||||
touch testing/DD-XXX/issues-found.md
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Review Test Plan
|
||||
|
||||
**Understand what you're testing:**
|
||||
|
||||
### Happy Path Tests
|
||||
- [ ] [Number] tests defined
|
||||
- [ ] Understand each test flow
|
||||
- [ ] Know expected results
|
||||
|
||||
### Error State Tests
|
||||
- [ ] [Number] tests defined
|
||||
- [ ] Understand error scenarios
|
||||
- [ ] Know expected error messages
|
||||
|
||||
### Edge Case Tests
|
||||
- [ ] [Number] tests defined
|
||||
- [ ] Understand unusual scenarios
|
||||
- [ ] Know expected behavior
|
||||
|
||||
### Design System Validation
|
||||
- [ ] [Number] components to check
|
||||
- [ ] Know exact specifications
|
||||
- [ ] Have design tokens ready
|
||||
|
||||
### Accessibility Tests
|
||||
- [ ] Screen reader testing
|
||||
- [ ] Color contrast checking
|
||||
- [ ] Touch target verification
|
||||
|
||||
---
|
||||
|
||||
## Time Estimate
|
||||
|
||||
**Calculate testing time:**
|
||||
|
||||
```
|
||||
Happy Path Tests: [number] tests × 5 min = [time]
|
||||
Error State Tests: [number] tests × 3 min = [time]
|
||||
Edge Case Tests: [number] tests × 5 min = [time]
|
||||
Design System: [number] components × 10 min = [time]
|
||||
Accessibility: 30 min
|
||||
Documentation: 1 hour
|
||||
|
||||
Total: [time]
|
||||
Buffer (20%): [time]
|
||||
|
||||
Estimated Total: [time]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Final Checklist
|
||||
|
||||
**Before starting testing:**
|
||||
|
||||
- [ ] Test scenario loaded and reviewed
|
||||
- [ ] Design Delivery loaded and reviewed
|
||||
- [ ] All scenario specs loaded
|
||||
- [ ] Design system specs loaded
|
||||
- [ ] Build accessible and working
|
||||
- [ ] Test devices ready
|
||||
- [ ] Tools set up (recording, screenshots, notes)
|
||||
- [ ] Test data prepared
|
||||
- [ ] Workspace created
|
||||
- [ ] Time blocked on calendar
|
||||
- [ ] BMad notified you're starting
|
||||
|
||||
---
|
||||
|
||||
## Start Testing
|
||||
|
||||
**When ready:**
|
||||
|
||||
```
|
||||
WDS Designer → BMad Developer
|
||||
|
||||
"Starting validation testing for DD-XXX now.
|
||||
|
||||
Environment: Staging
|
||||
Device: iPhone 14 Pro (iOS 17)
|
||||
Test Scenario: TS-XXX.yaml
|
||||
|
||||
Will report back with results by [date/time].
|
||||
|
||||
Thanks!"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Next Step
|
||||
|
||||
After preparation is complete:
|
||||
|
||||
```
|
||||
[C] Continue to step-7.3-run-tests.md
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Success Metrics
|
||||
|
||||
✅ All materials gathered
|
||||
✅ Environment set up and accessible
|
||||
✅ Test devices ready
|
||||
✅ Tools configured
|
||||
✅ Test data prepared
|
||||
✅ Workspace created
|
||||
✅ Test plan reviewed
|
||||
✅ Time estimated
|
||||
✅ BMad notified
|
||||
|
||||
---
|
||||
|
||||
## Failure Modes
|
||||
|
||||
❌ Starting testing without materials
|
||||
❌ Can't access staging environment
|
||||
❌ Test devices not ready
|
||||
❌ No screen recording capability
|
||||
❌ No test data prepared
|
||||
❌ No time estimate
|
||||
❌ Not notifying BMad
|
||||
|
||||
---
|
||||
|
||||
## Tips
|
||||
|
||||
### DO ✅
|
||||
|
||||
**Be thorough:**
|
||||
- Gather everything before starting
|
||||
- Don't interrupt testing to find files
|
||||
|
||||
**Be organized:**
|
||||
- Create workspace structure
|
||||
- Name files clearly
|
||||
- Take notes as you go
|
||||
|
||||
**Be realistic:**
|
||||
- Estimate time accurately
|
||||
- Add buffer for issues
|
||||
- Block calendar time
|
||||
|
||||
### DON'T ❌
|
||||
|
||||
**Don't rush:**
|
||||
- Take time to prepare properly
|
||||
- Don't skip setup steps
|
||||
|
||||
**Don't improvise:**
|
||||
- Follow test scenario
|
||||
- Use prepared test data
|
||||
- Stick to the plan
|
||||
|
||||
**Don't forget tools:**
|
||||
- Screen recording is critical
|
||||
- Screenshots document issues
|
||||
- Notes capture details
|
||||
|
||||
---
|
||||
|
||||
**Remember:** Good preparation = efficient testing. Take time to set up properly!
|
||||
|
|
@ -0,0 +1,644 @@
|
|||
# Step 7.3: Run Test Scenarios
|
||||
|
||||
## Your Task
|
||||
|
||||
Execute all test scenarios defined in the test scenario file and document results.
|
||||
|
||||
---
|
||||
|
||||
## Before You Start
|
||||
|
||||
**Ensure you have:**
|
||||
- ✅ Completed step 7.2 (preparation complete)
|
||||
- ✅ Test scenario file open
|
||||
- ✅ Environment accessible
|
||||
- ✅ Recording tools ready
|
||||
|
||||
---
|
||||
|
||||
## Testing Order
|
||||
|
||||
**Follow this sequence:**
|
||||
|
||||
1. **Happy Path Tests** (Most important)
|
||||
2. **Error State Tests**
|
||||
3. **Edge Case Tests**
|
||||
4. **Design System Validation**
|
||||
5. **Accessibility Tests**
|
||||
|
||||
**Why this order?**
|
||||
- Happy path must work first
|
||||
- Errors and edge cases build on happy path
|
||||
- Design system and accessibility are final polish
|
||||
|
||||
---
|
||||
|
||||
## 1. Happy Path Tests
|
||||
|
||||
### For Each Happy Path Test
|
||||
|
||||
**Load test from TS-XXX.yaml:**
|
||||
|
||||
```yaml
|
||||
happy_path:
|
||||
- id: "HP-001"
|
||||
name: "New User Complete Onboarding"
|
||||
steps:
|
||||
- action: "Open app"
|
||||
expected: "Welcome screen appears"
|
||||
design_ref: "C-Scenarios/01-welcome/Frontend/specifications.md"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Execute Test Steps
|
||||
|
||||
**For each step:**
|
||||
|
||||
1. **Start screen recording** (for full flow)
|
||||
|
||||
2. **Perform the action**
|
||||
- Follow exactly as written
|
||||
- Use prepared test data
|
||||
- Note any deviations
|
||||
|
||||
3. **Observe the result**
|
||||
- What actually happened?
|
||||
- Does it match expected result?
|
||||
- Any delays or glitches?
|
||||
|
||||
4. **Compare to design reference**
|
||||
- Open design specification
|
||||
- Check every detail
|
||||
- Note any differences
|
||||
|
||||
5. **Mark as Pass or Fail**
|
||||
```
|
||||
✓ PASS: Matches expected result
|
||||
✗ FAIL: Doesn't match expected result
|
||||
```
|
||||
|
||||
6. **Take screenshot if FAIL**
|
||||
- Capture the issue
|
||||
- Annotate if needed
|
||||
- Save with clear name: `HP-001-step-3-FAIL.png`
|
||||
|
||||
7. **Document in notes**
|
||||
```markdown
|
||||
## HP-001: New User Complete Onboarding
|
||||
|
||||
### Step 1: Open app
|
||||
- Action: Opened app
|
||||
- Expected: Welcome screen appears
|
||||
- Actual: Welcome screen appears ✓
|
||||
- Result: PASS
|
||||
|
||||
### Step 2: Tap "Get Started"
|
||||
- Action: Tapped "Get Started" button
|
||||
- Expected: Login/Signup choice appears
|
||||
- Actual: Login/Signup choice appears ✓
|
||||
- Result: PASS
|
||||
|
||||
### Step 3: Tap "Create Account"
|
||||
- Action: Tapped "Create Account"
|
||||
- Expected: Signup form with smooth 300ms transition
|
||||
- Actual: Signup form appears instantly (no transition)
|
||||
- Result: FAIL ✗
|
||||
- Issue: Transition too fast, feels jarring
|
||||
- Screenshot: HP-001-step-3-FAIL.png
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Record Results
|
||||
|
||||
**Create results summary:**
|
||||
|
||||
```markdown
|
||||
# Happy Path Test Results
|
||||
|
||||
## HP-001: New User Complete Onboarding
|
||||
- Status: FAIL
|
||||
- Steps: 9 total
|
||||
- Passed: 8/9 (89%)
|
||||
- Failed: 1/9 (11%)
|
||||
- Issues: 1 (transition animation missing)
|
||||
- Duration: 2 minutes 15 seconds
|
||||
- Recording: happy-path-HP-001.mov
|
||||
|
||||
## HP-002: Returning User Login
|
||||
- Status: PASS
|
||||
- Steps: 5 total
|
||||
- Passed: 5/5 (100%)
|
||||
- Failed: 0/5 (0%)
|
||||
- Issues: 0
|
||||
- Duration: 45 seconds
|
||||
- Recording: happy-path-HP-002.mov
|
||||
|
||||
## Summary
|
||||
- Total Tests: 2
|
||||
- Passed: 1/2 (50%)
|
||||
- Failed: 1/2 (50%)
|
||||
- Total Issues: 1
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 2. Error State Tests
|
||||
|
||||
### For Each Error State Test
|
||||
|
||||
**Load test from TS-XXX.yaml:**
|
||||
|
||||
```yaml
|
||||
error_states:
|
||||
- id: "ES-001"
|
||||
name: "Email Already Exists"
|
||||
steps:
|
||||
- action: "Enter existing email"
|
||||
- action: "Tap 'Create Account'"
|
||||
- expected: "Error message: 'This email is already registered...'"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Execute Error Tests
|
||||
|
||||
**For each error test:**
|
||||
|
||||
1. **Set up error condition**
|
||||
- Use prepared test data
|
||||
- Example: Use `existing@example.com`
|
||||
|
||||
2. **Trigger the error**
|
||||
- Perform action that causes error
|
||||
- Example: Try to create account with existing email
|
||||
|
||||
3. **Verify error handling**
|
||||
- Is error message shown?
|
||||
- Is error message clear and helpful?
|
||||
- Is error styling correct?
|
||||
- Can user recover?
|
||||
|
||||
4. **Check against design spec**
|
||||
- Open error state specification
|
||||
- Verify exact error message
|
||||
- Verify error styling
|
||||
- Verify recovery options
|
||||
|
||||
5. **Document results**
|
||||
```markdown
|
||||
## ES-001: Email Already Exists
|
||||
|
||||
- Setup: Used test2@example.com (existing account)
|
||||
- Action: Entered email, tapped "Create Account"
|
||||
- Expected: Error: "This email is already registered. Try logging in instead."
|
||||
- Actual: Error: "Email exists" (too brief)
|
||||
- Result: FAIL ✗
|
||||
- Issue: Error message not helpful enough
|
||||
- Screenshot: ES-001-error-message-FAIL.png
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Record Error Test Results
|
||||
|
||||
```markdown
|
||||
# Error State Test Results
|
||||
|
||||
## ES-001: Email Already Exists
|
||||
- Status: FAIL
|
||||
- Issue: Error message too brief
|
||||
- Severity: Medium
|
||||
|
||||
## ES-002: Invalid Email Format
|
||||
- Status: PASS
|
||||
- Real-time validation works correctly
|
||||
|
||||
## ES-003: Weak Password
|
||||
- Status: PASS
|
||||
- Password strength indicator works
|
||||
|
||||
## ES-004: Network Timeout
|
||||
- Status: FAIL
|
||||
- Issue: No timeout handling, app hangs
|
||||
- Severity: High
|
||||
|
||||
## Summary
|
||||
- Total Tests: 4
|
||||
- Passed: 2/4 (50%)
|
||||
- Failed: 2/4 (50%)
|
||||
- Total Issues: 2
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. Edge Case Tests
|
||||
|
||||
### For Each Edge Case Test
|
||||
|
||||
**Load test from TS-XXX.yaml:**
|
||||
|
||||
```yaml
|
||||
edge_cases:
|
||||
- id: "EC-001"
|
||||
name: "User Closes App Mid-Onboarding"
|
||||
steps:
|
||||
- action: "Start onboarding, complete signup"
|
||||
- action: "Close app (force quit)"
|
||||
- action: "Reopen app"
|
||||
- expected: "Resume at Family Setup"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Execute Edge Case Tests
|
||||
|
||||
**For each edge case:**
|
||||
|
||||
1. **Set up unusual scenario**
|
||||
- Follow setup instructions
|
||||
- Create edge condition
|
||||
|
||||
2. **Perform edge case action**
|
||||
- Example: Force quit app
|
||||
- Example: Enter 100-character name
|
||||
- Example: Navigate back
|
||||
|
||||
3. **Verify graceful handling**
|
||||
- Does app crash? ✗
|
||||
- Does app handle gracefully? ✓
|
||||
- Is user experience smooth?
|
||||
|
||||
4. **Document results**
|
||||
```markdown
|
||||
## EC-001: User Closes App Mid-Onboarding
|
||||
|
||||
- Setup: Completed signup, at Family Setup screen
|
||||
- Action: Force quit app, reopened
|
||||
- Expected: Resume at Family Setup (progress saved)
|
||||
- Actual: Started at Welcome screen (progress lost)
|
||||
- Result: FAIL ✗
|
||||
- Issue: Progress not saved
|
||||
- Severity: High
|
||||
- Screenshot: EC-001-progress-lost-FAIL.png
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Record Edge Case Results
|
||||
|
||||
```markdown
|
||||
# Edge Case Test Results
|
||||
|
||||
## EC-001: User Closes App Mid-Onboarding
|
||||
- Status: FAIL
|
||||
- Issue: Progress not saved
|
||||
- Severity: High
|
||||
|
||||
## EC-002: User Navigates Back
|
||||
- Status: PASS
|
||||
- Confirmation dialog works correctly
|
||||
|
||||
## EC-003: Very Long Family Name
|
||||
- Status: PASS
|
||||
- Field truncates at 50 characters
|
||||
|
||||
## Summary
|
||||
- Total Tests: 3
|
||||
- Passed: 2/3 (67%)
|
||||
- Failed: 1/3 (33%)
|
||||
- Total Issues: 1
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4. Design System Validation
|
||||
|
||||
### For Each Component
|
||||
|
||||
**Load design system checks from TS-XXX.yaml:**
|
||||
|
||||
```yaml
|
||||
design_system_checks:
|
||||
- id: "DS-001"
|
||||
name: "Button Components"
|
||||
checks:
|
||||
- component: "Primary Button"
|
||||
instances: ["Get Started", "Create Account"]
|
||||
verify:
|
||||
- "Height: 48px"
|
||||
- "Background: #2563EB"
|
||||
- "Text: #FFFFFF"
|
||||
- "Typography: 16px, semibold"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Validate Component Usage
|
||||
|
||||
**For each component instance:**
|
||||
|
||||
1. **Locate component**
|
||||
- Find all instances in the flow
|
||||
- Example: "Get Started" button, "Create Account" button
|
||||
|
||||
2. **Measure dimensions**
|
||||
- Use browser dev tools or design tools
|
||||
- Check height, width, padding
|
||||
|
||||
3. **Check colors**
|
||||
- Use color picker tool
|
||||
- Compare to design tokens
|
||||
- Check hex values exactly
|
||||
|
||||
4. **Check typography**
|
||||
- Font size
|
||||
- Font weight
|
||||
- Line height
|
||||
- Letter spacing
|
||||
|
||||
5. **Check spacing**
|
||||
- Padding inside component
|
||||
- Margin around component
|
||||
- Spacing between elements
|
||||
|
||||
6. **Check states**
|
||||
- Default state
|
||||
- Hover state (if applicable)
|
||||
- Active/pressed state
|
||||
- Disabled state
|
||||
- Focus state
|
||||
|
||||
7. **Document results**
|
||||
```markdown
|
||||
## DS-001: Button Components
|
||||
|
||||
### Primary Button: "Get Started"
|
||||
- Height: 48px ✓
|
||||
- Background: #3B82F6 ✗ (Expected: #2563EB)
|
||||
- Text: #FFFFFF ✓
|
||||
- Typography: 16px, semibold ✓
|
||||
- Border radius: 8px ✓
|
||||
- Padding: 12px 24px ✓
|
||||
- Result: FAIL (wrong background color)
|
||||
- Screenshot: DS-001-button-color-FAIL.png
|
||||
|
||||
### Primary Button: "Create Account"
|
||||
- Height: 48px ✓
|
||||
- Background: #3B82F6 ✗ (Expected: #2563EB)
|
||||
- Text: #FFFFFF ✓
|
||||
- Typography: 16px, semibold ✓
|
||||
- Result: FAIL (same color issue)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Record Design System Results
|
||||
|
||||
```markdown
|
||||
# Design System Validation Results
|
||||
|
||||
## DS-001: Button Components
|
||||
- Status: FAIL
|
||||
- Issue: Primary button color incorrect (#3B82F6 vs #2563EB)
|
||||
- Instances: All primary buttons affected
|
||||
- Severity: High
|
||||
|
||||
## DS-002: Input Components
|
||||
- Status: PASS
|
||||
- All input fields match specifications
|
||||
|
||||
## DS-003: Spacing and Layout
|
||||
- Status: PASS
|
||||
- Screen padding: 20px ✓
|
||||
- Element spacing: 16px ✓
|
||||
|
||||
## Summary
|
||||
- Total Components: 3 types
|
||||
- Compliant: 2/3 (67%)
|
||||
- Non-compliant: 1/3 (33%)
|
||||
- Target: >95% compliance
|
||||
- Result: FAIL (below threshold)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5. Accessibility Tests
|
||||
|
||||
### Screen Reader Testing
|
||||
|
||||
**Enable screen reader:**
|
||||
- iOS: VoiceOver (Settings → Accessibility)
|
||||
- Android: TalkBack (Settings → Accessibility)
|
||||
|
||||
**Test navigation:**
|
||||
|
||||
1. **Navigate through flow using only screen reader**
|
||||
- Can you complete the flow?
|
||||
- Are all elements announced?
|
||||
- Is navigation order logical?
|
||||
|
||||
2. **Check button labels**
|
||||
- Are buttons descriptive?
|
||||
- "Button" vs "Get Started button"
|
||||
|
||||
3. **Check form field labels**
|
||||
- Are fields announced with purpose?
|
||||
- "Text field" vs "Email address text field"
|
||||
|
||||
4. **Check error announcements**
|
||||
- Are errors announced?
|
||||
- Are they clear?
|
||||
|
||||
5. **Document results**
|
||||
```markdown
|
||||
## A11Y-001: Screen Reader Navigation
|
||||
|
||||
- Setup: Enabled VoiceOver on iOS
|
||||
- Test: Navigated through onboarding
|
||||
- Result: PARTIAL PASS
|
||||
|
||||
Issues:
|
||||
- "Get Started" button announced as just "Button" ✗
|
||||
- Email field announced correctly ✓
|
||||
- Password field announced correctly ✓
|
||||
- Error messages not announced ✗
|
||||
|
||||
Severity: Medium
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Color Contrast Testing
|
||||
|
||||
**Use contrast checker tool:**
|
||||
|
||||
1. **Check text on background**
|
||||
- Body text: 4.5:1 minimum (WCAG AA)
|
||||
- Large text: 3:1 minimum
|
||||
|
||||
2. **Check button text**
|
||||
- Button text on button background: 4.5:1 minimum
|
||||
|
||||
3. **Check error text**
|
||||
- Error text on background: 4.5:1 minimum
|
||||
|
||||
4. **Document results**
|
||||
```markdown
|
||||
## A11Y-002: Color Contrast
|
||||
|
||||
- Body text on white: 7.2:1 ✓ (PASS)
|
||||
- Button text on primary: 5.1:1 ✓ (PASS)
|
||||
- Error text on white: 4.8:1 ✓ (PASS)
|
||||
- Link text on white: 3.9:1 ✗ (FAIL - below 4.5:1)
|
||||
|
||||
Result: FAIL (link contrast too low)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Touch Target Testing
|
||||
|
||||
**Measure interactive elements:**
|
||||
|
||||
1. **Check all buttons**
|
||||
- Minimum: 44×44px
|
||||
- Measure actual size
|
||||
|
||||
2. **Check all input fields**
|
||||
- Minimum height: 44px
|
||||
- Measure actual height
|
||||
|
||||
3. **Check spacing**
|
||||
- Minimum 8px between targets
|
||||
- Measure actual spacing
|
||||
|
||||
4. **Document results**
|
||||
```markdown
|
||||
## A11Y-003: Touch Targets
|
||||
|
||||
- Primary buttons: 48×120px ✓ (PASS)
|
||||
- Input fields: 48px height ✓ (PASS)
|
||||
- Text links: 32px height ✗ (FAIL - below 44px)
|
||||
- Spacing between buttons: 16px ✓ (PASS)
|
||||
|
||||
Result: FAIL (text links too small)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Record Accessibility Results
|
||||
|
||||
```markdown
|
||||
# Accessibility Test Results
|
||||
|
||||
## A11Y-001: Screen Reader Navigation
|
||||
- Status: PARTIAL PASS
|
||||
- Issues: 2 (button labels, error announcements)
|
||||
- Severity: Medium
|
||||
|
||||
## A11Y-002: Color Contrast
|
||||
- Status: FAIL
|
||||
- Issue: Link contrast too low (3.9:1)
|
||||
- Severity: Medium
|
||||
|
||||
## A11Y-003: Touch Targets
|
||||
- Status: FAIL
|
||||
- Issue: Text links too small (32px)
|
||||
- Severity: Low
|
||||
|
||||
## Summary
|
||||
- Total Tests: 3
|
||||
- Passed: 0/3 (0%)
|
||||
- Partial: 1/3 (33%)
|
||||
- Failed: 2/3 (67%)
|
||||
- Total Issues: 4
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Overall Test Summary
|
||||
|
||||
**Compile all results:**
|
||||
|
||||
```markdown
|
||||
# Test Summary: DD-XXX [Flow Name]
|
||||
|
||||
**Date:** 2024-12-09
|
||||
**Tester:** [Your name]
|
||||
**Build:** v0.1.0-beta.1
|
||||
**Device:** iPhone 14 Pro (iOS 17)
|
||||
|
||||
## Overall Result
|
||||
|
||||
**Status:** FAIL (8 issues found, 3 high severity)
|
||||
|
||||
## Test Coverage
|
||||
|
||||
- Happy Path: 8/9 passed (89%)
|
||||
- Error States: 2/4 passed (50%)
|
||||
- Edge Cases: 2/3 passed (67%)
|
||||
- Design System: 2/3 compliant (67%)
|
||||
- Accessibility: 0/3 passed (0%)
|
||||
|
||||
## Issues Summary
|
||||
|
||||
**Total Issues:** 8
|
||||
|
||||
**By Severity:**
|
||||
- Critical: 0
|
||||
- High: 3
|
||||
- Medium: 3
|
||||
- Low: 2
|
||||
|
||||
**By Category:**
|
||||
- Functionality: 3
|
||||
- Design System: 1
|
||||
- Accessibility: 4
|
||||
|
||||
## Next Steps
|
||||
|
||||
1. Create issue tickets for all 8 issues
|
||||
2. Create detailed test report
|
||||
3. Send to BMad for fixes
|
||||
4. Schedule retest after fixes
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Next Step
|
||||
|
||||
After completing all tests:
|
||||
|
||||
```
|
||||
[C] Continue to step-7.4-create-issues.md
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Success Metrics
|
||||
|
||||
✅ All happy path tests executed
|
||||
✅ All error state tests executed
|
||||
✅ All edge case tests executed
|
||||
✅ Design system validation complete
|
||||
✅ Accessibility tests complete
|
||||
✅ All results documented
|
||||
✅ Screenshots captured for issues
|
||||
✅ Screen recordings saved
|
||||
|
||||
---
|
||||
|
||||
## Failure Modes
|
||||
|
||||
❌ Skipping test categories
|
||||
❌ Not documenting results
|
||||
❌ No screenshots for issues
|
||||
❌ Not checking design references
|
||||
❌ Rushing through tests
|
||||
❌ Not measuring design system compliance
|
||||
|
||||
---
|
||||
|
||||
**Remember:** Be thorough! Every issue you find now prevents problems in production!
|
||||
|
|
@ -0,0 +1,502 @@
|
|||
# Step 7.4: Create Issues
|
||||
|
||||
## Your Task
|
||||
|
||||
Document all problems found during testing as issue tickets that BMad can fix.
|
||||
|
||||
---
|
||||
|
||||
## Before You Start
|
||||
|
||||
**Ensure you have:**
|
||||
- ✅ Completed step 7.3 (all tests executed)
|
||||
- ✅ Test results documented
|
||||
- ✅ Screenshots captured
|
||||
- ✅ Issues identified
|
||||
|
||||
---
|
||||
|
||||
## Issue Creation Process
|
||||
|
||||
### For Each Issue Found
|
||||
|
||||
**Create issue file:** `issues/ISS-XXX-description.md`
|
||||
|
||||
**Numbering:**
|
||||
- Start at ISS-001
|
||||
- Increment for each issue
|
||||
- Use leading zeros
|
||||
|
||||
---
|
||||
|
||||
## Issue Template
|
||||
|
||||
```markdown
|
||||
# Issue: [Short Description]
|
||||
|
||||
**ID:** ISS-XXX
|
||||
**Severity:** [Critical | High | Medium | Low]
|
||||
**Status:** Open
|
||||
**Delivery:** DD-XXX
|
||||
**Test:** TS-XXX, Check: [Test ID]
|
||||
**Created:** 2024-12-09
|
||||
**Assigned:** BMad Developer
|
||||
|
||||
## Description
|
||||
|
||||
[Clear description of the problem]
|
||||
|
||||
## Expected
|
||||
|
||||
[What should happen according to design]
|
||||
|
||||
## Actual
|
||||
|
||||
[What actually happens]
|
||||
|
||||
## Impact
|
||||
|
||||
[Why this matters - user impact, business impact]
|
||||
|
||||
## Design Reference
|
||||
|
||||
- Design Spec: [Path to specification]
|
||||
- Design Token: [Path to token if applicable]
|
||||
- Component Spec: [Path to component spec if applicable]
|
||||
|
||||
## Steps to Reproduce
|
||||
|
||||
1. [Step 1]
|
||||
2. [Step 2]
|
||||
3. [Step 3]
|
||||
|
||||
## Screenshot/Video
|
||||
|
||||

|
||||
|
||||
## Recommendation
|
||||
|
||||
[How to fix this - be specific]
|
||||
|
||||
```code
|
||||
[Code example if applicable]
|
||||
```
|
||||
|
||||
## Related Issues
|
||||
|
||||
- [Link to related issues if any]
|
||||
|
||||
---
|
||||
|
||||
**Priority for fix:** [Next release | This release | Future]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Severity Levels
|
||||
|
||||
### Critical
|
||||
**Definition:** Blocks usage, prevents core functionality
|
||||
|
||||
**Examples:**
|
||||
- App crashes
|
||||
- Cannot complete core flow
|
||||
- Data loss
|
||||
- Security vulnerability
|
||||
|
||||
**Action:** Must fix immediately before any release
|
||||
|
||||
---
|
||||
|
||||
### High
|
||||
**Definition:** Major issue, significantly impacts UX
|
||||
|
||||
**Examples:**
|
||||
- Wrong button color (brand inconsistency)
|
||||
- Missing error handling
|
||||
- Progress not saved
|
||||
- Accessibility blocker
|
||||
|
||||
**Action:** Must fix before release
|
||||
|
||||
---
|
||||
|
||||
### Medium
|
||||
**Definition:** Noticeable issue, impacts UX but has workaround
|
||||
|
||||
**Examples:**
|
||||
- Error message not helpful enough
|
||||
- Transition animation missing
|
||||
- Screen reader labels incomplete
|
||||
- Minor design system deviation
|
||||
|
||||
**Action:** Fix soon, can ship with workaround
|
||||
|
||||
---
|
||||
|
||||
### Low
|
||||
**Definition:** Minor issue, cosmetic or edge case
|
||||
|
||||
**Examples:**
|
||||
- Text link touch target slightly small
|
||||
- Minor spacing inconsistency
|
||||
- Rare edge case not handled
|
||||
|
||||
**Action:** Fix when possible, can ship as-is
|
||||
|
||||
---
|
||||
|
||||
## Example Issues
|
||||
|
||||
### Example 1: Functionality Issue
|
||||
|
||||
```markdown
|
||||
# Issue: Transition Animation Missing
|
||||
|
||||
**ID:** ISS-001
|
||||
**Severity:** Medium
|
||||
**Status:** Open
|
||||
**Delivery:** DD-001
|
||||
**Test:** TS-001, Check: HP-001-step-3
|
||||
|
||||
## Description
|
||||
|
||||
Transition from Login/Signup choice to Signup form is instant instead of smooth animated transition.
|
||||
|
||||
## Expected
|
||||
|
||||
Smooth 300ms fade transition when tapping "Create Account" button, as specified in design.
|
||||
|
||||
## Actual
|
||||
|
||||
Signup form appears instantly with no transition. Feels jarring and abrupt.
|
||||
|
||||
## Impact
|
||||
|
||||
- User experience feels less polished
|
||||
- Doesn't match design specifications
|
||||
- Reduces perceived quality
|
||||
|
||||
## Design Reference
|
||||
|
||||
- Design Spec: C-Scenarios/03-signup/Frontend/specifications.md#transitions
|
||||
- Specification states: "300ms ease-in-out fade transition"
|
||||
|
||||
## Steps to Reproduce
|
||||
|
||||
1. Open app
|
||||
2. Tap "Get Started"
|
||||
3. Tap "Create Account"
|
||||
4. Observe instant transition (no animation)
|
||||
|
||||
## Screenshot
|
||||
|
||||

|
||||
|
||||
## Recommendation
|
||||
|
||||
Add transition animation to navigation:
|
||||
|
||||
```tsx
|
||||
// React Native
|
||||
<Stack.Screen
|
||||
name="Signup"
|
||||
component={SignupScreen}
|
||||
options={{
|
||||
animation: 'fade',
|
||||
animationDuration: 300,
|
||||
}}
|
||||
/>
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**Priority for fix:** This release
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Example 2: Design System Issue
|
||||
|
||||
```markdown
|
||||
# Issue: Button Color Incorrect
|
||||
|
||||
**ID:** ISS-002
|
||||
**Severity:** High
|
||||
**Status:** Open
|
||||
**Delivery:** DD-001
|
||||
**Test:** TS-001, Check: DS-001
|
||||
|
||||
## Description
|
||||
|
||||
Primary button background color doesn't match design system specification. Using lighter blue instead of brand primary.
|
||||
|
||||
## Expected
|
||||
|
||||
Primary button background: #2563EB (brand primary color)
|
||||
|
||||
## Actual
|
||||
|
||||
Primary button background: #3B82F6 (lighter blue, not brand color)
|
||||
|
||||
## Impact
|
||||
|
||||
- Brand inconsistency across app
|
||||
- Doesn't match design system
|
||||
- All primary buttons affected
|
||||
- Reduces brand recognition
|
||||
|
||||
## Design Reference
|
||||
|
||||
- Design System: D-Design-System/03-Atomic-Components/Buttons/Button-Primary.md
|
||||
- Design Token: D-Design-System/02-Foundation/Colors/tokens.json
|
||||
- Token path: `button.primary.background` → `#2563EB`
|
||||
|
||||
## Steps to Reproduce
|
||||
|
||||
1. Open any screen with primary button
|
||||
2. Observe button color
|
||||
3. Compare to design token
|
||||
|
||||
## Screenshot
|
||||
|
||||

|
||||
|
||||
## Recommendation
|
||||
|
||||
Update button component to use design token:
|
||||
|
||||
```tsx
|
||||
// Before
|
||||
backgroundColor: '#3B82F6'
|
||||
|
||||
// After
|
||||
backgroundColor: tokens.button.primary.background // #2563EB
|
||||
```
|
||||
|
||||
Affected components:
|
||||
- "Get Started" button
|
||||
- "Create Account" button
|
||||
- "Continue" button
|
||||
- All primary buttons
|
||||
|
||||
---
|
||||
|
||||
**Priority for fix:** This release (High severity)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Example 3: Accessibility Issue
|
||||
|
||||
```markdown
|
||||
# Issue: Button Labels Not Descriptive for Screen Reader
|
||||
|
||||
**ID:** ISS-003
|
||||
**Severity:** Medium
|
||||
**Status:** Open
|
||||
**Delivery:** DD-001
|
||||
**Test:** TS-001, Check: A11Y-001
|
||||
|
||||
## Description
|
||||
|
||||
Buttons are announced as just "Button" by screen reader instead of descriptive labels.
|
||||
|
||||
## Expected
|
||||
|
||||
Buttons should have descriptive accessibility labels:
|
||||
- "Get Started button"
|
||||
- "Create Account button"
|
||||
- "Log In button"
|
||||
|
||||
## Actual
|
||||
|
||||
VoiceOver announces all buttons as just "Button" with no context.
|
||||
|
||||
## Impact
|
||||
|
||||
- Screen reader users cannot understand button purpose
|
||||
- Fails WCAG 2.1 AA accessibility standards
|
||||
- Blocks visually impaired users
|
||||
|
||||
## Design Reference
|
||||
|
||||
- Accessibility requirement: All interactive elements must have descriptive labels
|
||||
- WCAG 2.1: 2.4.6 Headings and Labels (Level AA)
|
||||
|
||||
## Steps to Reproduce
|
||||
|
||||
1. Enable VoiceOver (iOS) or TalkBack (Android)
|
||||
2. Navigate to Welcome screen
|
||||
3. Focus on "Get Started" button
|
||||
4. Observe announcement: "Button" (not descriptive)
|
||||
|
||||
## Screenshot
|
||||
|
||||

|
||||
|
||||
## Recommendation
|
||||
|
||||
Add accessibility labels to all buttons:
|
||||
|
||||
```tsx
|
||||
<Button
|
||||
title="Get Started"
|
||||
accessibilityLabel="Get Started button"
|
||||
accessibilityHint="Opens login or signup options"
|
||||
/>
|
||||
|
||||
<Button
|
||||
title="Create Account"
|
||||
accessibilityLabel="Create Account button"
|
||||
accessibilityHint="Opens signup form"
|
||||
/>
|
||||
```
|
||||
|
||||
Affected buttons:
|
||||
- All buttons in onboarding flow
|
||||
- Estimate: 8 buttons total
|
||||
|
||||
---
|
||||
|
||||
**Priority for fix:** This release (Accessibility blocker)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Issue Tracking
|
||||
|
||||
**Create issues list:** `issues/issues-list.md`
|
||||
|
||||
```markdown
|
||||
# Issues List: DD-001
|
||||
|
||||
**Total Issues:** 8
|
||||
**Status:** Open
|
||||
|
||||
## Critical (0)
|
||||
|
||||
None
|
||||
|
||||
## High (3)
|
||||
|
||||
- [ISS-002](ISS-002-button-color.md) - Button Color Incorrect
|
||||
- [ISS-004](ISS-004-progress-not-saved.md) - Progress Not Saved on App Close
|
||||
- [ISS-005](ISS-005-network-timeout.md) - No Network Timeout Handling
|
||||
|
||||
## Medium (3)
|
||||
|
||||
- [ISS-001](ISS-001-transition-missing.md) - Transition Animation Missing
|
||||
- [ISS-003](ISS-003-button-labels.md) - Button Labels Not Descriptive
|
||||
- [ISS-006](ISS-006-error-message.md) - Error Message Too Brief
|
||||
|
||||
## Low (2)
|
||||
|
||||
- [ISS-007](ISS-007-link-touch-target.md) - Text Link Touch Target Too Small
|
||||
- [ISS-008](ISS-008-link-contrast.md) - Link Color Contrast Too Low
|
||||
|
||||
---
|
||||
|
||||
## By Category
|
||||
|
||||
**Functionality:** 3 issues
|
||||
- ISS-001, ISS-004, ISS-005
|
||||
|
||||
**Design System:** 1 issue
|
||||
- ISS-002
|
||||
|
||||
**Accessibility:** 4 issues
|
||||
- ISS-003, ISS-006, ISS-007, ISS-008
|
||||
|
||||
---
|
||||
|
||||
## Priority for Fix
|
||||
|
||||
**Must fix before release:**
|
||||
- ISS-002 (High)
|
||||
- ISS-003 (High)
|
||||
- ISS-004 (High)
|
||||
- ISS-005 (High)
|
||||
|
||||
**Should fix before release:**
|
||||
- ISS-001 (Medium)
|
||||
- ISS-006 (Medium)
|
||||
|
||||
**Can fix later:**
|
||||
- ISS-007 (Low)
|
||||
- ISS-008 (Low)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Next Step
|
||||
|
||||
After creating all issue tickets:
|
||||
|
||||
```
|
||||
[C] Continue to step-7.5-create-report.md
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Success Metrics
|
||||
|
||||
✅ All issues documented as tickets
|
||||
✅ Each issue has clear description
|
||||
✅ Each issue has expected vs actual
|
||||
✅ Each issue has design reference
|
||||
✅ Each issue has screenshot/video
|
||||
✅ Each issue has recommendation
|
||||
✅ Severity assigned correctly
|
||||
✅ Issues list created
|
||||
|
||||
---
|
||||
|
||||
## Failure Modes
|
||||
|
||||
❌ Vague issue descriptions
|
||||
❌ No design references
|
||||
❌ No screenshots
|
||||
❌ No recommendations
|
||||
❌ Wrong severity assignment
|
||||
❌ Missing steps to reproduce
|
||||
|
||||
---
|
||||
|
||||
## Tips
|
||||
|
||||
### DO ✅
|
||||
|
||||
**Be specific:**
|
||||
- Clear descriptions
|
||||
- Exact values (colors, sizes)
|
||||
- Precise steps to reproduce
|
||||
|
||||
**Be helpful:**
|
||||
- Provide recommendations
|
||||
- Include code examples
|
||||
- Link to design references
|
||||
|
||||
**Be organized:**
|
||||
- Consistent numbering
|
||||
- Clear file names
|
||||
- Issues list for tracking
|
||||
|
||||
### DON'T ❌
|
||||
|
||||
**Don't be vague:**
|
||||
- "It doesn't look right" ❌
|
||||
- "Button color is #3B82F6, should be #2563EB" ✅
|
||||
|
||||
**Don't blame:**
|
||||
- Focus on the issue, not the person
|
||||
- Be collaborative, not critical
|
||||
|
||||
**Don't skip documentation:**
|
||||
- Every issue needs full documentation
|
||||
- Screenshots are required
|
||||
- Design references are required
|
||||
|
||||
---
|
||||
|
||||
**Remember:** Good issue tickets = fast fixes. Be thorough and helpful!
|
||||
|
|
@ -0,0 +1,402 @@
|
|||
# Step 7.5: Create Test Report
|
||||
|
||||
## Your Task
|
||||
|
||||
Create a comprehensive test report summarizing all testing results.
|
||||
|
||||
---
|
||||
|
||||
## Before You Start
|
||||
|
||||
**Ensure you have:**
|
||||
- ✅ Completed step 7.4 (all issues created)
|
||||
- ✅ Test results compiled
|
||||
- ✅ Issues list created
|
||||
- ✅ Screenshots organized
|
||||
|
||||
---
|
||||
|
||||
## Create Test Report File
|
||||
|
||||
**File:** `test-reports/TR-XXX-YYYY-MM-DD.md`
|
||||
|
||||
**Example:** `test-reports/TR-001-2024-12-09.md`
|
||||
|
||||
---
|
||||
|
||||
## Test Report Template
|
||||
|
||||
```markdown
|
||||
# Test Report: TS-XXX [Flow Name]
|
||||
|
||||
**Date:** 2024-12-09
|
||||
**Tester:** [Your name] (Designer)
|
||||
**Device:** [Device details]
|
||||
**Build:** v0.1.0-beta.1
|
||||
**Environment:** Staging
|
||||
**Duration:** [Testing duration]
|
||||
|
||||
---
|
||||
|
||||
## Executive Summary
|
||||
|
||||
**Overall Result:** [PASS | FAIL | PARTIAL PASS]
|
||||
|
||||
**Quick Summary:**
|
||||
[2-3 sentences summarizing the test results]
|
||||
|
||||
**Recommendation:**
|
||||
[APPROVED | NOT APPROVED | APPROVED WITH MINOR ISSUES]
|
||||
|
||||
---
|
||||
|
||||
## Test Coverage
|
||||
|
||||
### Happy Path Tests
|
||||
- **Total:** [number] tests
|
||||
- **Passed:** [number]/[total] ([percentage]%)
|
||||
- **Failed:** [number]/[total] ([percentage]%)
|
||||
- **Status:** [PASS | FAIL]
|
||||
|
||||
### Error State Tests
|
||||
- **Total:** [number] tests
|
||||
- **Passed:** [number]/[total] ([percentage]%)
|
||||
- **Failed:** [number]/[total] ([percentage]%)
|
||||
- **Status:** [PASS | FAIL]
|
||||
|
||||
### Edge Case Tests
|
||||
- **Total:** [number] tests
|
||||
- **Passed:** [number]/[total] ([percentage]%)
|
||||
- **Failed:** [number]/[total] ([percentage]%)
|
||||
- **Status:** [PASS | FAIL]
|
||||
|
||||
### Design System Validation
|
||||
- **Components Checked:** [number]
|
||||
- **Compliant:** [number]/[total] ([percentage]%)
|
||||
- **Non-compliant:** [number]/[total] ([percentage]%)
|
||||
- **Target:** >95% compliance
|
||||
- **Status:** [PASS | FAIL]
|
||||
|
||||
### Accessibility Tests
|
||||
- **Total:** [number] tests
|
||||
- **Passed:** [number]/[total] ([percentage]%)
|
||||
- **Failed:** [number]/[total] ([percentage]%)
|
||||
- **Status:** [PASS | FAIL]
|
||||
|
||||
---
|
||||
|
||||
## Issues Found
|
||||
|
||||
**Total Issues:** [number]
|
||||
|
||||
### By Severity
|
||||
- **Critical:** [number]
|
||||
- **High:** [number]
|
||||
- **Medium:** [number]
|
||||
- **Low:** [number]
|
||||
|
||||
### By Category
|
||||
- **Functionality:** [number]
|
||||
- **Design System:** [number]
|
||||
- **Accessibility:** [number]
|
||||
- **Performance:** [number]
|
||||
|
||||
### Issue List
|
||||
|
||||
#### Critical Issues (0)
|
||||
None
|
||||
|
||||
#### High Severity Issues ([number])
|
||||
|
||||
**ISS-XXX: [Issue Title]**
|
||||
- **Category:** [Functionality | Design System | Accessibility]
|
||||
- **Impact:** [Brief impact description]
|
||||
- **Status:** Open
|
||||
- **Details:** [Link to issue file]
|
||||
|
||||
[Repeat for each high severity issue]
|
||||
|
||||
#### Medium Severity Issues ([number])
|
||||
|
||||
**ISS-XXX: [Issue Title]**
|
||||
- **Category:** [Category]
|
||||
- **Impact:** [Brief impact]
|
||||
- **Status:** Open
|
||||
- **Details:** [Link to issue file]
|
||||
|
||||
[Repeat for each medium severity issue]
|
||||
|
||||
#### Low Severity Issues ([number])
|
||||
|
||||
**ISS-XXX: [Issue Title]**
|
||||
- **Category:** [Category]
|
||||
- **Impact:** [Brief impact]
|
||||
- **Status:** Open
|
||||
- **Details:** [Link to issue file]
|
||||
|
||||
[Repeat for each low severity issue]
|
||||
|
||||
---
|
||||
|
||||
## Detailed Test Results
|
||||
|
||||
### Happy Path Tests
|
||||
|
||||
**HP-001: [Test Name]**
|
||||
- **Status:** [PASS | FAIL]
|
||||
- **Steps:** [number] total
|
||||
- **Passed:** [number]/[total]
|
||||
- **Failed:** [number]/[total]
|
||||
- **Duration:** [time]
|
||||
- **Issues:** [List issue IDs if any]
|
||||
- **Notes:** [Any additional notes]
|
||||
|
||||
[Repeat for each happy path test]
|
||||
|
||||
### Error State Tests
|
||||
|
||||
**ES-001: [Test Name]**
|
||||
- **Status:** [PASS | FAIL]
|
||||
- **Expected Behavior:** [Description]
|
||||
- **Actual Behavior:** [Description]
|
||||
- **Issues:** [List issue IDs if any]
|
||||
|
||||
[Repeat for each error state test]
|
||||
|
||||
### Edge Case Tests
|
||||
|
||||
**EC-001: [Test Name]**
|
||||
- **Status:** [PASS | FAIL]
|
||||
- **Scenario:** [Description]
|
||||
- **Result:** [Description]
|
||||
- **Issues:** [List issue IDs if any]
|
||||
|
||||
[Repeat for each edge case test]
|
||||
|
||||
### Design System Validation
|
||||
|
||||
**DS-001: [Component Name]**
|
||||
- **Instances Checked:** [number]
|
||||
- **Compliant:** [number]/[total]
|
||||
- **Issues:** [List issue IDs if any]
|
||||
- **Details:** [Specific non-compliance]
|
||||
|
||||
[Repeat for each component type]
|
||||
|
||||
### Accessibility Tests
|
||||
|
||||
**A11Y-001: [Test Name]**
|
||||
- **Status:** [PASS | FAIL]
|
||||
- **Standard:** WCAG 2.1 AA
|
||||
- **Result:** [Description]
|
||||
- **Issues:** [List issue IDs if any]
|
||||
|
||||
[Repeat for each accessibility test]
|
||||
|
||||
---
|
||||
|
||||
## What Worked Well
|
||||
|
||||
### Strengths
|
||||
- [Positive observation 1]
|
||||
- [Positive observation 2]
|
||||
- [Positive observation 3]
|
||||
|
||||
### Highlights
|
||||
- [Specific thing that exceeded expectations]
|
||||
- [Specific thing that worked perfectly]
|
||||
|
||||
---
|
||||
|
||||
## What Needs Improvement
|
||||
|
||||
### Areas of Concern
|
||||
- [Issue category 1]: [Brief description]
|
||||
- [Issue category 2]: [Brief description]
|
||||
- [Issue category 3]: [Brief description]
|
||||
|
||||
### Recommendations
|
||||
1. [Specific recommendation 1]
|
||||
2. [Specific recommendation 2]
|
||||
3. [Specific recommendation 3]
|
||||
|
||||
---
|
||||
|
||||
## Metrics
|
||||
|
||||
### Performance Metrics
|
||||
- **Average screen load time:** [time]
|
||||
- **Form submission time:** [time]
|
||||
- **Animation frame rate:** [fps]
|
||||
|
||||
### User Experience Metrics
|
||||
- **Flow completion time:** [time]
|
||||
- **Number of taps:** [number]
|
||||
- **Error rate:** [percentage]%
|
||||
|
||||
### Quality Metrics
|
||||
- **Test pass rate:** [percentage]%
|
||||
- **Design system compliance:** [percentage]%
|
||||
- **Accessibility compliance:** [percentage]%
|
||||
|
||||
---
|
||||
|
||||
## Sign-Off Criteria
|
||||
|
||||
### Required for Approval
|
||||
- [ ] All critical tests pass
|
||||
- [ ] No critical or high severity issues
|
||||
- [ ] Design system compliance > 95%
|
||||
- [ ] All accessibility tests pass
|
||||
- [ ] All acceptance criteria met
|
||||
|
||||
### Current Status
|
||||
- **Critical tests:** [PASS | FAIL]
|
||||
- **Critical/High issues:** [number] found
|
||||
- **Design system compliance:** [percentage]%
|
||||
- **Accessibility tests:** [PASS | FAIL]
|
||||
- **Acceptance criteria:** [number]/[total] met
|
||||
|
||||
---
|
||||
|
||||
## Recommendation
|
||||
|
||||
**Status:** [APPROVED | NOT APPROVED | APPROVED WITH MINOR ISSUES]
|
||||
|
||||
**Reason:**
|
||||
[Detailed explanation of recommendation]
|
||||
|
||||
**Next Steps:**
|
||||
1. [Step 1]
|
||||
2. [Step 2]
|
||||
3. [Step 3]
|
||||
|
||||
---
|
||||
|
||||
## Retest Required
|
||||
|
||||
**Retest:** [YES | NO]
|
||||
|
||||
**If YES:**
|
||||
- **Issues to fix:** [List critical/high issues]
|
||||
- **Expected fix time:** [Estimate]
|
||||
- **Retest date:** [Date]
|
||||
|
||||
**If NO:**
|
||||
- **Approval:** Ready to ship ✅
|
||||
- **Sign-off:** [Your name], [Date]
|
||||
|
||||
---
|
||||
|
||||
## Attachments
|
||||
|
||||
### Screenshots
|
||||
- [Link to screenshots folder]
|
||||
- Total screenshots: [number]
|
||||
|
||||
### Screen Recordings
|
||||
- [Link to recordings folder]
|
||||
- Total recordings: [number]
|
||||
|
||||
### Test Data
|
||||
- [Link to test data used]
|
||||
|
||||
### Issue Tickets
|
||||
- [Link to issues folder]
|
||||
- Total issues: [number]
|
||||
|
||||
---
|
||||
|
||||
## Notes
|
||||
|
||||
[Any additional notes, observations, or context]
|
||||
|
||||
---
|
||||
|
||||
**Report prepared by:** [Your name]
|
||||
**Role:** WDS Designer
|
||||
**Date:** 2024-12-09
|
||||
**Signature:** ________________
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Example Test Report
|
||||
|
||||
See `testing-guide.md` for complete example.
|
||||
|
||||
---
|
||||
|
||||
## Next Step
|
||||
|
||||
After creating the test report:
|
||||
|
||||
```
|
||||
[C] Continue to step-7.6-send-to-bmad.md
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Success Metrics
|
||||
|
||||
✅ Test report created
|
||||
✅ All sections filled out
|
||||
✅ Executive summary clear
|
||||
✅ All test results documented
|
||||
✅ All issues listed
|
||||
✅ Metrics calculated
|
||||
✅ Recommendation provided
|
||||
✅ Sign-off criteria evaluated
|
||||
|
||||
---
|
||||
|
||||
## Failure Modes
|
||||
|
||||
❌ Incomplete test report
|
||||
❌ Missing test results
|
||||
❌ No recommendation
|
||||
❌ Vague summary
|
||||
❌ Missing metrics
|
||||
❌ No sign-off criteria evaluation
|
||||
|
||||
---
|
||||
|
||||
## Tips
|
||||
|
||||
### DO ✅
|
||||
|
||||
**Be comprehensive:**
|
||||
- Include all test results
|
||||
- Document everything
|
||||
- Provide context
|
||||
|
||||
**Be clear:**
|
||||
- Executive summary first
|
||||
- Clear recommendation
|
||||
- Specific next steps
|
||||
|
||||
**Be professional:**
|
||||
- Objective tone
|
||||
- Data-driven
|
||||
- Constructive feedback
|
||||
|
||||
### DON'T ❌
|
||||
|
||||
**Don't be vague:**
|
||||
- Provide specific numbers
|
||||
- Reference exact issues
|
||||
- Give clear recommendations
|
||||
|
||||
**Don't sugarcoat:**
|
||||
- Be honest about issues
|
||||
- Don't hide problems
|
||||
- Be direct but professional
|
||||
|
||||
**Don't skip sections:**
|
||||
- Complete all sections
|
||||
- Even if "no issues"
|
||||
- Document everything
|
||||
|
||||
---
|
||||
|
||||
**Remember:** This report is the official record of testing. Be thorough and professional!
|
||||
|
|
@ -0,0 +1,382 @@
|
|||
# Step 7.6: Send to BMad
|
||||
|
||||
## Your Task
|
||||
|
||||
Send test results, issues, and test report to BMad for fixes.
|
||||
|
||||
---
|
||||
|
||||
## Before You Start
|
||||
|
||||
**Ensure you have:**
|
||||
- ✅ Completed step 7.5 (test report created)
|
||||
- ✅ All issues documented
|
||||
- ✅ Test report finalized
|
||||
- ✅ Clear recommendation
|
||||
|
||||
---
|
||||
|
||||
## Prepare Notification
|
||||
|
||||
### Gather All Artifacts
|
||||
|
||||
**Checklist:**
|
||||
- [ ] Test report: `test-reports/TR-XXX-YYYY-MM-DD.md`
|
||||
- [ ] Issues list: `issues/issues-list.md`
|
||||
- [ ] Individual issue files: `issues/ISS-XXX-*.md`
|
||||
- [ ] Screenshots folder: `testing/DD-XXX/screenshots/`
|
||||
- [ ] Screen recordings folder: `testing/DD-XXX/screen-recordings/`
|
||||
|
||||
---
|
||||
|
||||
## Send Notification to BMad
|
||||
|
||||
### If Issues Found (NOT APPROVED)
|
||||
|
||||
```
|
||||
WDS Designer → BMad Developer
|
||||
|
||||
Subject: Testing Complete for DD-XXX - Issues Found
|
||||
|
||||
Hi Developer!
|
||||
|
||||
Testing complete for DD-XXX ([Flow Name]).
|
||||
|
||||
📊 **Test Results:**
|
||||
- Overall Result: FAIL
|
||||
- Issues Found: [number] ([critical], [high], [medium], [low])
|
||||
- Test Pass Rate: [percentage]%
|
||||
- Design System Compliance: [percentage]%
|
||||
|
||||
❌ **Status:** NOT APPROVED
|
||||
|
||||
🐛 **Issues Found:**
|
||||
|
||||
**High Severity ([number]):**
|
||||
- ISS-XXX: [Issue title]
|
||||
- ISS-XXX: [Issue title]
|
||||
- ISS-XXX: [Issue title]
|
||||
|
||||
**Medium Severity ([number]):**
|
||||
- ISS-XXX: [Issue title]
|
||||
- ISS-XXX: [Issue title]
|
||||
|
||||
**Low Severity ([number]):**
|
||||
- ISS-XXX: [Issue title]
|
||||
|
||||
📁 **Artifacts:**
|
||||
- Test Report: test-reports/TR-XXX-2024-12-09.md
|
||||
- Issues List: issues/issues-list.md
|
||||
- Issue Files: issues/ISS-XXX-*.md
|
||||
- Screenshots: testing/DD-XXX/screenshots/
|
||||
- Recordings: testing/DD-XXX/screen-recordings/
|
||||
|
||||
🔧 **Priority Fixes:**
|
||||
Must fix before release:
|
||||
1. ISS-XXX: [Issue title] (High)
|
||||
2. ISS-XXX: [Issue title] (High)
|
||||
3. ISS-XXX: [Issue title] (High)
|
||||
|
||||
Should fix before release:
|
||||
4. ISS-XXX: [Issue title] (Medium)
|
||||
5. ISS-XXX: [Issue title] (Medium)
|
||||
|
||||
Can fix later:
|
||||
6. ISS-XXX: [Issue title] (Low)
|
||||
|
||||
📅 **Next Steps:**
|
||||
1. Review test report and all issues
|
||||
2. Fix high severity issues first
|
||||
3. Fix medium severity issues
|
||||
4. Notify me when ready for retest
|
||||
5. I'll retest and provide updated report
|
||||
|
||||
⏱️ **Estimated Fix Time:**
|
||||
Based on issue complexity, estimate [time] to fix all high/medium issues.
|
||||
|
||||
❓ **Questions:**
|
||||
Let me know if you have questions about any issues. I'm available to clarify!
|
||||
|
||||
Thanks,
|
||||
[Your name]
|
||||
WDS Designer
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### If No Issues (APPROVED)
|
||||
|
||||
```
|
||||
WDS Designer → BMad Developer
|
||||
|
||||
Subject: Testing Complete for DD-XXX - APPROVED ✅
|
||||
|
||||
Hi Developer!
|
||||
|
||||
Testing complete for DD-XXX ([Flow Name]).
|
||||
|
||||
📊 **Test Results:**
|
||||
- Overall Result: PASS
|
||||
- Issues Found: 0
|
||||
- Test Pass Rate: 100%
|
||||
- Design System Compliance: [percentage]%
|
||||
|
||||
✅ **Status:** APPROVED - Ready to ship!
|
||||
|
||||
🎉 **What Worked Well:**
|
||||
- [Positive feedback 1]
|
||||
- [Positive feedback 2]
|
||||
- [Positive feedback 3]
|
||||
|
||||
📁 **Artifacts:**
|
||||
- Test Report: test-reports/TR-XXX-2024-12-09.md
|
||||
- Screenshots: testing/DD-XXX/screenshots/
|
||||
- Recordings: testing/DD-XXX/screen-recordings/
|
||||
|
||||
📝 **Sign-Off:**
|
||||
I confirm that the implemented feature matches the design
|
||||
specifications and meets the quality standards defined in
|
||||
the test scenario.
|
||||
|
||||
Designer: [Your name]
|
||||
Date: 2024-12-09
|
||||
|
||||
🚀 **Next Steps:**
|
||||
1. Feature is approved for production release
|
||||
2. Deploy to production when ready
|
||||
3. Monitor user feedback after launch
|
||||
|
||||
Excellent work! The implementation matches the design perfectly!
|
||||
|
||||
Thanks,
|
||||
[Your name]
|
||||
WDS Designer
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### If Minor Issues (APPROVED WITH MINOR ISSUES)
|
||||
|
||||
```
|
||||
WDS Designer → BMad Developer
|
||||
|
||||
Subject: Testing Complete for DD-XXX - Approved with Minor Issues
|
||||
|
||||
Hi Developer!
|
||||
|
||||
Testing complete for DD-XXX ([Flow Name]).
|
||||
|
||||
📊 **Test Results:**
|
||||
- Overall Result: PASS (with minor issues)
|
||||
- Issues Found: [number] (all low severity)
|
||||
- Test Pass Rate: [percentage]%
|
||||
- Design System Compliance: [percentage]%
|
||||
|
||||
✅ **Status:** APPROVED - Can ship with minor issues
|
||||
|
||||
🐛 **Minor Issues Found:**
|
||||
|
||||
**Low Severity ([number]):**
|
||||
- ISS-XXX: [Issue title]
|
||||
- ISS-XXX: [Issue title]
|
||||
|
||||
These are cosmetic issues that don't block release. Can be fixed in next update.
|
||||
|
||||
📁 **Artifacts:**
|
||||
- Test Report: test-reports/TR-XXX-2024-12-09.md
|
||||
- Issues: issues/ISS-XXX-*.md
|
||||
- Screenshots: testing/DD-XXX/screenshots/
|
||||
|
||||
📝 **Sign-Off:**
|
||||
I approve this feature for production release. Minor issues can be addressed in future updates.
|
||||
|
||||
Designer: [Your name]
|
||||
Date: 2024-12-09
|
||||
|
||||
🚀 **Next Steps:**
|
||||
1. Deploy to production (approved)
|
||||
2. Create tickets for minor issues in backlog
|
||||
3. Fix minor issues in next sprint
|
||||
|
||||
Great work overall!
|
||||
|
||||
Thanks,
|
||||
[Your name]
|
||||
WDS Designer
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## BMad Acknowledges
|
||||
|
||||
**BMad Developer responds:**
|
||||
|
||||
### If Issues Found
|
||||
|
||||
```
|
||||
BMad Developer → WDS Designer
|
||||
|
||||
Subject: Re: Testing Complete for DD-XXX - Issues Found
|
||||
|
||||
Received! Thank you for the thorough testing.
|
||||
|
||||
📋 **My Plan:**
|
||||
1. Review all [number] issues
|
||||
2. Fix high severity issues first ([number] issues)
|
||||
3. Fix medium severity issues ([number] issues)
|
||||
4. Low severity issues: backlog for next sprint
|
||||
|
||||
⏱️ **Estimated Fix Time:**
|
||||
- High severity: [time]
|
||||
- Medium severity: [time]
|
||||
- Total: [time]
|
||||
|
||||
🔔 **I'll notify you when:**
|
||||
- Each high severity issue is fixed (for early validation if needed)
|
||||
- All issues are fixed and ready for retest
|
||||
|
||||
❓ **Questions:**
|
||||
- ISS-XXX: [Question about specific issue]
|
||||
|
||||
Thanks for the detailed feedback!
|
||||
|
||||
BMad Developer
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### If Approved
|
||||
|
||||
```
|
||||
BMad Developer → WDS Designer
|
||||
|
||||
Subject: Re: Testing Complete for DD-XXX - APPROVED ✅
|
||||
|
||||
Awesome! Thank you for the approval!
|
||||
|
||||
🚀 **Next Steps:**
|
||||
1. Merging to main branch
|
||||
2. Deploying to production
|
||||
3. Monitoring for any issues
|
||||
|
||||
Thanks for the great collaboration!
|
||||
|
||||
BMad Developer
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Update Delivery Status
|
||||
|
||||
**Update `deliveries/DD-XXX-name.yaml`:**
|
||||
|
||||
### If Issues Found
|
||||
|
||||
```yaml
|
||||
delivery:
|
||||
status: "in_testing" # Changed from "in_development"
|
||||
tested_at: "2024-12-09T16:00:00Z"
|
||||
test_result: "fail"
|
||||
issues_found: 8
|
||||
test_report: "test-reports/TR-001-2024-12-09.md"
|
||||
retest_required: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### If Approved
|
||||
|
||||
```yaml
|
||||
delivery:
|
||||
status: "complete" # Changed from "in_development"
|
||||
tested_at: "2024-12-09T16:00:00Z"
|
||||
test_result: "pass"
|
||||
issues_found: 0
|
||||
test_report: "test-reports/TR-001-2024-12-09.md"
|
||||
approved_by: "[Your name]"
|
||||
approved_at: "2024-12-09T16:00:00Z"
|
||||
ready_for_production: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Communication Tips
|
||||
|
||||
### DO ✅
|
||||
|
||||
**Be clear:**
|
||||
- State result upfront (PASS/FAIL)
|
||||
- List issues by severity
|
||||
- Provide clear next steps
|
||||
|
||||
**Be helpful:**
|
||||
- Offer to clarify issues
|
||||
- Provide recommendations
|
||||
- Be available for questions
|
||||
|
||||
**Be professional:**
|
||||
- Objective tone
|
||||
- Data-driven feedback
|
||||
- Constructive criticism
|
||||
|
||||
**Be appreciative:**
|
||||
- Acknowledge good work
|
||||
- Highlight what worked well
|
||||
- Thank for collaboration
|
||||
|
||||
### DON'T ❌
|
||||
|
||||
**Don't be vague:**
|
||||
- "Some issues found" ❌
|
||||
- "8 issues found (3 high, 3 medium, 2 low)" ✅
|
||||
|
||||
**Don't be harsh:**
|
||||
- "This is terrible" ❌
|
||||
- "Found some issues that need fixing" ✅
|
||||
|
||||
**Don't disappear:**
|
||||
- Send notification and stay available
|
||||
- Answer questions promptly
|
||||
- Be responsive
|
||||
|
||||
**Don't delay:**
|
||||
- Send results within 24 hours of completing testing
|
||||
- Don't make BMad wait
|
||||
|
||||
---
|
||||
|
||||
## Next Step
|
||||
|
||||
After sending to BMad:
|
||||
|
||||
```
|
||||
[C] Continue to step-7.7-iterate-or-approve.md
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Success Metrics
|
||||
|
||||
✅ Notification sent to BMad
|
||||
✅ All artifacts included
|
||||
✅ Clear result stated (PASS/FAIL/PARTIAL)
|
||||
✅ Issues listed by severity
|
||||
✅ Next steps provided
|
||||
✅ BMad acknowledged receipt
|
||||
✅ Delivery status updated
|
||||
✅ Available for questions
|
||||
|
||||
---
|
||||
|
||||
## Failure Modes
|
||||
|
||||
❌ Not sending notification
|
||||
❌ Vague results
|
||||
❌ Missing artifacts
|
||||
❌ No next steps
|
||||
❌ Disappearing after sending
|
||||
❌ Not updating delivery status
|
||||
|
||||
---
|
||||
|
||||
**Remember:** Clear communication = fast fixes. Be thorough, helpful, and available!
|
||||
|
|
@ -0,0 +1,567 @@
|
|||
# Step 7.7: Iterate or Approve
|
||||
|
||||
## Your Task
|
||||
|
||||
Either iterate with BMad to fix issues, or approve the feature for production.
|
||||
|
||||
---
|
||||
|
||||
## Before You Start
|
||||
|
||||
**Ensure you have:**
|
||||
- ✅ Completed step 7.6 (sent to BMad)
|
||||
- ✅ BMad acknowledged receipt
|
||||
- ✅ Clear on next steps
|
||||
|
||||
---
|
||||
|
||||
## Two Paths
|
||||
|
||||
### Path A: Issues Found → Iterate
|
||||
|
||||
**If test result was FAIL:**
|
||||
- BMad fixes issues
|
||||
- You retest
|
||||
- Repeat until approved
|
||||
|
||||
### Path B: No Issues → Approve
|
||||
|
||||
**If test result was PASS:**
|
||||
- Feature approved
|
||||
- Ready for production
|
||||
- Phase 7 complete!
|
||||
|
||||
---
|
||||
|
||||
## Path A: Iterate (Issues Found)
|
||||
|
||||
### Step 1: Wait for BMad Fixes
|
||||
|
||||
**BMad is fixing issues:**
|
||||
|
||||
```
|
||||
BMad Developer: "Working on fixes for DD-XXX.
|
||||
|
||||
Progress:
|
||||
✓ ISS-002: Button color fixed
|
||||
✓ ISS-003: Button labels added
|
||||
⏳ ISS-004: Progress save in progress
|
||||
⏳ ISS-005: Network timeout handling in progress
|
||||
|
||||
Will notify when all fixes complete."
|
||||
```
|
||||
|
||||
**Your role during fixes:**
|
||||
- Be available for questions
|
||||
- Clarify issues if needed
|
||||
- Review fixes if BMad requests early feedback
|
||||
|
||||
---
|
||||
|
||||
### Step 2: BMad Notifies Ready for Retest
|
||||
|
||||
**BMad notifies:**
|
||||
|
||||
```
|
||||
BMad Developer: "All issues fixed for DD-XXX!
|
||||
|
||||
Fixed:
|
||||
✓ ISS-002: Button color (now using design token)
|
||||
✓ ISS-003: Button labels (accessibility improved)
|
||||
✓ ISS-004: Progress save (state persists)
|
||||
✓ ISS-005: Network timeout (30s timeout + retry)
|
||||
✓ ISS-001: Transition animation (300ms fade)
|
||||
✓ ISS-006: Error message (more helpful)
|
||||
|
||||
Low severity issues (ISS-007, ISS-008) moved to backlog.
|
||||
|
||||
Build: v0.1.0-beta.2
|
||||
Environment: Staging
|
||||
|
||||
Ready for retest!"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Step 3: Retest
|
||||
|
||||
**Run tests again:**
|
||||
|
||||
**Focus on:**
|
||||
1. **Fixed issues** (verify they're actually fixed)
|
||||
2. **Regression testing** (ensure fixes didn't break anything)
|
||||
3. **Related areas** (check if fixes affected other parts)
|
||||
|
||||
**Abbreviated testing:**
|
||||
- Don't need to run ALL tests again
|
||||
- Focus on areas that were fixed
|
||||
- Spot-check other areas for regression
|
||||
|
||||
**Example retest plan:**
|
||||
```markdown
|
||||
# Retest Plan: DD-XXX (v0.1.0-beta.2)
|
||||
|
||||
## Fixed Issues to Verify
|
||||
|
||||
### ISS-002: Button Color
|
||||
- [ ] Check all primary buttons
|
||||
- [ ] Verify color is #2563EB
|
||||
- [ ] Check on all screens
|
||||
|
||||
### ISS-003: Button Labels
|
||||
- [ ] Enable VoiceOver
|
||||
- [ ] Verify all buttons have descriptive labels
|
||||
- [ ] Check all interactive elements
|
||||
|
||||
### ISS-004: Progress Save
|
||||
- [ ] Complete signup
|
||||
- [ ] Force quit app
|
||||
- [ ] Reopen app
|
||||
- [ ] Verify resumes at Family Setup
|
||||
|
||||
[Continue for each fixed issue]
|
||||
|
||||
## Regression Testing
|
||||
|
||||
- [ ] Run happy path HP-001 (full flow)
|
||||
- [ ] Spot-check error states
|
||||
- [ ] Verify design system compliance
|
||||
|
||||
## New Issues
|
||||
|
||||
- [ ] Watch for any new issues introduced by fixes
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Step 4: Document Retest Results
|
||||
|
||||
**Create retest report:** `test-reports/TR-XXX-YYYY-MM-DD-retest.md`
|
||||
|
||||
```markdown
|
||||
# Retest Report: DD-XXX (Build v0.1.0-beta.2)
|
||||
|
||||
**Date:** 2024-12-15
|
||||
**Tester:** [Your name]
|
||||
**Build:** v0.1.0-beta.2
|
||||
**Original Test:** TR-001-2024-12-09.md
|
||||
**Issues Fixed:** 6
|
||||
|
||||
---
|
||||
|
||||
## Fixed Issues Verification
|
||||
|
||||
### ISS-002: Button Color
|
||||
- **Status:** FIXED ✅
|
||||
- **Verification:** All primary buttons now use #2563EB
|
||||
- **Result:** PASS
|
||||
|
||||
### ISS-003: Button Labels
|
||||
- **Status:** FIXED ✅
|
||||
- **Verification:** VoiceOver announces descriptive labels
|
||||
- **Result:** PASS
|
||||
|
||||
### ISS-004: Progress Save
|
||||
- **Status:** FIXED ✅
|
||||
- **Verification:** App resumes at correct point after force quit
|
||||
- **Result:** PASS
|
||||
|
||||
### ISS-005: Network Timeout
|
||||
- **Status:** FIXED ✅
|
||||
- **Verification:** 30s timeout with retry button
|
||||
- **Result:** PASS
|
||||
|
||||
### ISS-001: Transition Animation
|
||||
- **Status:** FIXED ✅
|
||||
- **Verification:** 300ms fade transition working
|
||||
- **Result:** PASS
|
||||
|
||||
### ISS-006: Error Message
|
||||
- **Status:** FIXED ✅
|
||||
- **Verification:** Error message now helpful and actionable
|
||||
- **Result:** PASS
|
||||
|
||||
---
|
||||
|
||||
## Regression Testing
|
||||
|
||||
### Happy Path HP-001
|
||||
- **Status:** PASS ✅
|
||||
- **No regressions detected**
|
||||
|
||||
### Error States
|
||||
- **Status:** PASS ✅
|
||||
- **No regressions detected**
|
||||
|
||||
### Design System
|
||||
- **Compliance:** 98% (up from 67%)
|
||||
- **Status:** PASS ✅
|
||||
|
||||
---
|
||||
|
||||
## New Issues Found
|
||||
|
||||
None! All fixes implemented correctly with no regressions.
|
||||
|
||||
---
|
||||
|
||||
## Overall Result
|
||||
|
||||
**Status:** PASS ✅
|
||||
|
||||
All issues fixed successfully. Feature is ready for production.
|
||||
|
||||
---
|
||||
|
||||
## Recommendation
|
||||
|
||||
**APPROVED** - Ready to ship!
|
||||
|
||||
**Sign-off:**
|
||||
Designer: [Your name]
|
||||
Date: 2024-12-15
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Step 5: Send Retest Results
|
||||
|
||||
**If all issues fixed:**
|
||||
|
||||
```
|
||||
WDS Designer → BMad Developer
|
||||
|
||||
Subject: Retest Complete for DD-XXX - APPROVED ✅
|
||||
|
||||
Hi Developer!
|
||||
|
||||
Retest complete for DD-XXX!
|
||||
|
||||
✅ **Result:** APPROVED - Ready to ship!
|
||||
|
||||
🎉 **All Issues Fixed:**
|
||||
- ISS-002: Button color ✓
|
||||
- ISS-003: Button labels ✓
|
||||
- ISS-004: Progress save ✓
|
||||
- ISS-005: Network timeout ✓
|
||||
- ISS-001: Transition animation ✓
|
||||
- ISS-006: Error message ✓
|
||||
|
||||
📊 **Retest Results:**
|
||||
- Fixed issues: 6/6 (100%)
|
||||
- Regression tests: All passed
|
||||
- Design system compliance: 98% (target: >95%)
|
||||
- New issues: 0
|
||||
|
||||
📁 **Retest Report:**
|
||||
test-reports/TR-001-2024-12-15-retest.md
|
||||
|
||||
📝 **Sign-Off:**
|
||||
I confirm that all issues have been fixed and the feature
|
||||
is ready for production release.
|
||||
|
||||
Designer: [Your name]
|
||||
Date: 2024-12-15
|
||||
|
||||
🚀 **Next Steps:**
|
||||
Deploy to production!
|
||||
|
||||
Excellent work on the fixes!
|
||||
|
||||
Thanks,
|
||||
[Your name]
|
||||
WDS Designer
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**If new issues found:**
|
||||
|
||||
```
|
||||
WDS Designer → BMad Developer
|
||||
|
||||
Subject: Retest Complete for DD-XXX - New Issues Found
|
||||
|
||||
Hi Developer!
|
||||
|
||||
Retest complete for DD-XXX.
|
||||
|
||||
📊 **Result:** FAIL (new issues found)
|
||||
|
||||
✅ **Original Issues Fixed:**
|
||||
- ISS-002: Button color ✓
|
||||
- ISS-003: Button labels ✓
|
||||
- [etc...]
|
||||
|
||||
❌ **New Issues Found:**
|
||||
- ISS-009: [New issue description]
|
||||
- ISS-010: [New issue description]
|
||||
|
||||
📁 **Retest Report:**
|
||||
test-reports/TR-001-2024-12-15-retest.md
|
||||
|
||||
🔧 **Next Steps:**
|
||||
1. Fix new issues
|
||||
2. Retest again
|
||||
|
||||
Sorry for the additional issues! Let me know if you have questions.
|
||||
|
||||
Thanks,
|
||||
[Your name]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Step 6: Repeat Until Approved
|
||||
|
||||
**Keep iterating:**
|
||||
- BMad fixes issues
|
||||
- You retest
|
||||
- Report results
|
||||
- Repeat until all issues resolved
|
||||
|
||||
**Typical iteration:**
|
||||
```
|
||||
Round 1: 8 issues found
|
||||
Round 2: 2 new issues found (6 fixed)
|
||||
Round 3: All issues fixed ✅
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Path B: Approve (No Issues)
|
||||
|
||||
### Step 1: Final Sign-Off
|
||||
|
||||
**Create sign-off document:** `deliveries/DD-XXX-sign-off.md`
|
||||
|
||||
```markdown
|
||||
# Design Sign-Off: DD-XXX [Flow Name]
|
||||
|
||||
**Delivery ID:** DD-XXX
|
||||
**Delivery Name:** [Flow Name]
|
||||
**Build Version:** v0.1.0-beta.1
|
||||
**Test Date:** 2024-12-09
|
||||
**Sign-Off Date:** 2024-12-09
|
||||
|
||||
---
|
||||
|
||||
## Certification
|
||||
|
||||
I, [Your name], as the WDS Designer for this project, hereby
|
||||
certify that:
|
||||
|
||||
1. ✅ The implemented feature matches the design specifications
|
||||
defined in Design Delivery DD-XXX
|
||||
|
||||
2. ✅ All scenarios have been implemented correctly according
|
||||
to the specifications in C-Scenarios/
|
||||
|
||||
3. ✅ All design system components have been used correctly
|
||||
according to D-Design-System/ specifications
|
||||
|
||||
4. ✅ All acceptance criteria defined in DD-XXX.yaml have
|
||||
been met
|
||||
|
||||
5. ✅ All test scenarios defined in TS-XXX.yaml have passed
|
||||
|
||||
6. ✅ Design system compliance exceeds 95% threshold
|
||||
|
||||
7. ✅ Accessibility standards (WCAG 2.1 AA) have been met
|
||||
|
||||
8. ✅ The feature meets the quality standards required for
|
||||
production release
|
||||
|
||||
---
|
||||
|
||||
## Test Results Summary
|
||||
|
||||
- **Test Report:** test-reports/TR-XXX-2024-12-09.md
|
||||
- **Test Pass Rate:** 100%
|
||||
- **Issues Found:** 0
|
||||
- **Design System Compliance:** [percentage]%
|
||||
- **Accessibility Compliance:** 100%
|
||||
|
||||
---
|
||||
|
||||
## Approval
|
||||
|
||||
**Status:** APPROVED FOR PRODUCTION RELEASE
|
||||
|
||||
**Designer Signature:** [Your name]
|
||||
**Date:** 2024-12-09
|
||||
|
||||
---
|
||||
|
||||
## Production Release Authorization
|
||||
|
||||
This feature is authorized for production deployment.
|
||||
|
||||
**Next Steps:**
|
||||
1. Merge to main branch
|
||||
2. Deploy to production
|
||||
3. Monitor user feedback
|
||||
4. Address any post-launch issues in future updates
|
||||
|
||||
---
|
||||
|
||||
**Congratulations to the team on successful delivery!** 🎉
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Step 2: Celebrate!
|
||||
|
||||
**You did it!**
|
||||
|
||||
```
|
||||
WDS Designer → BMad Developer
|
||||
|
||||
Subject: DD-XXX Approved - Great Work! 🎉
|
||||
|
||||
Hi Developer!
|
||||
|
||||
DD-XXX is officially approved and ready for production!
|
||||
|
||||
🎉 **Congratulations!**
|
||||
|
||||
The implementation is excellent and matches the design
|
||||
perfectly. Great collaboration throughout!
|
||||
|
||||
📝 **Sign-Off Document:**
|
||||
deliveries/DD-XXX-sign-off.md
|
||||
|
||||
🚀 **Ready for Production:**
|
||||
Feature is approved for deployment.
|
||||
|
||||
Thanks for the great work!
|
||||
|
||||
[Your name]
|
||||
WDS Designer
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Update Delivery Status
|
||||
|
||||
### If Approved
|
||||
|
||||
```yaml
|
||||
delivery:
|
||||
status: "complete"
|
||||
approved_at: "2024-12-09T16:00:00Z"
|
||||
approved_by: "[Your name]"
|
||||
ready_for_production: true
|
||||
sign_off_document: "deliveries/DD-XXX-sign-off.md"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### If Still Iterating
|
||||
|
||||
```yaml
|
||||
delivery:
|
||||
status: "in_testing"
|
||||
retest_count: 2
|
||||
last_retest_at: "2024-12-15T14:00:00Z"
|
||||
issues_remaining: 2
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Phase 7 Complete!
|
||||
|
||||
**When feature is approved:**
|
||||
|
||||
✅ Testing complete
|
||||
✅ All issues resolved
|
||||
✅ Feature approved
|
||||
✅ Sign-off documented
|
||||
✅ Ready for production
|
||||
|
||||
**What happens next:**
|
||||
- BMad deploys to production
|
||||
- Feature goes live
|
||||
- Users start using it
|
||||
- Monitor feedback
|
||||
- Plan next delivery
|
||||
|
||||
---
|
||||
|
||||
## Return to Phase 6
|
||||
|
||||
**While this feature ships, design the next one!**
|
||||
|
||||
```
|
||||
[D] Return to Phase 6 for next Design Delivery
|
||||
```
|
||||
|
||||
**Or if all deliveries complete:**
|
||||
|
||||
```
|
||||
[C] All deliveries complete! Product shipped! 🚀
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Success Metrics
|
||||
|
||||
✅ Issues fixed and verified
|
||||
✅ Retest completed (if needed)
|
||||
✅ Feature approved
|
||||
✅ Sign-off documented
|
||||
✅ Delivery status updated
|
||||
✅ BMad notified
|
||||
✅ Ready for production
|
||||
|
||||
---
|
||||
|
||||
## Failure Modes
|
||||
|
||||
❌ Endless iteration (not converging)
|
||||
❌ Approving with unresolved issues
|
||||
❌ Not documenting sign-off
|
||||
❌ Not updating delivery status
|
||||
❌ Disappearing after approval
|
||||
|
||||
---
|
||||
|
||||
## Tips
|
||||
|
||||
### DO ✅
|
||||
|
||||
**Be patient:**
|
||||
- Iteration is normal
|
||||
- Quality takes time
|
||||
- Don't rush approval
|
||||
|
||||
**Be thorough:**
|
||||
- Verify all fixes
|
||||
- Check for regressions
|
||||
- Don't skip retest
|
||||
|
||||
**Be appreciative:**
|
||||
- Acknowledge good work
|
||||
- Celebrate success
|
||||
- Thank the team
|
||||
|
||||
### DON'T ❌
|
||||
|
||||
**Don't approve prematurely:**
|
||||
- All issues must be fixed
|
||||
- Quality standards must be met
|
||||
- Don't compromise
|
||||
|
||||
**Don't iterate forever:**
|
||||
- If stuck, discuss with team
|
||||
- Find pragmatic solutions
|
||||
- Know when "good enough"
|
||||
|
||||
**Don't forget documentation:**
|
||||
- Sign-off is required
|
||||
- Update delivery status
|
||||
- Document everything
|
||||
|
||||
---
|
||||
|
||||
**Remember:** Quality is the goal. Iterate until it's right, then celebrate success!** 🎉✨
|
||||
|
|
@ -0,0 +1,562 @@
|
|||
# Phase 7: Testing (Designer Validation)
|
||||
|
||||
**Validate implementation matches design vision and quality standards**
|
||||
|
||||
---
|
||||
|
||||
## Purpose
|
||||
|
||||
Phase 7 is where you:
|
||||
1. Wait for BMad to notify you that a feature is complete
|
||||
2. Run test scenarios to validate implementation
|
||||
3. Create issues if problems are found
|
||||
4. Iterate with BMad until quality meets standards
|
||||
5. Sign off when approved
|
||||
|
||||
**This is Touch Point 3:** BMad → WDS (BMad integrates with WDS testing)
|
||||
|
||||
---
|
||||
|
||||
## When to Enter Phase 7
|
||||
|
||||
**After BMad notifies you:**
|
||||
|
||||
```
|
||||
BMad Developer: "Feature complete: DD-001 Login & Onboarding
|
||||
|
||||
Implemented:
|
||||
✓ All 4 scenarios
|
||||
✓ All error states
|
||||
✓ All edge cases
|
||||
✓ Design system components
|
||||
|
||||
Build: v0.1.0-beta.1
|
||||
Device: Staging environment
|
||||
|
||||
Ready for designer validation.
|
||||
Test scenario: test-scenarios/TS-001.yaml"
|
||||
```
|
||||
|
||||
**You respond:**
|
||||
```
|
||||
WDS Analyst: "Received! Starting validation testing..."
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Phase 7 Steps
|
||||
|
||||
### Step 1: Prepare for Testing
|
||||
|
||||
**Gather materials:**
|
||||
- [ ] Test scenario file (TS-XXX.yaml)
|
||||
- [ ] Design Delivery file (DD-XXX.yaml)
|
||||
- [ ] Scenario specifications (C-Scenarios/)
|
||||
- [ ] Design system specs (D-Design-System/)
|
||||
|
||||
**Set up environment:**
|
||||
- [ ] Access to staging build
|
||||
- [ ] Test devices ready (iOS, Android, etc.)
|
||||
- [ ] Test data prepared
|
||||
- [ ] Screen recording tools ready
|
||||
- [ ] Note-taking tools ready
|
||||
|
||||
---
|
||||
|
||||
### Step 2: Run Happy Path Tests
|
||||
|
||||
**Follow test scenario:**
|
||||
|
||||
```yaml
|
||||
happy_path:
|
||||
- id: "HP-001"
|
||||
name: "New User Complete Onboarding"
|
||||
steps:
|
||||
- action: "Open app"
|
||||
expected: "Welcome screen appears"
|
||||
design_ref: "C-Scenarios/01-welcome/Frontend/specifications.md"
|
||||
```
|
||||
|
||||
**For each step:**
|
||||
1. Perform the action
|
||||
2. Observe the result
|
||||
3. Compare to expected result
|
||||
4. Check design reference
|
||||
5. Mark as Pass or Fail
|
||||
6. Take screenshots if issues found
|
||||
7. Note any deviations
|
||||
|
||||
**Record results:**
|
||||
```
|
||||
HP-001: New User Complete Onboarding
|
||||
✓ Step 1: Open app → Welcome screen appears (PASS)
|
||||
✓ Step 2: Tap "Get Started" → Login/Signup choice (PASS)
|
||||
✗ Step 3: Tap "Create Account" → Signup form (FAIL)
|
||||
Issue: Transition too fast, feels jarring
|
||||
Expected: 300ms smooth transition
|
||||
Actual: Instant transition
|
||||
Screenshot: screenshots/HP-001-step-3.png
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Step 3: Run Error State Tests
|
||||
|
||||
**Test error handling:**
|
||||
|
||||
```yaml
|
||||
error_states:
|
||||
- id: "ES-001"
|
||||
name: "Email Already Exists"
|
||||
steps:
|
||||
- action: "Enter existing email"
|
||||
- action: "Tap 'Create Account'"
|
||||
- expected: "Error message: 'This email is already registered...'"
|
||||
```
|
||||
|
||||
**Verify:**
|
||||
- Error messages are clear and helpful
|
||||
- Error states are visually distinct
|
||||
- Recovery options are provided
|
||||
- User can retry without losing data
|
||||
|
||||
---
|
||||
|
||||
### Step 4: Run Edge Case Tests
|
||||
|
||||
**Test unusual scenarios:**
|
||||
|
||||
```yaml
|
||||
edge_cases:
|
||||
- id: "EC-001"
|
||||
name: "User Closes App Mid-Onboarding"
|
||||
steps:
|
||||
- action: "Start onboarding, complete signup"
|
||||
- action: "Close app (force quit)"
|
||||
- action: "Reopen app"
|
||||
- expected: "Resume at Family Setup"
|
||||
```
|
||||
|
||||
**Verify:**
|
||||
- Edge cases are handled gracefully
|
||||
- No crashes or blank screens
|
||||
- User experience is smooth
|
||||
|
||||
---
|
||||
|
||||
### Step 5: Validate Design System Compliance
|
||||
|
||||
**Check component usage:**
|
||||
|
||||
```yaml
|
||||
design_system_checks:
|
||||
- id: "DS-001"
|
||||
name: "Button Components"
|
||||
checks:
|
||||
- component: "Primary Button"
|
||||
instances: ["Get Started", "Create Account"]
|
||||
verify:
|
||||
- "Correct size (48px height)"
|
||||
- "Correct color (primary brand color)"
|
||||
- "Correct typography (16px, semibold)"
|
||||
```
|
||||
|
||||
**Verify:**
|
||||
- Components match design system specs
|
||||
- Colors are correct
|
||||
- Typography is correct
|
||||
- Spacing is correct
|
||||
- States work correctly (hover, active, disabled)
|
||||
|
||||
---
|
||||
|
||||
### Step 6: Test Accessibility
|
||||
|
||||
**Run accessibility tests:**
|
||||
|
||||
```yaml
|
||||
accessibility:
|
||||
- id: "A11Y-001"
|
||||
name: "Screen Reader Navigation"
|
||||
setup: "Enable VoiceOver (iOS) or TalkBack (Android)"
|
||||
verify:
|
||||
- "All buttons have descriptive labels"
|
||||
- "Form fields announce their purpose"
|
||||
- "Error messages are announced"
|
||||
```
|
||||
|
||||
**Verify:**
|
||||
- Screen reader can navigate
|
||||
- All interactive elements are accessible
|
||||
- Color contrast meets WCAG 2.1 AA
|
||||
- Touch targets are 44×44px minimum
|
||||
|
||||
---
|
||||
|
||||
### Step 7: Create Issues
|
||||
|
||||
**If problems found, create issue tickets:**
|
||||
|
||||
**File:** `issues/ISS-XXX-description.md`
|
||||
|
||||
**Template:**
|
||||
```markdown
|
||||
# Issue: Button Color Incorrect
|
||||
|
||||
**ID:** ISS-001
|
||||
**Severity:** High
|
||||
**Status:** Open
|
||||
**Delivery:** DD-001
|
||||
**Test:** TS-001, Check: DS-001
|
||||
|
||||
## Description
|
||||
Primary button color doesn't match design system specification.
|
||||
|
||||
## Expected
|
||||
Primary button background: #2563EB (brand primary)
|
||||
|
||||
## Actual
|
||||
Primary button background: #3B82F6 (lighter blue)
|
||||
|
||||
## Impact
|
||||
Brand inconsistency, doesn't match design system
|
||||
|
||||
## Design Reference
|
||||
- Design System: D-Design-System/03-Atomic-Components/Buttons/Button-Primary.md
|
||||
- Design Token: tokens/colors.json → "button.primary.background"
|
||||
|
||||
## Steps to Reproduce
|
||||
1. Open Login screen
|
||||
2. Observe "Sign In" button color
|
||||
|
||||
## Screenshot
|
||||

|
||||
|
||||
## Recommendation
|
||||
Update button background color to use design token:
|
||||
```tsx
|
||||
backgroundColor: tokens.button.primary.background // #2563EB
|
||||
```
|
||||
```
|
||||
|
||||
**Severity levels:**
|
||||
- **Critical:** Blocks usage, must fix immediately
|
||||
- **High:** Major issue, fix before release
|
||||
- **Medium:** Noticeable issue, fix soon
|
||||
- **Low:** Minor issue, fix when possible
|
||||
|
||||
---
|
||||
|
||||
### Step 8: Create Test Report
|
||||
|
||||
**File:** `test-reports/TR-XXX-YYYY-MM-DD.md`
|
||||
|
||||
**Template:**
|
||||
```markdown
|
||||
# Test Report: TS-001 Login & Onboarding
|
||||
|
||||
**Date:** 2024-12-09
|
||||
**Tester:** Sarah (Designer)
|
||||
**Device:** iPhone 14 Pro (iOS 17)
|
||||
**Build:** v0.1.0-beta.1
|
||||
|
||||
## Summary
|
||||
|
||||
**Overall Result:** FAIL (2 issues found, 1 high severity)
|
||||
|
||||
**Test Coverage:**
|
||||
- Happy Path: 12/13 passed (92%)
|
||||
- Error States: 3/3 passed (100%)
|
||||
- Edge Cases: 2/2 passed (100%)
|
||||
- Design System: 8/10 passed (80%)
|
||||
- Accessibility: 2/2 passed (100%)
|
||||
|
||||
## Issues Found
|
||||
|
||||
### ISS-001: Button Color Incorrect (HIGH)
|
||||
[Details...]
|
||||
|
||||
### ISS-002: Transition Too Fast (MEDIUM)
|
||||
[Details...]
|
||||
|
||||
## Recommendations
|
||||
|
||||
### What Worked Well
|
||||
- Error handling is clear and helpful
|
||||
- Accessibility is excellent
|
||||
- User flow is intuitive
|
||||
|
||||
### What Needs Improvement
|
||||
- Design system compliance (80% → target 95%)
|
||||
- Transition animations need polish
|
||||
|
||||
### Next Steps
|
||||
1. Fix ISS-001 (button color) - CRITICAL
|
||||
2. Fix ISS-002 (transition speed)
|
||||
3. Retest with updated build
|
||||
|
||||
## Sign-off
|
||||
|
||||
**Status:** NOT APPROVED
|
||||
**Reason:** High severity issue + design system compliance below threshold
|
||||
**Retest Required:** Yes
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Step 9: Send to BMad
|
||||
|
||||
**Notify BMad of results:**
|
||||
|
||||
```
|
||||
WDS Analyst: "Testing complete for DD-001.
|
||||
|
||||
Results: 2 issues found
|
||||
- ISS-001: Button color incorrect (HIGH)
|
||||
- ISS-002: Transition too fast (MEDIUM)
|
||||
|
||||
Test report: test-reports/TR-001-2024-12-09.md
|
||||
Issues: issues/ISS-001.md, issues/ISS-002.md
|
||||
|
||||
Please fix and notify when ready for retest."
|
||||
```
|
||||
|
||||
**BMad responds:**
|
||||
```
|
||||
BMad Developer: "Issues received. Fixing:
|
||||
- ISS-001: Button color
|
||||
- ISS-002: Transition speed
|
||||
|
||||
Will notify when ready for retest."
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Step 10: Iterate Until Approved
|
||||
|
||||
**BMad fixes issues:**
|
||||
```
|
||||
BMad Developer: "Issues fixed.
|
||||
Build: v0.1.0-beta.2
|
||||
Ready for retest."
|
||||
```
|
||||
|
||||
**You retest:**
|
||||
- Run test scenarios again
|
||||
- Verify issues are fixed
|
||||
- Check for new issues
|
||||
- Update test report
|
||||
|
||||
**If approved:**
|
||||
```
|
||||
WDS Analyst: "Retest complete!
|
||||
|
||||
All issues resolved.
|
||||
Design system compliance: 98%
|
||||
|
||||
✅ APPROVED - Ready to ship!
|
||||
|
||||
Test report: test-reports/TR-001-2024-12-15.md"
|
||||
```
|
||||
|
||||
**If not approved:**
|
||||
- Create new issues
|
||||
- Send to BMad
|
||||
- Repeat until approved
|
||||
|
||||
---
|
||||
|
||||
## Sign-Off Criteria
|
||||
|
||||
**Required for approval:**
|
||||
- [ ] All critical tests pass
|
||||
- [ ] No critical or high severity issues
|
||||
- [ ] Design system compliance > 95%
|
||||
- [ ] Accessibility tests pass
|
||||
- [ ] Usability metrics meet targets
|
||||
- [ ] All acceptance criteria met
|
||||
|
||||
**Designer approval:**
|
||||
```
|
||||
I confirm that the implemented feature matches the design
|
||||
specifications and meets the quality standards defined in
|
||||
the test scenario.
|
||||
|
||||
Designer: ________________
|
||||
Date: ________________
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Deliverables
|
||||
|
||||
### Test Report
|
||||
|
||||
**Location:** `test-reports/TR-XXX-YYYY-MM-DD.md`
|
||||
|
||||
**Contents:**
|
||||
- Test summary (date, tester, device, build)
|
||||
- Overall result (pass/fail/partial)
|
||||
- Test coverage (happy path, errors, edge cases, etc.)
|
||||
- Issues found (with severity and details)
|
||||
- Recommendations (what worked, what needs improvement)
|
||||
- Sign-off status
|
||||
|
||||
---
|
||||
|
||||
### Issue Tickets
|
||||
|
||||
**Location:** `issues/ISS-XXX-description.md`
|
||||
|
||||
**Contents:**
|
||||
- Issue metadata (id, severity, status, delivery, test)
|
||||
- Description
|
||||
- Expected vs Actual
|
||||
- Impact
|
||||
- Design reference
|
||||
- Steps to reproduce
|
||||
- Screenshot/video
|
||||
- Recommendation
|
||||
|
||||
---
|
||||
|
||||
## Common Issues
|
||||
|
||||
### Design System Violations
|
||||
|
||||
**Button color incorrect:**
|
||||
- Expected: Design token color
|
||||
- Actual: Hardcoded color
|
||||
- Fix: Use design token
|
||||
|
||||
**Typography wrong:**
|
||||
- Expected: 16px, Semibold
|
||||
- Actual: 14px, Regular
|
||||
- Fix: Use design system styles
|
||||
|
||||
**Spacing inconsistent:**
|
||||
- Expected: 20px between elements
|
||||
- Actual: 15px, 18px, 23px
|
||||
- Fix: Use spacing tokens
|
||||
|
||||
---
|
||||
|
||||
### Interaction Issues
|
||||
|
||||
**Transition too fast:**
|
||||
- Expected: 300ms smooth transition
|
||||
- Actual: Instant transition
|
||||
- Fix: Add transition animation
|
||||
|
||||
**Touch target too small:**
|
||||
- Expected: 44×44px minimum
|
||||
- Actual: 32×32px
|
||||
- Fix: Increase button size
|
||||
|
||||
**No loading state:**
|
||||
- Expected: Spinner during load
|
||||
- Actual: Blank screen
|
||||
- Fix: Add loading indicator
|
||||
|
||||
---
|
||||
|
||||
### Accessibility Issues
|
||||
|
||||
**Missing labels:**
|
||||
- Expected: Descriptive button labels
|
||||
- Actual: Generic "Button" label
|
||||
- Fix: Add aria-label
|
||||
|
||||
**Low contrast:**
|
||||
- Expected: 4.5:1 contrast ratio
|
||||
- Actual: 3:1 contrast ratio
|
||||
- Fix: Increase text color contrast
|
||||
|
||||
**Not keyboard accessible:**
|
||||
- Expected: Can navigate with keyboard
|
||||
- Actual: Keyboard navigation doesn't work
|
||||
- Fix: Add keyboard support
|
||||
|
||||
---
|
||||
|
||||
## Tips for Success
|
||||
|
||||
### DO ✅
|
||||
|
||||
**Be thorough:**
|
||||
- Test every step in test scenario
|
||||
- Check all design references
|
||||
- Verify all acceptance criteria
|
||||
- Don't skip edge cases
|
||||
|
||||
**Be specific:**
|
||||
- Clear issue descriptions
|
||||
- Include screenshots/videos
|
||||
- Reference design specs
|
||||
- Provide recommendations
|
||||
|
||||
**Be collaborative:**
|
||||
- Communicate clearly with BMad
|
||||
- Answer questions promptly
|
||||
- Appreciate good work
|
||||
- Focus on quality, not blame
|
||||
|
||||
**Be iterative:**
|
||||
- Expect multiple rounds
|
||||
- Test quickly and provide feedback
|
||||
- Don't wait for perfection
|
||||
- Sign off when quality is good enough
|
||||
|
||||
### DON'T ❌
|
||||
|
||||
**Don't be vague:**
|
||||
- "It doesn't look right" ❌
|
||||
- "Button color is #3B82F6, should be #2563EB" ✅
|
||||
|
||||
**Don't be nitpicky:**
|
||||
- Focus on critical issues first
|
||||
- Don't block on minor details
|
||||
- Remember: good enough to ship
|
||||
|
||||
**Don't disappear:**
|
||||
- Respond to BMad questions
|
||||
- Retest promptly
|
||||
- Stay engaged until sign-off
|
||||
|
||||
**Don't skip documentation:**
|
||||
- Always create test reports
|
||||
- Always document issues
|
||||
- Always provide clear feedback
|
||||
|
||||
---
|
||||
|
||||
## Next Steps
|
||||
|
||||
**After Phase 7 (Sign-off):**
|
||||
|
||||
1. **Feature ships** to production
|
||||
2. **Monitor** user feedback and metrics
|
||||
3. **Iterate** based on real-world usage
|
||||
4. **Continue** with next delivery (return to Phase 4-5)
|
||||
|
||||
**If more flows in progress:**
|
||||
- Test next completed flow
|
||||
- Continue parallel work
|
||||
- Maintain quality standards
|
||||
|
||||
---
|
||||
|
||||
## Resources
|
||||
|
||||
**Templates:**
|
||||
- `templates/test-scenario.template.yaml`
|
||||
- `templates/test-report.template.md` (to be created)
|
||||
- `templates/issue.template.md` (to be created)
|
||||
|
||||
**Specifications:**
|
||||
- `src/core/resources/wds/integration-guide.md`
|
||||
- Test scenario files in `test-scenarios/`
|
||||
|
||||
---
|
||||
|
||||
**Phase 7 is where you ensure quality! Test thoroughly, communicate clearly, and sign off with confidence!** ✅✨
|
||||
|
|
@ -0,0 +1,79 @@
|
|||
# Phase 7: Testing (Designer Validation) Workflow
|
||||
|
||||
**Validate implementation matches design vision and quality standards**
|
||||
|
||||
---
|
||||
|
||||
## Purpose
|
||||
|
||||
Phase 7 is where you validate that BMad's implementation matches your design specifications and meets quality standards.
|
||||
|
||||
**This is Touch Point 3:** BMad → WDS (BMad requests validation)
|
||||
|
||||
---
|
||||
|
||||
## Workflow Architecture
|
||||
|
||||
This uses **micro-file architecture** for disciplined execution:
|
||||
|
||||
- Each step is a self-contained file with embedded rules
|
||||
- Sequential progression with user control at each step
|
||||
- Iterative testing until approved
|
||||
|
||||
---
|
||||
|
||||
## Phase 7 Micro-Steps
|
||||
|
||||
```
|
||||
Phase 7.1: Receive Notification
|
||||
↓ (BMad notifies feature complete)
|
||||
Phase 7.2: Prepare for Testing
|
||||
↓ (Gather materials, set up environment)
|
||||
Phase 7.3: Run Test Scenarios
|
||||
↓ (Happy path, errors, edge cases, design system, accessibility)
|
||||
Phase 7.4: Create Issues
|
||||
↓ (Document problems found)
|
||||
Phase 7.5: Create Test Report
|
||||
↓ (Summarize results)
|
||||
Phase 7.6: Send to BMad
|
||||
↓ (Notify developer of issues)
|
||||
Phase 7.7: Iterate or Approve
|
||||
↓ (Retest after fixes OR sign off)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## When to Enter Phase 7
|
||||
|
||||
**After BMad notifies you:**
|
||||
|
||||
```
|
||||
BMad Developer: "Feature complete: DD-001 Login & Onboarding
|
||||
|
||||
Build: v0.1.0-beta.1
|
||||
Device: Staging environment
|
||||
|
||||
Ready for designer validation.
|
||||
Test scenario: test-scenarios/TS-001.yaml"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Execution
|
||||
|
||||
Load and execute `steps/step-7.1-receive-notification.md` to begin the workflow.
|
||||
|
||||
**Note:** Each step will guide you to the next step when ready.
|
||||
|
||||
---
|
||||
|
||||
## Resources
|
||||
|
||||
- Test Scenario: `test-scenarios/TS-XXX.yaml`
|
||||
- Design Delivery: `deliveries/DD-XXX.yaml`
|
||||
- Scenario Specs: `C-Scenarios/`
|
||||
- Design System: `D-Design-System/`
|
||||
|
||||
---
|
||||
|
||||
**Phase 7 is where you ensure quality! Test thoroughly, communicate clearly, and sign off with confidence!** ✅✨
|
||||
|
|
@ -0,0 +1,808 @@
|
|||
# Phase 8: Existing Product Development
|
||||
|
||||
**Jump into an existing product to make strategic improvements**
|
||||
|
||||
---
|
||||
|
||||
## Two Entry Points to WDS
|
||||
|
||||
### **Entry Point 1: New Product (Phases 1-7)**
|
||||
Starting from scratch, designing complete user flows
|
||||
|
||||
### **Entry Point 2: Existing Product (Phase 8)**
|
||||
Jumping into an existing product to make strategic changes
|
||||
|
||||
**This phase is for:**
|
||||
- Existing products that need strategic improvements
|
||||
- Products where you're brought in as a "linchpin designer"
|
||||
- Situations where you're not designing complete flows from scratch
|
||||
- Making targeted changes to existing screens and features
|
||||
|
||||
---
|
||||
|
||||
## Purpose
|
||||
|
||||
When joining an existing product, you:
|
||||
1. Focus on strategic challenges (not complete redesign)
|
||||
2. Make targeted improvements to existing screens
|
||||
3. Add new features incrementally
|
||||
4. Package changes as system updates
|
||||
5. Work within existing constraints
|
||||
|
||||
**This is a different workflow** - you're not designing complete flows, you're making critical updates to an existing system.
|
||||
|
||||
---
|
||||
|
||||
## Phase 8 Workflow (Existing Product)
|
||||
|
||||
```
|
||||
Existing Product
|
||||
↓
|
||||
Strategic Challenge Identified
|
||||
↓
|
||||
┌─────────────────────────────────────┐
|
||||
│ Phase 8.1: Limited Project Brief │
|
||||
│ - What strategic challenge? │
|
||||
│ - What are we trying to solve? │
|
||||
│ - Why bring in WDS designer? │
|
||||
└─────────────────────────────────────┘
|
||||
↓
|
||||
┌─────────────────────────────────────┐
|
||||
│ Phase 8.2: Existing Context │
|
||||
│ - Upload business goals │
|
||||
│ - Upload target group material │
|
||||
│ - Print out trigger map │
|
||||
│ - Understand existing product │
|
||||
└─────────────────────────────────────┘
|
||||
↓
|
||||
┌─────────────────────────────────────┐
|
||||
│ Phase 8.3: Critical Updates │
|
||||
│ - Design targeted changes │
|
||||
│ - Update existing screens │
|
||||
│ - Add strategic features │
|
||||
│ - Focus on solving challenge │
|
||||
└─────────────────────────────────────┘
|
||||
↓
|
||||
┌─────────────────────────────────────┐
|
||||
│ Phase 8.4: System Update Delivery │
|
||||
│ → [Touch Point 2: WDS → BMad] │
|
||||
│ Hand off changes │
|
||||
└─────────────────────────────────────┘
|
||||
↓
|
||||
┌─────────────────────────────────────┐
|
||||
│ Phase 8.5: Validation │
|
||||
│ ← [Touch Point 3: BMad → WDS] │
|
||||
│ Designer validates │
|
||||
└─────────────────────────────────────┘
|
||||
↓
|
||||
✅ Deploy System Update
|
||||
↓
|
||||
(Repeat for next strategic challenge)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Project Setup: Choosing Your Entry Point
|
||||
|
||||
**During project initialization, you'll be asked:**
|
||||
|
||||
```
|
||||
Which type of project are you working on?
|
||||
|
||||
1. New Product
|
||||
→ Start with Phase 1 (Project Brief)
|
||||
→ Design complete user flows from scratch
|
||||
→ Full WDS workflow (Phases 1-7)
|
||||
|
||||
2. Existing Product
|
||||
→ Start with Phase 8 (Existing Product Development)
|
||||
→ Make strategic improvements to existing product
|
||||
→ Focused on critical updates, not complete redesign
|
||||
```
|
||||
|
||||
**If you choose "Existing Product":**
|
||||
- Skip Phases 1-2 (or do limited versions)
|
||||
- Skip Phase 3 (tech stack already decided)
|
||||
- Focus on Phase 8 workflow
|
||||
- Make targeted changes, not complete flows
|
||||
|
||||
---
|
||||
|
||||
## Phase 8.1: Limited Project Brief
|
||||
|
||||
**Instead of a full project brief, focus on:**
|
||||
|
||||
### **The Strategic Challenge**
|
||||
|
||||
```markdown
|
||||
# Limited Project Brief: Existing Product
|
||||
|
||||
## Strategic Challenge
|
||||
What specific problem are we solving?
|
||||
|
||||
Example:
|
||||
"User onboarding has 60% drop-off rate. Users don't understand
|
||||
the family concept and abandon during setup."
|
||||
|
||||
## Why WDS Designer?
|
||||
Why bring in a linchpin designer now?
|
||||
|
||||
Example:
|
||||
"We need expert UX design to redesign the onboarding flow and
|
||||
improve completion rates to 80%+."
|
||||
|
||||
## Scope
|
||||
What are we changing?
|
||||
|
||||
Example:
|
||||
"Redesign onboarding flow (4 screens):
|
||||
- Welcome screen (update copy and visuals)
|
||||
- Family setup (simplify and clarify)
|
||||
- Dog addition (make it optional for MVP)
|
||||
- Success state (add celebration)"
|
||||
|
||||
## Success Criteria
|
||||
How will we measure success?
|
||||
|
||||
Example:
|
||||
"- Onboarding completion rate > 80%
|
||||
- Time to complete < 2 minutes
|
||||
- User satisfaction score > 4.5/5"
|
||||
|
||||
## Constraints
|
||||
What can't we change?
|
||||
|
||||
Example:
|
||||
"- Tech stack: React Native + Supabase (already built)
|
||||
- Brand: Colors and logo are fixed
|
||||
- Timeline: 2 weeks to design + implement
|
||||
- Scope: Only onboarding, don't touch other features"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Phase 8.2: Existing Context
|
||||
|
||||
**Upload and review existing materials:**
|
||||
|
||||
### **Business Goals**
|
||||
```
|
||||
Upload: business-goals.pdf
|
||||
Review: What's the company trying to achieve?
|
||||
```
|
||||
|
||||
### **Target Group Material**
|
||||
```
|
||||
Upload: user-personas.pdf
|
||||
Upload: user-research.pdf
|
||||
Review: Who are the users? What do they need?
|
||||
```
|
||||
|
||||
### **Print Out Trigger Map**
|
||||
```
|
||||
Based on existing materials, create a focused trigger map:
|
||||
- What triggers bring users to this feature?
|
||||
- What outcomes are they seeking?
|
||||
- What's currently failing?
|
||||
```
|
||||
|
||||
**Example (Focused Trigger Map):**
|
||||
```markdown
|
||||
# Trigger Map: Onboarding Improvement
|
||||
|
||||
## Trigger Moment
|
||||
User downloads app and opens it for the first time
|
||||
|
||||
## Current Experience
|
||||
1. Welcome screen (confusing value prop)
|
||||
2. Login/Signup choice (too many options)
|
||||
3. Family setup (unclear what "family" means)
|
||||
4. Dog addition (forced, feels like homework)
|
||||
5. 60% drop off before reaching dashboard
|
||||
|
||||
## Desired Outcome
|
||||
User understands value, completes setup, reaches dashboard
|
||||
|
||||
## Barriers
|
||||
- Unclear value proposition
|
||||
- "Family" concept is confusing
|
||||
- Forced dog addition feels like work
|
||||
- No sense of progress or achievement
|
||||
|
||||
## Solution Focus
|
||||
- Clarify value prop on welcome screen
|
||||
- Simplify family concept explanation
|
||||
- Make dog addition optional
|
||||
- Add progress indicators and celebration
|
||||
```
|
||||
|
||||
### **Understand Existing Product**
|
||||
```
|
||||
Review:
|
||||
- Current app (use it yourself)
|
||||
- Existing design system (if any)
|
||||
- Technical constraints
|
||||
- User feedback and analytics
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Phase 8.3: Critical Updates (Not Complete Flows)
|
||||
|
||||
**Key difference: You're updating existing screens, not designing from scratch**
|
||||
|
||||
### **Example: Onboarding Improvement**
|
||||
|
||||
**Scenario 01: Welcome Screen (Update)**
|
||||
```markdown
|
||||
# Scenario 01: Welcome Screen (UPDATE)
|
||||
|
||||
## What's Changing
|
||||
- Clearer value proposition
|
||||
- Better visual hierarchy
|
||||
- Stronger call-to-action
|
||||
|
||||
## What's Staying
|
||||
- Brand colors
|
||||
- Logo placement
|
||||
- Screen structure
|
||||
|
||||
## Design Updates
|
||||
- Hero image: Show family using app together
|
||||
- Headline: "Keep your family's dog care organized"
|
||||
- Subheadline: "Share tasks, track routines, never miss a walk"
|
||||
- CTA: "Get Started" (larger, more prominent)
|
||||
|
||||
## Components
|
||||
- Existing: Button (Primary)
|
||||
- Update: Hero Image component
|
||||
- Update: Typography (larger headline)
|
||||
```
|
||||
|
||||
**Scenario 02: Family Setup (Redesign)**
|
||||
```markdown
|
||||
# Scenario 02: Family Setup (REDESIGN)
|
||||
|
||||
## Current Problem
|
||||
Users don't understand what "family" means in this context
|
||||
|
||||
## Solution
|
||||
- Rename "Family" to "Household"
|
||||
- Add explanation: "Who helps take care of your dog?"
|
||||
- Show examples: "You, your partner, your kids, your dog walker"
|
||||
- Make it visual: Show avatars of household members
|
||||
|
||||
## Design Changes
|
||||
- Screen title: "Set up your household"
|
||||
- Explanation text (new)
|
||||
- Visual examples (new)
|
||||
- Simplified form (fewer fields)
|
||||
|
||||
## Components
|
||||
- Existing: Input (Text)
|
||||
- New: Explanation Card component
|
||||
- New: Avatar Grid component
|
||||
```
|
||||
|
||||
**Scenario 03: Dog Addition (Make Optional)**
|
||||
```markdown
|
||||
# Scenario 03: Dog Addition (MAKE OPTIONAL)
|
||||
|
||||
## Current Problem
|
||||
Forcing users to add a dog feels like homework, causes drop-off
|
||||
|
||||
## Solution
|
||||
- Make it optional for onboarding
|
||||
- Show value: "Add your first dog to get started"
|
||||
- Allow skip: "I'll do this later"
|
||||
- Celebrate if they add: "Great! Let's meet [dog name]!"
|
||||
|
||||
## Design Changes
|
||||
- Add "Skip for now" button
|
||||
- Add celebration animation if dog added
|
||||
- Update copy to be inviting, not demanding
|
||||
|
||||
## Components
|
||||
- Existing: Button (Primary, Secondary)
|
||||
- New: Celebration Animation component
|
||||
```
|
||||
|
||||
**Notice the difference:**
|
||||
- ❌ Not designing complete flows from scratch
|
||||
- ✅ Updating existing screens strategically
|
||||
- ✅ Focused on solving specific problems
|
||||
- ✅ Working within existing constraints
|
||||
|
||||
---
|
||||
|
||||
## What Triggers a System Update?
|
||||
|
||||
### **Accumulated Changes**
|
||||
|
||||
**Small changes accumulate:**
|
||||
- Bug fix: Button alignment
|
||||
- Refinement: Improved error message
|
||||
- Enhancement: New filter option
|
||||
- Fix: Loading state missing
|
||||
- Improvement: Better empty state
|
||||
|
||||
**When enough changes accumulate:**
|
||||
```
|
||||
10-15 small changes = System Update
|
||||
OR
|
||||
3-5 medium features = System Update
|
||||
OR
|
||||
1 major feature = System Update
|
||||
```
|
||||
|
||||
### **Business Triggers**
|
||||
|
||||
**Scheduled releases:**
|
||||
- Monthly updates
|
||||
- Quarterly feature releases
|
||||
- Annual major versions
|
||||
|
||||
**Market triggers:**
|
||||
- Competitor feature launched
|
||||
- User demand spike
|
||||
- Business opportunity
|
||||
|
||||
**Technical triggers:**
|
||||
- Platform update (iOS 18, Android 15)
|
||||
- Security patch required
|
||||
- Performance optimization needed
|
||||
|
||||
---
|
||||
|
||||
## Ongoing Development Workflow
|
||||
|
||||
### Step 1: Monitor & Gather Feedback
|
||||
|
||||
**Sources:**
|
||||
- User feedback (support tickets, reviews)
|
||||
- Analytics (usage patterns, drop-offs)
|
||||
- Team observations (bugs, issues)
|
||||
- Stakeholder requests (new features)
|
||||
|
||||
**Track in backlog:**
|
||||
```
|
||||
Backlog:
|
||||
- [ ] Bug: Login button misaligned on iPad
|
||||
- [ ] Enhancement: Add "Remember me" checkbox
|
||||
- [ ] Feature: Social login (Google, Apple)
|
||||
- [ ] Refinement: Improve onboarding copy
|
||||
- [ ] Fix: Loading spinner not showing
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Step 2: Prioritize Changes
|
||||
|
||||
**Criteria:**
|
||||
- **Impact:** High user value vs low effort
|
||||
- **Urgency:** Critical bugs vs nice-to-haves
|
||||
- **Alignment:** Strategic goals vs random requests
|
||||
- **Feasibility:** Quick wins vs complex changes
|
||||
|
||||
**Prioritized list:**
|
||||
```
|
||||
High Priority (Next Update):
|
||||
1. Bug: Login button misaligned (Critical)
|
||||
2. Fix: Loading spinner not showing (High)
|
||||
3. Enhancement: Add "Remember me" (Medium)
|
||||
|
||||
Medium Priority (Future Update):
|
||||
4. Feature: Social login (Medium)
|
||||
5. Refinement: Improve copy (Low)
|
||||
|
||||
Low Priority (Backlog):
|
||||
6. Enhancement: Dark mode (Low)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Step 3: Design Changes
|
||||
|
||||
**Return to Phase 4-5:**
|
||||
- Design fixes and refinements
|
||||
- Create specifications for new features
|
||||
- Update design system if needed
|
||||
- Document changes
|
||||
|
||||
**Track changes:**
|
||||
```
|
||||
Changes for System Update v1.1:
|
||||
✓ Fixed: Login button alignment on iPad
|
||||
✓ Added: Loading spinner to all async actions
|
||||
✓ Enhanced: "Remember me" checkbox on login
|
||||
✓ Updated: Button component (new loading state)
|
||||
✓ Refined: Error messages (clearer wording)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Step 4: Create System Update Delivery
|
||||
|
||||
**When enough changes accumulate:**
|
||||
|
||||
**File:** `deliveries/DD-XXX-system-update-vX.X.yaml`
|
||||
|
||||
```yaml
|
||||
delivery:
|
||||
id: "DD-010"
|
||||
name: "System Update v1.1"
|
||||
type: "system_update"
|
||||
status: "ready"
|
||||
priority: "high"
|
||||
version: "1.1"
|
||||
|
||||
description: |
|
||||
System update with bug fixes, refinements, and enhancements
|
||||
based on user feedback from v1.0 launch.
|
||||
|
||||
changes:
|
||||
bug_fixes:
|
||||
- "Fixed login button alignment on iPad"
|
||||
- "Added loading spinner to all async actions"
|
||||
- "Fixed family invite code validation"
|
||||
|
||||
enhancements:
|
||||
- "Added 'Remember me' checkbox on login"
|
||||
- "Improved error messages (clearer wording)"
|
||||
- "Better empty state for task list"
|
||||
|
||||
design_system_updates:
|
||||
- "Button component: Added loading state"
|
||||
- "Input component: Improved error styling"
|
||||
|
||||
affected_scenarios:
|
||||
- id: "02-login"
|
||||
path: "C-Scenarios/02-login/"
|
||||
changes: "Added 'Remember me' checkbox, fixed alignment"
|
||||
|
||||
- id: "06-task-list"
|
||||
path: "C-Scenarios/06-task-list/"
|
||||
changes: "Improved empty state design"
|
||||
|
||||
user_value:
|
||||
problem: "Users experiencing bugs and requesting improvements"
|
||||
solution: "Bug fixes and enhancements based on feedback"
|
||||
success_criteria:
|
||||
- "Bug reports decrease by 50%"
|
||||
- "User satisfaction score increases"
|
||||
- "Onboarding completion rate improves"
|
||||
|
||||
estimated_complexity:
|
||||
size: "small"
|
||||
effort: "1 week"
|
||||
risk: "low"
|
||||
dependencies: []
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Step 5: Hand Off to BMad
|
||||
|
||||
**Same process as Phase 6:**
|
||||
1. Create Design Delivery (DD-XXX.yaml)
|
||||
2. Create Test Scenario (TS-XXX.yaml)
|
||||
3. Handoff Dialog with BMad Architect
|
||||
4. BMad implements changes
|
||||
5. Designer validates (Phase 7)
|
||||
6. Sign off and deploy
|
||||
|
||||
**BMad receives:**
|
||||
- System Update delivery
|
||||
- Updated specifications
|
||||
- Design system changes
|
||||
- Test scenario
|
||||
|
||||
---
|
||||
|
||||
### Step 6: Deploy System Update
|
||||
|
||||
**After validation:**
|
||||
```
|
||||
✅ System Update v1.1 approved
|
||||
✅ All tests passed
|
||||
✅ Ready to deploy
|
||||
|
||||
Deployment:
|
||||
- Version: v1.1.0
|
||||
- Changes: 8 (3 bug fixes, 5 enhancements)
|
||||
- Release notes: Generated from delivery
|
||||
- Deploy to: Production
|
||||
```
|
||||
|
||||
**Release notes (auto-generated from delivery):**
|
||||
```markdown
|
||||
# System Update v1.1
|
||||
|
||||
## What's New
|
||||
|
||||
### Bug Fixes
|
||||
- Fixed login button alignment on iPad
|
||||
- Added loading spinner to all async actions
|
||||
- Fixed family invite code validation
|
||||
|
||||
### Enhancements
|
||||
- Added "Remember me" checkbox on login
|
||||
- Improved error messages for clarity
|
||||
- Better empty state when no tasks
|
||||
|
||||
### Design System Updates
|
||||
- Button component now supports loading state
|
||||
- Input component has improved error styling
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Step 7: Monitor & Repeat
|
||||
|
||||
**After deployment:**
|
||||
- Monitor user feedback
|
||||
- Track analytics
|
||||
- Identify new issues
|
||||
- Plan next update
|
||||
|
||||
**Continuous cycle:**
|
||||
```
|
||||
v1.0 Launch
|
||||
↓
|
||||
Gather feedback (2 weeks)
|
||||
↓
|
||||
v1.1 System Update (bug fixes + enhancements)
|
||||
↓
|
||||
Gather feedback (4 weeks)
|
||||
↓
|
||||
v1.2 System Update (new features)
|
||||
↓
|
||||
Gather feedback (8 weeks)
|
||||
↓
|
||||
v2.0 Major Update (significant changes)
|
||||
↓
|
||||
(Repeat)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Types of Updates
|
||||
|
||||
### **Patch Updates (v1.0.1)**
|
||||
**Frequency:** As needed (urgent bugs)
|
||||
**Scope:** Critical bug fixes only
|
||||
**Timeline:** 1-3 days
|
||||
|
||||
**Example:**
|
||||
- Critical: Login broken on iOS 17.2
|
||||
- Fix: Update authentication flow
|
||||
- Deploy: Emergency patch
|
||||
|
||||
---
|
||||
|
||||
### **Minor Updates (v1.1.0)**
|
||||
**Frequency:** Monthly or bi-weekly
|
||||
**Scope:** Bug fixes + small enhancements
|
||||
**Timeline:** 1-2 weeks
|
||||
|
||||
**Example:**
|
||||
- 3 bug fixes
|
||||
- 5 small enhancements
|
||||
- 2 design system updates
|
||||
- Deploy: Scheduled release
|
||||
|
||||
---
|
||||
|
||||
### **Major Updates (v2.0.0)**
|
||||
**Frequency:** Quarterly or annually
|
||||
**Scope:** New features + significant changes
|
||||
**Timeline:** 4-8 weeks
|
||||
|
||||
**Example:**
|
||||
- New feature: Calendar view
|
||||
- New feature: Family chat
|
||||
- Redesign: Navigation system
|
||||
- Major: Design system overhaul
|
||||
- Deploy: Major version release
|
||||
|
||||
---
|
||||
|
||||
## Ongoing Collaboration
|
||||
|
||||
### **Designer & Developer Partnership**
|
||||
|
||||
**Designer:**
|
||||
- Monitors user feedback
|
||||
- Identifies improvements
|
||||
- Designs changes
|
||||
- Creates deliveries
|
||||
- Validates implementation
|
||||
|
||||
**Developer:**
|
||||
- Implements changes
|
||||
- Suggests technical improvements
|
||||
- Provides feasibility feedback
|
||||
- Requests design clarification
|
||||
- Notifies when ready for testing
|
||||
|
||||
**Together:**
|
||||
- Regular sync meetings
|
||||
- Shared backlog
|
||||
- Collaborative prioritization
|
||||
- Continuous improvement
|
||||
- Mutual respect and trust
|
||||
|
||||
---
|
||||
|
||||
## The Sunset Ride 🌅
|
||||
|
||||
**After establishing the ongoing cycle:**
|
||||
|
||||
```
|
||||
Designer: "We've launched v1.0, iterated through v1.1 and v1.2,
|
||||
and now v2.0 is live. The product is mature, the
|
||||
process is smooth, and users are happy.
|
||||
|
||||
The design-to-development workflow is humming along
|
||||
beautifully. We're a well-oiled machine!"
|
||||
|
||||
Developer: "Agreed! We've found our rhythm. Design Deliveries
|
||||
come in, we implement them, you validate, we ship.
|
||||
The 3 touch points work perfectly.
|
||||
|
||||
Users love the product, stakeholders are happy,
|
||||
and we're continuously improving."
|
||||
|
||||
Designer: "Ready to ride into the sunset?"
|
||||
|
||||
Developer: "Let's go! 🌅"
|
||||
|
||||
[Designer and Developer ride off into the sunset together]
|
||||
|
||||
THE END! 🎬
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Success Metrics
|
||||
|
||||
### **Process Health**
|
||||
|
||||
**Velocity:**
|
||||
- Time from design to deployment
|
||||
- Number of updates per quarter
|
||||
- Backlog size and age
|
||||
|
||||
**Quality:**
|
||||
- Bug reports per release
|
||||
- User satisfaction scores
|
||||
- Design system compliance
|
||||
|
||||
**Collaboration:**
|
||||
- Handoff smoothness
|
||||
- Communication clarity
|
||||
- Issue resolution time
|
||||
|
||||
---
|
||||
|
||||
### **Product Health**
|
||||
|
||||
**Usage:**
|
||||
- Active users
|
||||
- Feature adoption
|
||||
- Retention rates
|
||||
|
||||
**Satisfaction:**
|
||||
- User reviews
|
||||
- NPS scores
|
||||
- Support tickets
|
||||
|
||||
**Business:**
|
||||
- Revenue growth
|
||||
- Market share
|
||||
- Strategic goals met
|
||||
|
||||
---
|
||||
|
||||
## Tips for Long-Term Success
|
||||
|
||||
### DO ✅
|
||||
|
||||
**Maintain momentum:**
|
||||
- Regular releases (don't go dark)
|
||||
- Continuous improvement
|
||||
- Respond to feedback
|
||||
- Celebrate wins
|
||||
|
||||
**Keep quality high:**
|
||||
- Don't skip validation
|
||||
- Maintain design system
|
||||
- Test thoroughly
|
||||
- Document changes
|
||||
|
||||
**Communicate well:**
|
||||
- Regular designer-developer sync
|
||||
- Clear priorities
|
||||
- Transparent roadmap
|
||||
- Stakeholder updates
|
||||
|
||||
**Stay user-focused:**
|
||||
- Listen to feedback
|
||||
- Measure impact
|
||||
- Iterate based on data
|
||||
- Solve real problems
|
||||
|
||||
### DON'T ❌
|
||||
|
||||
**Don't let backlog grow:**
|
||||
- Prioritize ruthlessly
|
||||
- Say no to low-value requests
|
||||
- Keep backlog manageable
|
||||
- Archive old items
|
||||
|
||||
**Don't skip process:**
|
||||
- Always create deliveries
|
||||
- Always validate
|
||||
- Always document
|
||||
- Always follow touch points
|
||||
|
||||
**Don't lose sight:**
|
||||
- Remember user value
|
||||
- Stay aligned with goals
|
||||
- Don't chase shiny objects
|
||||
- Focus on what matters
|
||||
|
||||
**Don't burn out:**
|
||||
- Sustainable pace
|
||||
- Realistic timelines
|
||||
- Celebrate progress
|
||||
- Take breaks
|
||||
|
||||
---
|
||||
|
||||
## The Long Game
|
||||
|
||||
**Year 1:**
|
||||
- Launch v1.0 (MVP)
|
||||
- Iterate rapidly (v1.1, v1.2, v1.3)
|
||||
- Learn from users
|
||||
- Establish process
|
||||
|
||||
**Year 2:**
|
||||
- Major update v2.0
|
||||
- Mature product
|
||||
- Smooth process
|
||||
- Happy users
|
||||
|
||||
**Year 3+:**
|
||||
- Continuous evolution
|
||||
- Market leadership
|
||||
- Sustainable growth
|
||||
- Designer & Developer harmony
|
||||
|
||||
---
|
||||
|
||||
## Resources
|
||||
|
||||
**Ongoing Development:**
|
||||
- Return to Phase 4-5 for changes
|
||||
- Use Phase 6 for system updates
|
||||
- Use Phase 7 for validation
|
||||
- Repeat indefinitely
|
||||
|
||||
**Templates:**
|
||||
- Same templates as initial development
|
||||
- Add "system_update" type to deliveries
|
||||
- Track version numbers
|
||||
|
||||
**Documentation:**
|
||||
- Maintain changelog
|
||||
- Update release notes
|
||||
- Keep design system current
|
||||
- Document learnings
|
||||
|
||||
---
|
||||
|
||||
**And they lived happily ever after, shipping great products together!** 🌅✨
|
||||
|
||||
**THE END!** 🎬
|
||||
|
|
@ -0,0 +1,271 @@
|
|||
# Project Type Selection
|
||||
|
||||
**Choose your WDS entry point during project initialization**
|
||||
|
||||
---
|
||||
|
||||
## The Question
|
||||
|
||||
```
|
||||
Which type of project are you working on?
|
||||
|
||||
1. New Product
|
||||
2. Existing Product
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Option 1: New Product
|
||||
|
||||
**Choose this if:**
|
||||
- ✅ Starting from scratch
|
||||
- ✅ No existing product or codebase
|
||||
- ✅ Designing complete user flows
|
||||
- ✅ Full creative freedom
|
||||
- ✅ Defining tech stack
|
||||
|
||||
**You'll start with:**
|
||||
- Phase 1: Project Brief (full)
|
||||
- Phase 2: Trigger Map (complete)
|
||||
- Phase 3: Platform Requirements (define tech stack)
|
||||
- Phases 4-7: Iterative development
|
||||
|
||||
**Example scenarios:**
|
||||
- "We're building a new dog care app from scratch"
|
||||
- "Startup launching first product"
|
||||
- "New feature that's completely separate from existing product"
|
||||
|
||||
---
|
||||
|
||||
## Option 2: Existing Product
|
||||
|
||||
**Choose this if:**
|
||||
- ✅ Product already exists and is live
|
||||
- ✅ Brought in as "linchpin designer" to solve specific problems
|
||||
- ✅ Making strategic improvements, not complete redesign
|
||||
- ✅ Working within existing constraints
|
||||
- ✅ Tech stack already decided
|
||||
|
||||
**You'll start with:**
|
||||
- Phase 8.1: Limited Project Brief (strategic challenge)
|
||||
- Phase 8.2: Existing Context (upload materials, print trigger map)
|
||||
- Phase 8.3: Critical Updates (targeted changes)
|
||||
- Phase 8.4-8.5: Delivery and validation
|
||||
|
||||
**Example scenarios:**
|
||||
- "Onboarding has 60% drop-off, need to redesign it"
|
||||
- "Users don't understand key feature, need UX improvements"
|
||||
- "Adding new feature to existing product"
|
||||
- "Improving conversion rate on checkout flow"
|
||||
|
||||
---
|
||||
|
||||
## Comparison
|
||||
|
||||
| Aspect | New Product | Existing Product |
|
||||
|--------|-------------|------------------|
|
||||
| **Entry Point** | Phase 1 | Phase 8 |
|
||||
| **Project Brief** | Full (vision, goals, stakeholders) | Limited (strategic challenge) |
|
||||
| **Trigger Map** | Complete (all user needs) | Focused (specific problem) |
|
||||
| **Platform Requirements** | Define from scratch | Already decided |
|
||||
| **Design Scope** | Complete user flows | Targeted updates |
|
||||
| **Creative Freedom** | High | Constrained |
|
||||
| **Timeline** | Months | Weeks |
|
||||
| **Deliverables** | Multiple Design Deliveries | System Update Delivery |
|
||||
|
||||
---
|
||||
|
||||
## Agent Prompts
|
||||
|
||||
### For New Product
|
||||
|
||||
```
|
||||
Great! You're starting a new product from scratch.
|
||||
|
||||
Let's begin with Phase 1: Project Brief.
|
||||
|
||||
I'll help you define:
|
||||
- Project vision and goals
|
||||
- Target users and their needs
|
||||
- Success criteria
|
||||
- Stakeholders and team
|
||||
|
||||
Ready to start?
|
||||
```
|
||||
|
||||
### For Existing Product
|
||||
|
||||
```
|
||||
Great! You're improving an existing product.
|
||||
|
||||
Let's begin with Phase 8.1: Limited Project Brief.
|
||||
|
||||
I'll help you define:
|
||||
- The strategic challenge you're solving
|
||||
- Why you're bringing in a WDS designer
|
||||
- Scope of changes
|
||||
- Success criteria
|
||||
- Constraints
|
||||
|
||||
First, what's the strategic challenge you're trying to solve?
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Configuration
|
||||
|
||||
**Project config file will include:**
|
||||
|
||||
```yaml
|
||||
project:
|
||||
type: "new_product" # or "existing_product"
|
||||
entry_point: "phase_1" # or "phase_8"
|
||||
|
||||
# If existing_product:
|
||||
existing_product:
|
||||
strategic_challenge: "Onboarding has 60% drop-off rate"
|
||||
scope: "Redesign onboarding flow (4 screens)"
|
||||
constraints:
|
||||
- "Tech stack: React Native + Supabase (fixed)"
|
||||
- "Brand: Colors and logo are fixed"
|
||||
- "Timeline: 2 weeks"
|
||||
|
||||
existing_materials:
|
||||
business_goals: "path/to/business-goals.pdf"
|
||||
user_research: "path/to/user-research.pdf"
|
||||
current_design_system: "path/to/design-system/"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Workflow Differences
|
||||
|
||||
### New Product Workflow
|
||||
|
||||
```
|
||||
Phase 1: Project Brief
|
||||
↓
|
||||
Phase 2: Trigger Map
|
||||
↓
|
||||
Phase 3: Platform Requirements → [Touch Point 1]
|
||||
↓
|
||||
┌─────────────────────────────────────┐
|
||||
│ ITERATIVE CYCLE │
|
||||
├─────────────────────────────────────┤
|
||||
│ Phase 4-5: Design Complete Flow │
|
||||
│ Phase 6: Design Delivery │
|
||||
│ Phase 7: Testing │
|
||||
└─────────────────────────────────────┘
|
||||
↓
|
||||
✅ Launch
|
||||
↓
|
||||
Phase 8: Ongoing Development
|
||||
```
|
||||
|
||||
### Existing Product Workflow
|
||||
|
||||
```
|
||||
Phase 8.1: Limited Project Brief
|
||||
↓
|
||||
Phase 8.2: Existing Context
|
||||
↓
|
||||
Phase 8.3: Critical Updates
|
||||
↓
|
||||
Phase 8.4: System Update Delivery → [Touch Point 2]
|
||||
↓
|
||||
Phase 8.5: Validation ← [Touch Point 3]
|
||||
↓
|
||||
✅ Deploy System Update
|
||||
↓
|
||||
(Repeat for next strategic challenge)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Tips for Choosing
|
||||
|
||||
### Choose New Product if:
|
||||
- You have time to design properly
|
||||
- You want to establish best practices
|
||||
- You're defining the product vision
|
||||
- You have creative freedom
|
||||
|
||||
### Choose Existing Product if:
|
||||
- You're solving a specific problem
|
||||
- Timeline is tight (weeks, not months)
|
||||
- Product is already live
|
||||
- You're working within constraints
|
||||
|
||||
### Not Sure?
|
||||
|
||||
**Ask yourself:**
|
||||
1. Is there already a live product? → Existing Product
|
||||
2. Are you starting from scratch? → New Product
|
||||
3. Are you redesigning one specific area? → Existing Product
|
||||
4. Are you defining the entire product? → New Product
|
||||
|
||||
---
|
||||
|
||||
## Examples
|
||||
|
||||
### New Product Examples
|
||||
|
||||
**Dog Week App:**
|
||||
- Type: New Product
|
||||
- Entry: Phase 1
|
||||
- Scope: Complete app from scratch
|
||||
- Timeline: 3-6 months
|
||||
- Deliveries: 10-15 Design Deliveries
|
||||
|
||||
**SaaS Dashboard:**
|
||||
- Type: New Product
|
||||
- Entry: Phase 1
|
||||
- Scope: Complete dashboard experience
|
||||
- Timeline: 4-8 months
|
||||
- Deliveries: 15-20 Design Deliveries
|
||||
|
||||
---
|
||||
|
||||
### Existing Product Examples
|
||||
|
||||
**Onboarding Redesign:**
|
||||
- Type: Existing Product
|
||||
- Entry: Phase 8
|
||||
- Challenge: 60% drop-off rate
|
||||
- Scope: 4 screens
|
||||
- Timeline: 2 weeks
|
||||
- Delivery: 1 System Update
|
||||
|
||||
**Checkout Flow Improvement:**
|
||||
- Type: Existing Product
|
||||
- Entry: Phase 8
|
||||
- Challenge: Low conversion rate
|
||||
- Scope: 3 screens + payment flow
|
||||
- Timeline: 3 weeks
|
||||
- Delivery: 1 System Update
|
||||
|
||||
**New Feature Addition:**
|
||||
- Type: Existing Product
|
||||
- Entry: Phase 8
|
||||
- Challenge: Users requesting calendar view
|
||||
- Scope: New calendar feature
|
||||
- Timeline: 4 weeks
|
||||
- Delivery: 1 System Update
|
||||
|
||||
---
|
||||
|
||||
## Migration Path
|
||||
|
||||
**Can you switch between modes?**
|
||||
|
||||
**Yes!**
|
||||
|
||||
**New Product → Existing Product:**
|
||||
After launching, you naturally transition to Phase 8 for ongoing development.
|
||||
|
||||
**Existing Product → New Product:**
|
||||
If you're adding a major new section that's essentially a separate product, you might start a new Phase 1 cycle for that section.
|
||||
|
||||
---
|
||||
|
||||
**Choose wisely! Your entry point determines your entire workflow.** 🚀
|
||||
Loading…
Reference in New Issue