Skip to main content

Requirements Workflow

This document describes the end-to-end workflow for handling requirements in the Engineering AI Agent system, from initial requirements gathering to task breakdown and implementation.

Overview

The requirements workflow involves several stages:

  1. Initial requirements gathering
  2. Requirements analysis and clarification
  3. Requirements breakdown into tasks
  4. Task assignment and tracking
  5. Implementation and verification

Workflow Stages

1. Initial Requirements Gathering

Primary Role: PM (Project Management)

Requirements are collected through:

  • Slack conversations with stakeholders
  • Attached documents or specifications
  • Links to external resources

Example Slack interaction:

User: @engineering-agent pm analyze requirement "We need a system for users to reset their passwords with email verification"
Agent: I'll analyze this requirement. Could you provide more details about:
1. Specific security requirements?
2. Email template preferences?
3. Password complexity rules?

2. Requirements Analysis and Clarification

Primary Role: PM (Project Management)

The PM agent:

  • Asks clarifying questions about ambiguous points
  • Documents assumptions and constraints
  • Identifies potential risks or dependencies
  • Creates a structured requirement specification

Example requirement specification:

Feature: Password Reset with Email Verification

Business Value:
- Allow users to regain account access when they forget passwords
- Ensure security through email verification

Requirements:
1. User requests password reset via email
2. System validates email exists in database
3. System sends email with secure time-limited token
4. User clicks link and enters new password
5. System validates password strength and updates database

Constraints:
- Token must expire after 1 hour
- Password must meet security requirements
- Rate limiting to prevent abuse

3. Requirements Breakdown into Tasks

Primary Role: PM (Project Management)

The PM agent breaks down the requirements into actionable tasks:

  • Creates hierarchical task structure (epics, stories, tasks)
  • Estimates effort for each task
  • Identifies dependencies between tasks
  • Sets priorities based on business value

Example task breakdown for password reset feature:

  • Epic: Password Reset System
    • Story: Frontend password reset request form
      • Task: Create password reset request UI
      • Task: Form validation and error handling
    • Story: Backend password reset API
      • Task: Create reset token generation endpoint
      • Task: Create token validation endpoint
      • Task: Create password update endpoint
    • Story: Email notification system
      • Task: Design password reset email template
      • Task: Implement email sending service
    • Story: Security measures
      • Task: Implement rate limiting
      • Task: Add logging for security audits

4. Task Assignment and Tracking

Primary Roles: PM (Project Management), RD (Research & Development)

The workflow for task assignment:

  1. PM creates detailed tasks in JIRA or ClickUp
  2. Tasks are assigned to RD agents
  3. RD agents update task status as they progress
  4. PM monitors overall progress and reports to stakeholders

Task states follow a standard progression:

  • Open: Task created but work not started
  • In Progress: Development actively ongoing
  • In Review: Code complete and PR submitted
  • Complete: PR approved and ready to merge
  • Closed: PR merged and task complete

5. Implementation and Verification

Primary Roles: RD (Research & Development), QA (Quality Assurance)

The implementation workflow:

  1. RD agent reviews task details and acceptance criteria
  2. RD creates branch and implements feature using TDD
  3. RD submits PR for review
  4. Code reviewed and approved
  5. Feature verified against acceptance criteria
  6. Task closed when verification passes

Integration Points

This workflow integrates with:

  • Slack: For communication and requirement gathering
  • GitHub: For code management and pull requests
  • JIRA/ClickUp: For task tracking and management

Best Practices

For Requirement Analysis

  • Be specific about expected behavior
  • Include edge cases and error scenarios
  • Define clear acceptance criteria for each requirement
  • Document assumptions explicitly

For Task Breakdown

  • Create tasks small enough to be completed in 1-2 days
  • Include clear definition of done for each task
  • Document dependencies between tasks
  • Provide enough detail for implementation without prescribing exact solutions

For Implementation

  • Follow project coding standards and architecture patterns
  • Write tests for all new functionality
  • Document important decisions or approaches
  • Reference requirement IDs in commits and PRs

Example Workflow

  1. Stakeholder Request:
"We need a feature to allow users to export their data in various formats (CSV, PDF, JSON)."
  1. PM Analysis:

    • Clarifies which data should be exportable
    • Determines required export formats and file structure
    • Identifies security considerations
    • Documents detailed requirements
  2. PM Task Creation:

    • Creates epic "Data Export Functionality"
    • Creates multiple stories for each export format
    • Creates tasks for frontend, backend, security, testing
  3. RD Implementation:

    • Selects "Implement CSV Export" task
    • Changes task to "In Progress"
    • Creates branch and implements feature
    • Opens PR and changes task to "In Review"
  4. Verification:

    • Code reviewed and approved
    • Feature tested against acceptance criteria
    • Task moved to "Complete" and then "Closed"