BMAD-METHOD/devKalla-Fordonscervice/_wds/workflows/8-ongoing-development/steps/step-8.4-create-delivery.md

9.9 KiB

Step 8.4: Create Design Delivery

Your Task

Package your incremental improvement as a Design Delivery (DD-XXX) for BMad.


Before You Start

Ensure you have:

  • Completed step 8.3 (update designed)
  • Update specifications created
  • Change scope documented
  • Before/after comparison ready

Design Delivery Format for All Improvements

IMPORTANT: All design work uses Design Deliveries (DD-XXX), whether it's:

  • Complete new user flows (large scope)
  • Incremental improvements (small scope)

The format is the same - only the scope and content differ!

Large Scope (New Flows)

  • Multiple scenarios
  • Complete user flow
  • Full feature implementation
  • Weeks of work

Small Scope (Improvements)

  • Targeted changes
  • Updates existing feature
  • Focused improvement
  • Days of work

Both use DD-XXX format!


Create Design Delivery File

File: deliveries/DD-XXX-description.yaml

Numbering:

  • Continue from last DD number
  • If last new flow was DD-010, next improvement is DD-011
  • Use leading zeros (DD-001, DD-002, etc.)

Example:

  • DD-001 to DD-010: New flows (Phases 4-7)
  • DD-011: First improvement (Phase 8)
  • DD-012: Second improvement (Phase 8)

Design Delivery Template (Small Scope)

delivery:
  id: 'DD-XXX'
  name: '[Short descriptive name]'
  type: 'incremental_improvement' # vs "complete_flow" for new features
  scope: 'update' # vs "new" for new features
  version: 'v2.0'
  previous_version: 'v1.0'
  created_at: '2024-12-09T14:00:00Z'
  designer: '[Your name]'
  status: 'ready_for_handoff'

# What's the improvement?
improvement:
  summary: |
    [2-3 sentence summary of what's changing and why]

    Example:
    "Adding inline onboarding to Feature X to improve user understanding
     and increase usage from 15% to 60%. Analytics show 40% drop-off due
     to confusion. This update adds tooltips, step-by-step guidance, and
     success celebration."    

  problem: |
    [What problem does this solve?]

    Example:
    "Feature X has low engagement (15% usage) and high drop-off (40%).
     User feedback indicates confusion about how to use it. 12 support
     tickets mention 'I don't understand Feature X'."    

  solution: |
    [What's the solution?]

    Example:
    "Add inline onboarding that appears on first use:
     - Tooltip explaining Feature X purpose
     - Step-by-step guide for first action
     - Success celebration when completed
     - Help button for future reference"    

  expected_impact: |
    [What will improve?]

    Example:
    "- Feature X usage: 15% → 60%
     - Drop-off: 40% → 10%
     - Support tickets: -80%
     - User satisfaction: +1.5 points"    

# What's changing?
changes:
  scope:
    screens_affected:
      - 'Feature X main screen'
      - 'Feature X onboarding overlay'

    features_affected:
      - 'Feature X interaction flow'

    components_new:
      - id: 'cmp-tooltip-001'
        name: 'Inline Tooltip'
        file: 'D-Design-System/03-Atomic-Components/Tooltips/Tooltip-Inline.md'

      - id: 'cmp-guide-001'
        name: 'Step Guide'
        file: 'D-Design-System/03-Atomic-Components/Guides/Guide-Step.md'

    components_modified:
      - id: 'cmp-btn-001'
        name: 'Primary Button'
        changes: 'Added help icon variant'
        file: 'D-Design-System/03-Atomic-Components/Buttons/Button-Primary.md'

    components_unchanged:
      - 'All other components remain as-is'

  what_stays_same:
    - 'Brand colors and typography'
    - 'Core layout structure'
    - 'Navigation pattern'
    - 'Data model'
    - 'Tech stack'

# Design artifacts
design_artifacts:
  specifications:
    - path: 'C-Scenarios/XX-feature-x-update/Frontend/specifications.md'
      description: 'Updated Feature X specifications'

    - path: 'C-Scenarios/XX-feature-x-update/change-scope.md'
      description: "What's changing vs staying"

    - path: 'C-Scenarios/XX-feature-x-update/before-after.md'
      description: 'Before/after comparison'

  components:
    - path: 'D-Design-System/03-Atomic-Components/Tooltips/Tooltip-Inline.md'
      description: 'New inline tooltip component'

    - path: 'D-Design-System/03-Atomic-Components/Guides/Guide-Step.md'
      description: 'New step guide component'

# Technical requirements
technical_requirements:
  frontend:
    - 'Implement inline tooltip component'
    - 'Add first-use detection logic'
    - 'Implement step-by-step guide'
    - 'Add success celebration animation'
    - 'Add help button with persistent access'
    - 'Store dismissal state in user preferences'

  backend:
    - 'Add user preference field: feature_x_onboarding_completed'
    - 'API endpoint to save dismissal state'

  data:
    - 'User preferences table: add feature_x_onboarding_completed (boolean)'

  integrations:
    - 'Analytics: Track onboarding completion'
    - 'Analytics: Track help button usage'

# Acceptance criteria
acceptance_criteria:
  - id: 'AC-001'
    description: 'Inline tooltip appears on first use of Feature X'
    verification: 'Open Feature X as new user, tooltip appears'

  - id: 'AC-002'
    description: 'Step guide walks user through first action'
    verification: 'Follow guide, complete first action successfully'

  - id: 'AC-003'
    description: 'Success celebration appears on completion'
    verification: 'Complete first action, celebration appears'

  - id: 'AC-004'
    description: "Onboarding doesn't appear on subsequent uses"
    verification: 'Use Feature X again, no onboarding shown'

  - id: 'AC-005'
    description: 'Help button provides access to guide anytime'
    verification: 'Click help button, guide appears'

  - id: 'AC-006'
    description: 'Dismissal state persists across sessions'
    verification: 'Dismiss, logout, login, onboarding not shown'

# Testing guidance
testing_guidance:
  test_scenario_file: 'test-scenarios/TS-XXX.yaml'

  key_tests:
    - 'First-time user experience (happy path)'
    - 'Dismissal and persistence'
    - 'Help button access'
    - 'Edge case: Multiple devices'
    - 'Edge case: Cleared cache'

  success_criteria:
    - 'All acceptance criteria pass'
    - 'No regressions in existing functionality'
    - 'Performance impact < 50ms'
    - 'Accessibility: Screen reader compatible'

# Metrics and validation
metrics:
  baseline:
    - metric: 'Feature X usage rate'
      current: '15%'
      target: '60%'

    - metric: 'Drop-off rate'
      current: '40%'
      target: '10%'

    - metric: 'Support tickets (Feature X)'
      current: '12/month'
      target: '2/month'

    - metric: 'User satisfaction'
      current: '3.2/5'
      target: '4.5/5'

  measurement_period: '2 weeks after release'

  success_threshold:
    - 'Feature X usage > 50% (minimum)'
    - 'Drop-off < 15% (minimum)'
    - 'Support tickets < 5/month'

  rollback_criteria:
    - 'Feature X usage < 20% after 2 weeks'
    - 'Drop-off > 35% after 2 weeks'
    - 'Critical bugs reported'

# Effort estimate
effort:
  design: '1 day'
  frontend: '1 day'
  backend: '0.5 days'
  testing: '0.5 days'
  total: '3 days'
  complexity: 'Low'

# Timeline
timeline:
  design_complete: '2024-12-09'
  handoff_date: '2024-12-09'
  development_start: '2024-12-10'
  development_complete: '2024-12-12'
  testing_complete: '2024-12-13'
  release_date: '2024-12-13'
  measurement_end: '2024-12-27'

# Handoff
handoff:
  architect: '[BMad Architect name]'
  developer: '[BMad Developer name]'
  handoff_dialog_required: false # Small update, dialog optional
  notes: |
    Small, focused improvement. Specifications are clear.
    Dialog available if questions arise.    

# Related
related:
  improvement_file: 'improvements/IMP-XXX-feature-x-onboarding.md'
  analytics_report: 'analytics/feature-x-usage-2024-11.md'
  user_feedback: 'feedback/feature-x-confusion-2024-11.md'
  original_delivery: 'deliveries/DD-XXX-feature-x.yaml' # If applicable

Create Test Scenario

File: test-scenarios/TS-XXX-description.yaml

Simplified for incremental improvements:

test_scenario:
  id: 'TS-XXX'
  name: '[Update Name] Validation'
  type: 'incremental_improvement'
  delivery_id: 'DD-XXX'
  created_at: '2024-12-09T14:00:00Z'

# Focus on what changed
test_focus:
  - 'New onboarding flow'
  - 'Dismissal persistence'
  - 'Help button access'
  - 'No regressions'

# Happy path (new functionality)
happy_path:
  - id: 'HP-001'
    name: 'First-time user sees onboarding'
    steps:
      - action: 'Open Feature X as new user'
        expected: 'Inline tooltip appears'
      - action: "Read tooltip, tap 'Next'"
        expected: 'Step guide appears'
      - action: 'Follow guide, complete action'
        expected: 'Success celebration appears'
      - action: 'Dismiss celebration'
        expected: 'Feature X is ready to use'

# Regression testing (existing functionality)
regression_tests:
  - id: 'REG-001'
    name: 'Existing Feature X functionality unchanged'
    steps:
      - action: 'Use Feature X core functionality'
        expected: 'Works exactly as before'

# Edge cases
edge_cases:
  - id: 'EC-001'
    name: 'Dismissal persists across sessions'
    steps:
      - action: 'Dismiss onboarding'
      - action: 'Logout and login'
      - action: 'Open Feature X'
        expected: 'Onboarding not shown'

# Accessibility
accessibility:
  - id: 'A11Y-001'
    name: 'Screen reader announces onboarding'
    checks:
      - 'Tooltip announced correctly'
      - 'Guide steps announced'
      - 'Help button labeled'

Next Step

After creating the delivery:

[C] Continue to step-8.5-hand-off.md

Success Metrics

Design Delivery file created Change scope clearly defined All artifacts referenced Acceptance criteria defined Metrics and targets set Test scenario created Rollback criteria defined


Failure Modes

Vague change description Missing artifacts No success metrics No rollback criteria Scope too large No before/after comparison


Remember: Design Deliveries (small scope) are focused, measurable improvements!