软件开发中设计为什么应该只有一个所有人?
flyfish 2015-11-4
所有人只有一个人,他证实有能力掌控整个程序,保持了产品概念的完整与一致,他是团队的灵魂人物。
否则开发出来的产品就是个分裂的软件产品。
如果集体设计软件,得到的结果往往是平庸。
所有人要防止自己进入群体意识
以下引用自《人月神话》
贵族专制统治和民主政治
概念的完整性要求设计必须由一个人,或者非常少数互有默契的人员来实现。
现在让我们来处理具有浓厚感情色彩的问题――贵族统治和民主政治。结构师难道不是新贵?他们一些智力精英,专门来告诉可怜的实现人员如何工作?是否所有的创造性活动被那些精英单独占有,实现人员仅仅是机器中的齿轮?难道不能遵循民主的理论,从所有的员工中搜集好的创意,以得到更好的产品,而不是将技术说明工作仅限定于少数人?
最后一个问题是最简单的。我当然不认为只有结构师才有好的创意。新的概念经常来自实现者或者用户。然而,我一直试图表达,并且我所有的经验使我确信,系统的概念完整性决定了使用的容易程度。不能与系统基本概念进行整合的良好想法和特色,最好放到一边,不予考虑。如果出现了很多非常重要但不兼容的构想,就应该抛弃原来的设计,对不同基本概念进行合并,在合并后的系统上重新开始。
至于贵族专制统治的问题,必须回答
“是”或者“否”。就必须只能存在少数的结构师而言,答案是肯定的,他们的工作产物的生命周期比那些实现人员的产物要长,并且结构师一直处在解决用户问题,实现用户利益的核心地位。如果要得到系统概念上的完整性,那么必须控制这些概念。这实际上是一种无需任何歉意的贵族专制统治。
第二个问题的答案是否定的,因为外部技术说明的编制工作并是比具体设计实现更富有创造性,它只是一项性质不同的创造工作而已。在给定体系结构下的设计实现,同样需要同编制技术说明一样的创造性、同样新的思路和卓越的才华。实际上,产品的成本性能比很大程度上依靠实现人员,就如同易用性很大程度上依赖结构师一样。
以下引用自《代码之道》
谁来负责
千万不要把头脑风暴与集体设计混淆在一起,尽管很多人都作出了贡献,讨论了他们不同的想法,但设计应该只有一个所有人。这个人所有人拥有最后拍板的权利,也只有他的名字才会出现在设计文档上。
只有一个所有人保证了设计的清晰度和一致性。它赋予了所有人责任意识去满足需求,造就了一个理解和贯彻设计抉择的灵魂人物。
集体设计是专门给懦弱无能的部门准备的-当他们怯懦的多数人意见在极小的张力下崩溃时,他们可以把指责转嫁给别人。
以下引用自《编程大师访谈录》
提问的人问了盖茨关于这样的一个问题:如何创造一个环境以确保能开发出成功软件的?盖茨是这样说的。
一种方法是建立小型的项目团队,通常是四五个人一组,其中一个人经证实有能力掌控整个程序。如果这个项目带头人遇到不确定的事情,他会与经验更为丰富的程序员一起讨论。我们的部分策略是让所有程序员在进入编码阶段之前都先想清楚每一件事情。编写程序设计文档是至关重要的,因为在把问题当做算法看的时候,问题会得到很大的简化。可以说算法是最简单的形式,从中可以看出问题在什么地方是重叠的。另一个重要因素是代码复查,要确保代码是看过的,看看资深人士是否能提出如何做得更好的建议。而且你必须参考类似的、做得特别特别好的项目。程序员可以看看以前其他人是怎么做的,从其他项目获得改进自己程序的想法和经验。
以下引用自《乌合之众》
我的 目的是说明为何要避免自己进入群体意识
群体只能从事最低级的劳动,而涉及到普遍利益的决定,只能由杰出人士组成的决策中心来作出。但让我们感到沮丧的是,即使是各行各业中最优秀的专家们,当他们表现为一个群体的时候,也会经常性地作出极度愚蠢的决定。实际情况是,即使再高明的专家,一旦他们受困于这种群体意识,那么他们只多只能用普通人的智力与能力,用最为平庸而拙劣的方法来处理那些关乎重大的事情。
奇迹的创造者现在我们可以得出结论了。
第一:在智力上,群体的表现远不如构成这一群体之中的个人,所以在涉及到智慧这方面上,我们是绝不能依赖于群体的。
第二:群体比个人更有力量,但是群体的表现是极不稳定的;而个人无论是智力还是能力方面,总是维持在一个平均的水平线上的。
第三:群体的行动是受感情激起并主导的,这种感情的强弱程度,直接决定着群体的行为能力。
第四:群体的表现有可能比个体更好,或者更差。究竟群体会表现得更好还是更差,这完全取决于周边的环境如何。
第五:群体能够干出什么来,取决于影响群体的暗示具有何种性质。
如果这种性质是积极的、进步的、有意义的,那么群体的表现就会是相应的积极进步而有益。反之,如果主宰群体行为的暗示是负面的心理能量,那么群体的表现就会非常可怕——如果把群
体比作是同一个人,那么这种主宰群体行为的暗示力量就好比是人的思想,如果这个人的思想是善良的,那么这个人必然是善良的,反之亦然。
第六:群体往往会构成骚乱的因由,但群体更多的表现,却是一个英雄主义的群体。