BMAD-METHOD/docs/zh-cn/explanation/why-solutioning-matters.md

91 lines
3.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: "为什么解决方案阶段很重要"
description: 理解为什么解决方案阶段对于多史诗项目至关重要
sidebar:
order: 3
---
阶段 3解决方案将构建**什么**(来自规划)转化为**如何**构建(技术设计)。该阶段通过在实施开始前记录架构决策,防止多史诗项目中的智能体冲突。
## 没有解决方案阶段的问题
```text
智能体 1 使用 REST API 实现史诗 1
智能体 2 使用 GraphQL 实现史诗 2
结果API 设计不一致,集成噩梦
```
当多个智能体在没有共享架构指导的情况下实现系统的不同部分时,它们会做出可能冲突的独立技术决策。
## 有解决方案阶段的解决方案
```text
架构工作流决定:"所有 API 使用 GraphQL"
所有智能体遵循架构决策
结果:实现一致,无冲突
```
通过明确记录技术决策,所有智能体都能一致地实现,集成变得简单直接。
## 解决方案阶段 vs 规划阶段
| 方面 | 规划(阶段 2 | 解决方案(阶段 3 |
| -------- | ----------------------- | --------------------------------- |
| 问题 | 做什么和为什么? | 如何做?然后是什么工作单元? |
| 输出 | FRs/NFRs需求 | 架构 + 史诗/用户故事 |
| 智能体 | PM | 架构师 → PM |
| 受众 | 利益相关者 | 开发人员 |
| 文档 | PRDFRs/NFRs | 架构 + 史诗文件 |
| 层级 | 业务逻辑 | 技术设计 + 工作分解 |
## 核心原则
**使技术决策明确且有文档记录**,以便所有智能体一致地实现。
这可以防止:
- API 风格冲突REST vs GraphQL
- 数据库设计不一致
- 状态管理分歧
- 命名约定不匹配
- 安全方法差异
## 何时需要解决方案阶段
| 流程 | 需要解决方案阶段? |
|-------|----------------------|
| Quick Flow | 否 - 完全跳过 |
| BMad Method Simple | 可选 |
| BMad Method Complex | 是 |
| Enterprise | 是 |
:::tip[经验法则]
如果你有多个可能由不同智能体实现的史诗,你需要解决方案阶段。
:::
## 跳过的代价
在复杂项目中跳过解决方案阶段会导致:
- **集成问题**在冲刺中期发现
- **返工**由于实现冲突
- **开发时间更长**整体
- **技术债务**来自不一致模式
:::caution[成本倍增]
在解决方案阶段发现对齐问题比在实施期间发现要快 10 倍。
:::
---
## 术语说明
- **agent**:智能体。在人工智能与编程文档中,指具备自主决策或执行能力的单元。
- **epic**:史诗。在敏捷开发中,指一个大型的工作项,可分解为多个用户故事。
- **REST API**:表述性状态传递应用程序接口。一种基于 HTTP 协议的 Web API 设计风格。
- **GraphQL**:一种用于 API 的查询语言和运行时环境。
- **FRs/NFRs**:功能需求/非功能需求。Functional Requirements/Non-Functional Requirements 的缩写。
- **PRD**产品需求文档。Product Requirements Document 的缩写。
- **PM**产品经理。Product Manager 的缩写。
- **sprint**:冲刺。敏捷开发中的固定时间周期,通常为 1-4 周。
- **technical debt**:技术债务。指为了短期目标而选择的不完美技术方案,未来需要付出额外成本来修复。