目录
正在加载目录…
专栏文章
专栏文章
问题定义与结构化思考专栏
1. 00 问题定义总览:从现象到问题陈述 2. 01 5W2H:检查完整性的工具 3. 02 MECE:互斥穷尽的分解原则 4. 03 问题陈述:把现象转化为可操作的定义 5. 04 利益相关者与边界:谁受影响、谁有事实、谁能决策 6. 05 软件工程综合实践:定义一个真实工程问题

03 问题陈述:把现象转化为可操作的定义

发布于 2026-08-26 13:55 · 最后编辑于 2026-08-26 13:55 · 字数 1,327 👁 0 次阅读

TL;DR:问题陈述是把模糊现象转化为可操作定义的产物。一份合格的问题陈述包含四个要素:目标状态、当前状态、量化差距、不预设方案。最常见的问题是“把方案藏在问题里”——“我们需要增加 Redis”不是问题陈述,是方案。“如何将读延迟从 200ms 降到 50ms 且不增加超卖风险”才是问题陈述。好的问题陈述让多个方案可以竞争,坏的问题陈述已经预设了唯一答案。

概念解释

问题陈述的定义

问题陈述是一段可被多人一致理解的文字,它描述“要解决的差距是什么”,而非“要做的方案是什么”。它回答:目标在哪里、现状在哪里、差多少、边界在哪。问题陈述是问题定义的核心产物,相当于 ADR 之于决策——它是可被审阅、被质疑、被修正的中间物。

为什么“把方案藏在问题里”是最大陷阱

把方案藏在问题里只描述差距
“我们需要加 Redis”“如何将读延迟从 200ms 降到 50ms”
只有一个答案多个方案可以竞争(Redis/本地缓存/DB 优化/读写分离)
方案错了 = 问题定义也废了方案错了还可以换方案

核心纪律:检查问题陈述时,问自己“除了当前想到的方案,这个问题还有其他解法吗?”如果只有一个解法,很可能问题陈述已经预设了答案。

目录

章节说明
问题陈述四要素目标、现状、差距、边界
问题陈述卡可复用的模板
软件工程示例从现象到陈述
适用边界与误用何时写、不写什么

问题陈述四要素

要素回答什么判断标准
目标状态想要达到什么可量化、可验证、不含方案
当前状态现在在哪有数据支撑、不含解释
差距差多少量化(不只是“慢了/差了”)
边界不解决什么明确排除的范围

关键:四要素中最难的是“不含方案”。大多数人写“问题”时已经在想“解法”,需要刻意练习把描述和方案分开。

问题陈述卡

## 问题陈述卡

**问题标题**: {一句话标题}
**日期**: YYYY-MM-DD
**提出者**: {谁}

### 目标状态
{可量化、可验证、不含方案}

### 当前状态
{有数据支撑、不含解释}

### 差距
{量化}

### 边界
**包含**: {在范围内}
**排除**: {明确不管什么}
**关键约束**: {不可妥协的条件}

### 利益相关者
- 受影响: {谁}
- 掌握事实: {谁}
- 有权决策: {谁}

### 可证伪条件
{什么证据出现时,问题定义需要修正}

软件工程示例

从现象到问题陈述的转化:

阶段内容
现象“PR 评审等待时间变长了”
5W2H 检查中位等待从 4h→12h,近 2 个月,评审环节,影响 8 开发 + 3 评审者
MECE 分解按阶段:编码/评审/测试/发布/等待——瓶颈在评审等待
问题陈述“如何将 PR 中位评审等待从 12h 降到 4h 以下,且不降低评审质量”
方案竞争催评审 / 缩小批次 / 评审者轮换 / 自动化检查前移 / 评审 SLA

关键:问题陈述“降到 4h 以下且不降低质量”不预设方案,五个解法可以竞争。如果写成“我们需要增加评审者数量”,就只剩一个答案了。

适用边界与误用

  • 不所有问题都需要正式陈述:简单 bug 直接修,不必写问题陈述卡。
  • 问题陈述可以被修正:它不是一锤定音,随着因果分析深入,可能需要修正陈述。
  • 不预设方案是最难的纪律:需要刻意练习,大多数“问题定义”里藏着方案。
  • 问题陈述不等于根因:陈述说“差距在哪”,不说“为什么有差距”——后者交给因果分析。

关联笔记

  • 问题定义总览:从现象到问题陈述(问题陈述是问题定义的核心产物)
  • 5W2H:检查完整性的工具(用 5W2H 检查现象描述的完整性)
  • MECE:互斥穷尽的分解原则(用 MECE 检查分解的完整性)
  • 因果分析与根因分析(问题陈述后交给因果分析定位根因)

参考资料

← 返回列表

评论 (0)

暂无评论,来留下第一条吧。
登录注册 后才能发表评论