程序开发心理学

程序开发心理学(温伯格著)摘抄整理如下:

 

1、程序开发也是一种艺术创造的过程,同写作、作画并没有质的差别。是在特定的环境下,特定的程序员在特定的心理状况下的艺术品,其中任何一个因素的变化都可能导致艺术品的结果不同。

 

2、程序被写成什么样子,取决于众多的因素;一旦我们真的阅读了程序,就会发现无论是否必要,其中这些代码之所以如此编写,有的是由于计算机的局限,有的是由于程序语言的局限,有的是由于程序员的局限,有的是因为历史的偶然,而有的则可能是因为规范。

 

3、优秀程序的要素:

1)技术规范

2)日程计划

3)适应性

4)效率

效率和适应性犹如鱼和熊掌不可兼得。因而往往只能取其一,至少这比哪个都没有强。

 

4、如何研究程序设计:

1)自省,就程序开发心理学而言,每个命题都有可能成为一条“定律”。为了获得一条“定律”,我们必须对其原理进行研究,以便对其应用范围做一界定----因为,每条定律都会受到这种限制。确实,通常对这种限定的了解,较之对定律本身的了解更重要;而只有对大量的案例进行调查分析之后,才有可能明确这些限定。

2)观察,我们要观察人们到底在做什么,而不是他们自认为在做什么。

3)实验,为了降低数据量太大带来的处理代价,同时增加与我们感兴趣的行为有关的信息,我们可以设计一些实验来进行验证。

4)心理学测量,在程序开发心理学方面将要进行的大多数工作,不得不先去“寻找问题本身”,我们需要首先弄清楚哪些是可以测量的以及那些是值得测量的。与其说我们在研究被观测对象,不如说我们在研究测量的方法本身。5)利用行为科学中的数据

 

5主管们很喜欢玩组织结构图的游戏,但是如果将程序员之间的交流,严格限制为图中那狭窄而笔直的线条,那么程序开发将不会取得多大的成果。人与人之间的交流沟通既不是那么狭窄,也不是那么直截了当,更不是用一张组织结构图就能表示出来的。

 

6、程序开发过程中的社会交流方式,会转而影响到正在进行中的开发工作。

 

7如果一名程序员真的把自己编写的程序视为其自我的延伸,那么他就绝对不会希望在他的程序中发现任何错误。

 

8、一支程序开发团队之所以成立,是为了承担并完成某项由任何个人都无法独自完成的任务。

 

9社会心理学家们已经证实:只要有一名成员与集体的目标不一致,那么该集体的整体水平就将受到影响。这种影响不仅来自于这个成员本身,而且也来自于集体内部其他成员的绩效下降。


10、作为一名被指派的团队领导者,如果他的手下无法完成某项任务,但他的上级却强迫他接受这项任务,那么他所能采取的最好方法,就是坚决予以抵制。如果他本身是位优秀的程序员,那么他在这场斗争中就拥有双重的砝码--因为他对自己的判断更加充满自信,同时他也很清楚,即使他丢失了这份领导者的职位,也不至于沦落到讨饭的地步。只有随时准备下台的领导者,才有可能获得成功。

 

11民主式团队更有能力经受住成员离开的影响,但这样的团队通常很难接受新成员。从外界看,一个民主式的团队的外表显得更加冷漠和不友好,而一个集权式的团队则会对外来的加入者表现出异乎寻常的热情和友好--这似乎是一个悖论。


12Fisher基本定理告诉我们,一个系统对某一特定环境的适应性越强,它适应新环境的能力就越弱。

 

13、对于哪些因素才是导致集体中的成员对工作感到满意的关键,社会学家在经过研究之后,划分出四个主要方面:

    (1) 物质的奖励与机会

    (2) 工作本身所具有的挑战性以及趣味性。

    (3) 其所隶属的更大团队的总体条件

    (4) 主管与领导的能力。

 

14、团队的领导者们需要学习的东西包括:无论主管们怎么样强调诺言,他们真正关心的只是结果。如果希望得到的结果与在整个团队的参与下所确定的工作目标一致,那么这一目标就会非常轻易的实现。

 

15、对于从事程序开发的人们来说,至少应该多少具备一点的人格特点就是谦逊。

 

猜你喜欢

转载自clq9761.iteye.com/blog/1779831