软件创新之路(读书笔记OCR) 设计文档有益于程序员---alan copper
已有 70 次阅读2005-4-12 12:04
|个人分类:趣味图片
在第2章“金钱的浪费”中,我问了一个问题,产品“做好”以后是
什么样子?交互设计师构建设计文档的中心意图,就是回答这个问题。一
般而言,写好的设计文档是一个有力的手段,可以控制实际编码的进程。
它起到了电影剧本和拍摄细节计划书的作用,使每个人都清楚它会怎样进
行,清楚用什么来构造和使用它,并且清楚什么时候它的主体结构做好。
在软件开发进程中,编码是典型的最不可控制、最充满风险的一部分,因
此,不知道它的进度,是要付出很大的代价的。
一个清楚的设计文档可以帮助高层的管理部门,使他们及时地、简要
地了解要做的东西,由此可以使所有的工作更紧密地集中起来。管理部门
会发出更明确的信息,发送给投资者、合伙人、职员和同事们。而这集中
了公司的所有努力,保证它们都是面向一个共同的目标。
程序员想要一个强有力而明智的领导。毕竟,他们自已是强有力的和
明智的,显然也希望由与他们具有相同水平、而不是更差的人来领导。韦
恩博格(Weinberg)声称,每个人都知道:“不好的经理比好的程序员要多得
多。”这使得,相对于经理对程序员的影响而言,好的程序员对经理具有
更大约影响力,不管经理在公司的管理级别上,有多少名义上的权力。
如果产品经理不能自信并且严谨地表达清楚,正在做的到底是什么,
他们会很软弱。一般而言,管理部门只是通过最后期限、特定功能表等一
些模糊的术语,来表达他所要的东西。只有程序员确切、严密地知道,实
际上产品会是什么样子,因此,他们对于项目,比经理拥有更多的控制能
力。
我曾和这样纳程序员共同工作过、他们讨厌外来纳设计师的出现。他
们知道我的工作是做“设计”。而他们认为,在他们自己的工作中,设计
是最能发挥创造性、最有趣的部分。然而,在有机会和我们一起工作后,
他们意识到,我们不仅没有剥夺,还改善了他们的工作。
最近,我出席了一个充满了火药味的会议,有一些不了解我们角色的
程序员也受到了邀请。一位名叫弗雷德(Fred)的灰胡子程序员,尤其惹人
注目。由始至终,无论什么时候,只要我们提出一些新的思想和不同的方
式,他就会反驳我们。这个人非常聪明,思维敏捷,嗓音洪亮。每一次我
们尝试着表明交互设计的作用时,他都会眨着跟睛,带着优越感微笑着倾
听,然后做一些讽刺性的评论,诸如:我们没有意识到,从他和他的队伍
里,我们窃取了多少丰功伟绩。每一次,他都指出,我们的设计使他的工
作更艰难,而不是更容易。
最后,在会议结束时,房间里没有其他人了,我们终于可以和弗雷德
作私下的交流。我们向他解释,对于最后的顾客而言,我们的宗旨是使程
序更简单、更有力,而且我们充分地了解,设计的方向需要更多地从程序
员的角度来思考,达一点是非常重要的。我们坚持,关注的目标只能是最
后的用户。一时间,弗雷德的胜上流露出惊奇的表情,他说:“你在向我
提出一个重要的、技术性的挑战”。他的态度整个地改变了,当他意识到,
我们带给他的,是所有程序员梦寐以求的东西:一个难题值得解决。
倒不是吓唬他,我们给他带来了他一直想要的东西:一个机会,来证
明他自己是最聪明、最敏捷、最熟练的程序员。我们把程序中杂乱无章的
与人有关的这一面拿走,留下干净有序的软件内核部分,由他来处理。意
识到达一点,他的态度转变了,我们成了他的朋友,而不再是敌人。