Getting Real(十一): 抛弃功能定义文档
* “请给我一个清晰的功能定义文档!”
功能定义一点用都没有
不要写功能定义文档
这些蓝图文档通常和成品几乎毫无关系。理由如下:
- 功能定义文档是虚幻的
- 功能定义文档不反映真实情况。一个应用只有在被构造时、被设计时,和被使用时才是真实的。功能定义文档只是纸上谈兵
- 功能定义文档是无关痛痒的
- 功能定义文档可以用来让人感受到参与的乐趣,措辞温和但是并不是那么有用。它们不关心艰难的抉择,不关心成本–而这些正是建立一个成功的应用所必须考虑的。
- 功能定义文档只能达成虚幻的共识
看文字并不能让人们达成共识。大家可以读到同样的文字内容,但每个人的想法却可能不同。以后将不可避免地发生这种情况:”等下,我不是那样想的。”"啊?我们可不是这么说的。”"是的,就是这样的,我们大家都同意了–你还签过字呢。”我相信,你知道该怎么做。
- 功能定义文档逼迫你在拥有最少资讯时作出最重要的决定
当你刚开始构建时,你知道的是最少的。而做得越多,用得越多,你才能了解得越多。这才是你应该做出决定的时候–即当你有足够多信息,而非信息少的时候。
- 功能定义导致功能泛滥
There’s no pushback during spec phase. 写点东西加个标注,看上去并不需要什么代价。你可以加上他们欣赏的功能,让那些令人头疼的人高兴。然后你按照那些写下来的文字标注设计,而不是为人设计。 最终你得到的将是一个拥有30个栏目的臃肿站点
- 功能定义让你无法变通、变化和重新评估
一个功能一旦得到认同,即使在开发阶段你就意识到它是个坏主意,你也不得不照做。一旦你开始做某事,一切都在变化,而定义却不会去处理这些实际情况。
* So 如何去做
用一页纸,写下这个软件需要做的事情。如果需要超出一页纸去描述,那它可能太复杂了. 这个过程不应该超出一天.软后就开始构建界面,当所有人开始面对同样的屏幕时,迷惑就会消失。
相关文章:

