需求里的秘密:如需而动

程序员认为项目万法的那个源头,它是什么?

需求。

对吧?所以这个词叫“如需”。我经常说,“需求”这个词里面有秘密。

你究竟有没有优化?

如优。

真的优化了吗?

如优。

到底优没优化?

如优。

你看看,它有技术在里面!

这里说的优化,不是让程序跑得更快,也不是让内存占用更低,而是让最终结果更符合用户的要求。

所以你读需求文档,需求文档里面讲什么?

“功能大致和之前一样,但是要有一些不一样的感觉。”

注意:不能多,不能少;不能太复杂,也不能太简单;既要保持原来的味道,又要看得出来已经修改。

如需而动。

所以,代码生于需求,需求生于沟通,沟通生于一句“你先做出来我看看”。

是这样说的吧?

它不是个实体!

有一次我去参加需求评审,遇到一个程序员。他的产品经理手里已经有七十多个需求了。

产品经理就问那个小伙子:

“这个需求满足了吗?”

一下子把小伙子问傻了。

你想想,需求是无相的。

开发之前,它在需求文档里;开发之后,它在产品经理心里。

所以《程序员真经》有一句话:

“凡所有需求,皆可变更;若见需求非需求,即见验收。”

你不能迷信需求文档,在这方面。

有人说:

“我非得知道哪里需要改。”

你非得知道,我可以告诉你,产品经理也没说明白。

它不是语言可以完整描述的。

后来西方的软件工程师把这个问题总结成一句名言:

这个世界上有文档能够说清楚的需求,叫功能;这个世界上也有超出文档、说不明白的需求。

程序员直接用了两个字:

“感觉。”

那没法写嘛!

所以才有了什么?

产品经理拈花,程序员提交。

产品经理问:

“你究竟有没有满足需求?”

程序员回答:

“如需。”

“到底满足没满足?”

“如需。”

“那为什么和我想的不一样?”

“需求变了。”

“需求什么时候变的?”

“刚刚。”