sf-agent-framework
Version:
AI Agent Orchestration Framework for Salesforce Development - Two-phase architecture with 70% context reduction
310 lines (254 loc) • 5.88 kB
Markdown
# Requirements Tracker Utility
This utility provides comprehensive requirements tracking and traceability
throughout the Salesforce development lifecycle.
## Purpose
Track and manage requirements from inception to delivery:
- Requirements capture and documentation
- Change tracking and versioning
- Traceability to implementation
- Validation and sign-off
- Impact analysis
## Core Features
### 1. Requirements Management
```javascript
trackRequirement({
id: 'REQ-001',
type: 'functional',
priority: 'high',
description: 'User authentication via SSO',
acceptance: {
criteria: ['SAML 2.0 support', 'Auto-provisioning'],
testCases: ['TC-001', 'TC-002'],
},
traceability: {
userStories: ['US-101', 'US-102'],
components: ['AuthController.cls', 'SSOHandler.cls'],
tests: ['AuthControllerTest.cls'],
},
});
```
### 2. Change Tracking
```javascript
trackChange({
requirement: 'REQ-001',
change: {
type: 'modification',
description: 'Add OAuth 2.0 support',
requestedBy: 'Product Owner',
impact: {
effort: '3 days',
components: ['AuthController.cls'],
risk: 'medium',
},
},
approval: {
status: 'pending',
approvers: ['architect', 'security-lead'],
},
});
```
### 3. Traceability Matrix
```javascript
generateTraceability({
from: 'requirements',
to: ['design', 'code', 'tests', 'documentation'],
coverage: {
showGaps: true,
includeMetrics: true,
exportFormat: 'excel',
},
});
```
## Tracking Categories
### Requirement Types
- Business Requirements
- Functional Requirements
- Non-Functional Requirements
- Technical Requirements
- Compliance Requirements
### Requirement States
- Draft
- Under Review
- Approved
- In Development
- Testing
- Completed
- Deferred
### Traceability Links
- User Stories
- Design Documents
- Code Components
- Test Cases
- Deployment Items
## Usage Examples
### Basic Requirements Tracking
```bash
# Add new requirement
reqTracker add --type functional --priority high
# Update requirement status
reqTracker update REQ-001 --status "In Development"
# Generate traceability report
reqTracker report --format html
```
### Bulk Operations
```yaml
import:
source: requirements.xlsx
mapping:
id: Column A
description: Column B
priority: Column C
acceptance: Column D-G
validation:
required: [id, description, priority]
unique: [id]
```
## Reports and Analytics
### Coverage Report
```
Requirements Coverage Report
===========================
Total Requirements: 156
Implemented: 142 (91%)
In Progress: 10 (6%)
Not Started: 4 (3%)
By Priority:
High: 100% implemented
Medium: 89% implemented
Low: 75% implemented
```
### Traceability Matrix
| Requirement | User Story | Design | Code | Tests | Status |
| ----------- | ---------- | ------ | ---- | ----- | -------- |
| REQ-001 | US-101 | ✓ | ✓ | ✓ | Complete |
| REQ-002 | US-102 | ✓ | ✓ | ⚠ | Testing |
| REQ-003 | US-103 | ✓ | ⏳ | - | In Dev |
### Change Impact Analysis
```json
{
"changeRequest": "CR-045",
"affectedRequirements": ["REQ-001", "REQ-015", "REQ-023"],
"impact": {
"components": 12,
"testCases": 34,
"effort": "5 days",
"risk": "medium",
"dependencies": ["Integration API", "Auth Service"]
}
}
```
## Configuration
### Requirement Schema
```yaml
requirementSchema:
fields:
id:
type: string
pattern: "REQ-\\d{3}"
required: true
unique: true
priority:
type: enum
values: [critical, high, medium, low]
required: true
category:
type: enum
values: [functional, non-functional, technical, compliance]
customFields:
businessValue:
type: number
min: 1
max: 10
complianceMapping:
type: array
items: string
```
### Workflow Rules
```javascript
// Define requirement workflow
configureWorkflow({
transitions: {
draft: ['under_review'],
under_review: ['approved', 'draft'],
approved: ['in_development'],
in_development: ['testing', 'approved'],
testing: ['completed', 'in_development'],
completed: ['closed'],
},
guards: {
approve: (req) => req.approvals.length >= 2,
complete: (req) => req.testsPassed === true,
},
});
```
## Integration Features
### Version Control Integration
```javascript
// Link requirements to commits
linkToCommit({
requirement: 'REQ-001',
commit: 'abc123',
message: 'Implement SSO authentication',
files: ['AuthController.cls', 'SSOHandler.cls'],
});
```
### Test Management
```javascript
// Track test coverage
trackTestCoverage({
requirement: 'REQ-001',
tests: {
unit: ['AuthTest.cls', 'SSOTest.cls'],
integration: ['E2E_Login_Test'],
manual: ['UAT_SSO_Scenarios'],
},
coverage: 95,
});
```
## Validation and Compliance
### Requirements Quality
```javascript
validateRequirements({
checks: {
completeness: true,
clarity: true,
testability: true,
consistency: true,
feasibility: true,
},
report: {
issues: true,
suggestions: true,
score: true,
},
});
```
### Compliance Tracking
Map requirements to:
- Regulatory standards
- Industry requirements
- Security policies
- Audit controls
## Best Practices
1. **Clear Requirements**
- Use templates
- Include acceptance criteria
- Make them testable
- Avoid ambiguity
2. **Maintain Traceability**
- Link all artifacts
- Update regularly
- Review coverage
- Document gaps
3. **Change Management**
- Track all changes
- Assess impact
- Get approvals
- Update traces
4. **Regular Reviews**
- Validate completeness
- Check implementation
- Verify testing
- Confirm delivery
This utility ensures complete requirements lifecycle management for Salesforce
projects.