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:
- Initial requirements gathering
- Requirements analysis and clarification
- Requirements breakdown into tasks
- Task assignment and tracking
- 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
- Story: Frontend password reset request form
4. Task Assignment and Tracking
Primary Roles: PM (Project Management), RD (Research & Development)
The workflow for task assignment:
- PM creates detailed tasks in JIRA or ClickUp
- Tasks are assigned to RD agents
- RD agents update task status as they progress
- 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:
- RD agent reviews task details and acceptance criteria
- RD creates branch and implements feature using TDD
- RD submits PR for review
- Code reviewed and approved
- Feature verified against acceptance criteria
- 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
- Stakeholder Request:
"We need a feature to allow users to export their data in various formats (CSV, PDF, JSON)."
-
PM Analysis:
- Clarifies which data should be exportable
- Determines required export formats and file structure
- Identifies security considerations
- Documents detailed requirements
-
PM Task Creation:
- Creates epic "Data Export Functionality"
- Creates multiple stories for each export format
- Creates tasks for frontend, backend, security, testing
-
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"
-
Verification:
- Code reviewed and approved
- Feature tested against acceptance criteria
- Task moved to "Complete" and then "Closed"