需求里的秘密:如需而动
程序员认为项目万法的那个源头,它是什么?
需求。
对吧?所以这个词叫“如需”。我经常说,“需求”这个词里面有秘密。
你究竟有没有优化?
如优。
真的优化了吗?
如优。
到底优没优化?
如优。
你看看,它有技术在里面!
这里说的优化,不是让程序跑得更快,也不是让内存占用更低,而是让最终结果更符合用户的要求。
所以你读需求文档,需求文档里面讲什么?
“功能大致和之前一样,但是要有一些不一样的感觉。”
注意:不能多,不能少;不能太复杂,也不能太简单;既要保持原来的味道,又要看得出来已经修改。
如需而动。
所以,代码生于需求,需求生于沟通,沟通生于一句“你先做出来我看看”。
是这样说的吧?
它不是个实体!
有一次我去参加需求评审,遇到一个程序员。他的产品经理手里已经有七十多个需求了。
产品经理就问那个小伙子:
“这个需求满足了吗?”
一下子把小伙子问傻了。
你想想,需求是无相的。
开发之前,它在需求文档里;开发之后,它在产品经理心里。
所以《程序员真经》有一句话:
“凡所有需求,皆可变更;若见需求非需求,即见验收。”
你不能迷信需求文档,在这方面。
有人说:
“我非得知道哪里需要改。”
你非得知道,我可以告诉你,产品经理也没说明白。
它不是语言可以完整描述的。
后来西方的软件工程师把这个问题总结成一句名言:
这个世界上有文档能够说清楚的需求,叫功能;这个世界上也有超出文档、说不明白的需求。
程序员直接用了两个字:
“感觉。”
那没法写嘛!
所以才有了什么?
产品经理拈花,程序员提交。
产品经理问:
“你究竟有没有满足需求?”
程序员回答:
“如需。”
“到底满足没满足?”
“如需。”
“那为什么和我想的不一样?”
“需求变了。”
“需求什么时候变的?”
“刚刚。”