Elijah Agile Delivery

Kano 和 MoSCoW:我为什么把它们当作两种“不同维度的镜头”

我很早就同时接触过 Kano(狩野模型)和 MoSCoW。它们经常一起出现:都在讲需求、价值、优先级。但我用得越多,越确定一件事——它们不是一个维度的模型。它们看起来都在回答“先做什么”,但其实是在回答两种不同的问题,所以也就不可能互相替代。

我更愿意把它们当作两种镜头:

  • Kano 是“价值形态”的镜头:看一个需求对用户满意度的影响曲线
  • MoSCoW 是“交付承诺”的镜头:看一个需求在当前迭代/版本里到底要不要承诺交付

这两个镜头拍出来的画面完全不同——也正因为不同,才有用。

我理解的 Kano:不是“优先级”,而是“满意度曲线”

Kano 最打动我的点在于:它不逼我立刻做“先做哪个”,而是先让我看清楚:这个需求做出来以后,用户会怎么感受?

有些东西是底线(Must-be):你做得再好也没人夸,但没做会被骂。
有些东西是性能(Performance):做得越好,满意度越高。
有些东西是兴奋(Delighter):做了会让人眼前一亮,但没做不一定不满。

所以 Kano 解决的是“做这件事,价值体现在哪里”。它像是在帮我把“需求价值”拆成不同类型,而不是把需求排成一条队列。

也因为如此,我很少直接用 Kano 去下结论:
“这是 Delighter,所以优先做。”
这句话在交付场景里经常会翻车。因为 Delighter 的价值可能很高,但它不一定适合放进当前版本的承诺范围。

我理解的 MoSCoW:它谈的不是“价值最高”,而是“这次必须交付”

MoSCoW 我用得最多的场景,是当项目面对明确约束时:时间固定、验收固定、外部依赖固定,这时候团队必须把“范围边界”讲清楚。

MoSCoW 的价值在于,它逼我们做一个交付层面的决定:
Must:不交付就等于这次版本失败(对交付承诺而言)。
Should / Could:重要,但可以谈条件、谈范围、谈替代方案。
Won’t (this time):这次不做,明确写下来,防止范围蔓延。

所以 MoSCoW 解决的是“这次做不做、承诺不承诺”。它更接近交付管理里的“范围谈判”和“承诺管理”。

这也是我认为 MoSCoW 很容易被误用的地方:
“这是 Must,所以它价值最高。”
不一定。MoSCoW 的 Must 很多时候来自合规、合同、依赖、上线窗口、风险控制,而不是用户满意度最大化。

最容易混用的坑:两边都有 Must,但意思完全不是一回事

我见过最典型的混用,是把两个模型里的 Must 当成同一个概念。

Kano 的 Must-be:是“用户预期底线”。
MoSCoW 的 Must:是“本期交付底线”。

一个是用户感知维度,一个是交付承诺维度。它们不在同一个坐标系里,所以拿来直接对照会产生错觉:以为只要 Kano 说 Must-be,就等于 MoSCoW 必须 Must。实际上完全可能出现下面这种情况:

某需求是 Kano 的 Must-be(底线),但因为本期有替代方案/缓解措施,MoSCoW 可以把它放在 Should。
某需求不是 Kano 的 Must-be,但因为它卡住验收/上线/外部系统对接,MoSCoW 必须把它放进 Must。

这就是我说的:它们不是一个维度的东西。

我实际怎么把它们放在一起用(但不是“混用”)

我的习惯是把它们当成一次接力,而不是二选一。

先用 Kano 把“价值形态”讲清楚。
我会用它来帮助干系人对齐:哪些是底线,哪些是可以拉开差距的性能项,哪些是可以制造惊喜但需要谨慎投入的点。这样做的意义是:减少“大家都说重要”的噪音。

再用 MoSCoW 把“本期承诺”钉死。
当时间、资源、现场窗口、外部依赖摆在眼前时,我会用 MoSCoW 明确边界:这次到底交付什么、哪些要保底、哪些只能往后排。

对我来说,这个顺序的价值很实际:
Kano 让讨论不只停留在“做什么功能”,而是讨论“做了之后会带来什么价值”。
MoSCoW 让价值讨论不会飘在空中,而是落到“这次能不能交付、怎么交付”。

我为什么坚持它们不能互相替代

因为我在交付里最怕两件事:

把价值模型当成承诺模型:最后做了一堆“看起来很有价值”的东西,但版本交付失败。
把承诺模型当成价值模型:最后交付成功了,但交付的东西并没有让用户满意度真正变好,甚至只是在填坑。

Kano 和 MoSCoW 分别对应这两类风险。它们不是同一把尺子,却能共同让交付更稳、更可控。