> 🚀 **HIGHLY RECOMMENDED: Use Gemini Web for Brownfield Documentation!**
>
> Gemini Web's 1M+ token context window can analyze your ENTIRE codebase at once:
>
> - Upload via GitHub URL
> - Upload up to 1000 files
> - Upload zipped project
>
> This is MUCH more cost-effective than IDE analysis which reads files one by one!
## What is Brownfield Development?
Brownfield development refers to adding features, fixing bugs, or modernizing existing software projects. Unlike greenfield (new) projects, brownfield work requires understanding existing code, respecting constraints, and ensuring new changes integrate seamlessly without breaking existing functionality.
## When to Use BMAD for Brownfield
BMAD-METHOD excels at brownfield development when you need to:
- Add significant new features to existing applications
- Modernize legacy codebases
- Integrate new technologies or services
- Refactor complex systems
- Fix bugs that require architectural understanding
- Document undocumented systems
## The Complete Brownfield Workflow
### Choose Your Approach
#### Approach A: PRD-First (Recommended for Large Codebases/Monorepos)
**Best for**: Large codebases, monorepos, or when you know exactly what you want to build
1.**Create PRD First** to define requirements
2.**Document only relevant areas** based on PRD needs
- **SM** creates stories with integration awareness
- **Dev** implements with existing code respect
- **QA** reviews for compatibility and improvements
## Brownfield Best Practices
### 1. Always Document First
Even if you think you know the codebase:
- Run `document-project` to capture current state
- AI agents need this context
- Discovers undocumented patterns
### 2. Respect Existing Patterns
The brownfield templates specifically look for:
- Current coding conventions
- Existing architectural patterns
- Technology constraints
- Team preferences
### 3. Plan for Gradual Rollout
Brownfield changes should:
- Support feature flags
- Plan rollback strategies
- Include migration scripts
- Maintain backwards compatibility
### 4. Test Integration Thoroughly
Focus testing on:
- Integration points
- Existing functionality (regression)
- Performance impact
- Data migrations
### 5. Communicate Changes
Document:
- What changed and why
- Migration instructions
- New patterns introduced
- Deprecation notices
## Common Brownfield Scenarios
### Scenario 1: Adding a New Feature
1. Document existing system
2. Create brownfield PRD focusing on integration
3. Architecture emphasizes compatibility
4. Stories include integration tasks
### Scenario 2: Modernizing Legacy Code
1. Extensive documentation phase
2. PRD includes migration strategy
3. Architecture plans gradual transition
4. Stories follow strangler fig pattern
### Scenario 3: Bug Fix in Complex System
1. Document relevant subsystems
2. Use `brownfield-create-story` for focused fix
3. Include regression test requirements
4. QA validates no side effects
### Scenario 4: API Integration
1. Document existing API patterns
2. PRD defines integration requirements
3. Architecture ensures consistent patterns
4. Stories include API documentation updates
## Troubleshooting
### "The AI doesn't understand my codebase"
**Solution**: Re-run `document-project` with more specific paths to critical files
### "Generated plans don't fit our patterns"
**Solution**: Update generated documentation with your specific conventions before planning phase
### "Too much boilerplate for small changes"
**Solution**: Use `brownfield-create-story` instead of full workflow
### "Integration points unclear"
**Solution**: Provide more context during PRD creation, specifically highlighting integration systems
## Quick Reference
### Brownfield-Specific Commands
```bash
# Document existing project
@analyst → *document-project
# Create enhancement PRD
@pm → *create-doc brownfield-prd
# Create architecture with integration focus
@architect → *create-doc brownfield-architecture
# Quick epic creation
@pm → *brownfield-create-epic
# Single story creation
@pm → *brownfield-create-story
```
### Decision Tree
```text
Do you have a large codebase or monorepo?
├─ Yes → PRD-First Approach
│ └─ Create PRD → Document only affected areas
└─ No → Is the codebase well-known to you?
├─ Yes → PRD-First Approach
└─ No → Document-First Approach
Is this a major enhancement affecting multiple systems?
├─ Yes → Full Brownfield Workflow
└─ No → Is this more than a simple bug fix?
├─ Yes → brownfield-create-epic
└─ No → brownfield-create-story
```
## Conclusion
Brownfield development with BMAD-METHOD provides structure and safety when modifying existing systems. The key is providing comprehensive context through documentation, using specialized templates that consider integration requirements, and following workflows that respect existing constraints while enabling progress.
Remember: **Document First, Plan Carefully, Integrate Safely**