Technical/Architecture Research Instructions

The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml You MUST have already loaded and processed: {installed_path}/workflow.yaml This workflow conducts technical research for architecture and technology decisions

Understand the technical research requirements

Welcome to Technical/Architecture Research!

What technical decision or research do you need?

Common scenarios:

<template-output>technical_question</template-output>

What’s the context for this decision?

<template-output>project_context</template-output>

Gather requirements and constraints that will guide the research

Let’s define your technical requirements:

Functional Requirements - What must the technology do?

Examples:

<template-output>functional_requirements</template-output>

Non-Functional Requirements - Performance, scalability, security needs?

Consider:

<template-output>non_functional_requirements</template-output>

Constraints - What limitations or requirements exist?

<template-output>technical_constraints</template-output>

Research and identify technology options to evaluate

Do you have specific technologies in mind to compare, or should I discover options?

If you have specific options, list them. Otherwise, I’ll research current leading solutions based on your requirements.

<template-output if=“user provides options”>user_provided_options</template-output>

Conduct web research to identify current leading solutions Search for:

Present discovered options (typically 3-5 main candidates) <template-output>technology_options</template-output>

Research each technology option in depth

For each technology option, research thoroughly

Research and document:

Overview:

Technical Characteristics:

Developer Experience:

Operations:

Ecosystem:

Community and Adoption:

Costs:

<invoke-task halt=“true”>{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task> <template-output>techprofile{{option_number}}</template-output>

Create structured comparison across all options

Create comparison matrices:

Generate comparison table with key dimensions:

Comparison Dimensions:

  1. Meets Requirements - How well does each meet functional requirements?
  2. Performance - Speed, latency, throughput benchmarks
  3. Scalability - Horizontal/vertical scaling capabilities
  4. Complexity - Learning curve and operational complexity
  5. Ecosystem - Maturity, community, libraries, tools
  6. Cost - Total cost of ownership
  7. Risk - Maturity, vendor lock-in, abandonment risk
  8. Developer Experience - Productivity, debugging, testing
  9. Operations - Deployment, monitoring, maintenance
  10. Future-Proofing - Roadmap, innovation, sustainability

Rate each option on relevant dimensions (High/Medium/Low or 1-5 scale)

<template-output>comparative_analysis</template-output>

Analyze trade-offs between options

Identify key trade-offs:

For each pair of leading options, identify trade-offs:

Decision factors by priority:

What are your top 3 decision factors?

Examples:

<template-output>decision_priorities</template-output>

Weight the comparison analysis by decision priorities

<template-output>weighted_analysis</template-output>

Evaluate fit for specific use case

Match technologies to your specific use case:

Based on:

Analyze which option(s) best fit your specific scenario.

Are there any specific concerns or “must-haves” that would immediately eliminate any options?

<template-output>use_case_fit</template-output>

Gather production experience evidence

Search for real-world experiences:

For top 2-3 candidates:

<template-output>real_world_evidence</template-output>

If researching architecture patterns, provide pattern analysis

Are you researching architecture patterns (microservices, event-driven, etc.)?

Research and document:

Pattern Overview:

Implementation Considerations:

Trade-offs:

<template-output>architecture_pattern_analysis</template-output>

Synthesize research into clear recommendations

Generate recommendations:

Top Recommendation:

Alternative Options:

Implementation Roadmap:

Risk Mitigation:

<invoke-task halt=“true”>{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>

<template-output>recommendations</template-output>

Create architecture decision record (ADR) template

Generate Architecture Decision Record:

Create ADR format documentation:

# ADR-XXX: [Decision Title]

## Status

[Proposed | Accepted | Superseded]

## Context

[Technical context and problem statement]

## Decision Drivers

[Key factors influencing the decision]

## Considered Options

[Technologies/approaches evaluated]

## Decision

[Chosen option and rationale]

## Consequences

**Positive:**

- [Benefits of this choice]

**Negative:**

- [Drawbacks and risks]

**Neutral:**

- [Other impacts]

## Implementation Notes

[Key considerations for implementation]

## References

[Links to research, benchmarks, case studies]

<template-output>architecture_decision_record</template-output>

Compile complete technical research report

Your Technical Research Report includes:

  1. Executive Summary - Key findings and recommendation
  2. Requirements and Constraints - What guided the research
  3. Technology Options - All candidates evaluated
  4. Detailed Profiles - Deep dive on each option
  5. Comparative Analysis - Side-by-side comparison
  6. Trade-off Analysis - Key decision factors
  7. Real-World Evidence - Production experiences
  8. Recommendations - Detailed recommendation with rationale
  9. Architecture Decision Record - Formal decision documentation
  10. Next Steps - Implementation roadmap

Save complete report to {default_output_file}

Would you like to:

  1. Deep dive into specific technology
  2. Research implementation patterns for chosen technology
  3. Generate proof-of-concept plan
  4. Create deep research prompt for ongoing investigation
  5. Exit workflow

Select option (1-5):

LOAD: {installed_path}/instructions-deep-prompt.md Pre-populate with technical research context

Search {output_folder}/ for files matching pattern: bmm-workflow-status.md Find the most recent file (by date in filename)

Load the status file

<template-output file=“{{status_file_path}}”>current_step</template-output> Set to: “research (technical)”

<template-output file=“{{status_file_path}}”>current_workflow</template-output> Set to: “research (technical) - Complete”

<template-output file=“{{status_file_path}}”>progress_percentage</template-output> Increment by: 5% (optional Phase 1 workflow)

<template-output file=“{{status_file_path}}”>decisions_log</template-output> Add entry:

- **{{date}}**: Completed research workflow (technical mode). Technical research report generated and saved. Next: Review findings and consider plan-project workflow.

✅ Technical Research Complete

Research Report:

Status file updated:

Next Steps:

  1. Review technical research findings
  2. Share with architecture team
  3. Run plan-project to incorporate findings into PRD

Check status anytime with: workflow-status

✅ Technical Research Complete

Research Report:

Note: Running in standalone mode (no status file).

Next Steps:

  1. Review technical research findings
  2. Run plan-project workflow