程序开发心理学阅读笔记——第II篇
作为社会行为的软件开发
程序开发组->程序开发团队->程序开发项目
1、要判断程序员的某个集体是否构成一支团队,要看其中的成员以何种方式相互协作,以共同开发软件产品。
2、健康的团队要始终能够保持自我的生命活力。正是由于这种特点,即使有成员中途离队,也可以建立并维护一支具有共同价值观与习惯的新团队。
程序开发组
3、非正规的机制到处存在,而且如果你还没有真正搞清楚其规律,就企图改变什么,那将会是十分危险的——你可能会把有些操作系统搞得一团糟;同时
,任何替代方案都需要付出更高昂的代价。
4、正如自动电梯破坏了老式电梯对应的社会结构一样,操作系统也破坏了原有的社会结构。尽管如此,只要在领取计算机输出的地方,安排相邻的一间屋子
作为公共休息室,那么人与人之间就会在信息交流的过程中,得到很多有益的东西。但是,个性化的邮件发送系统却会使这种交流隔离的更远
;而通过终端实现的远程任务进入与退出,则会进一步加剧这种隔离。从这方面来看,终端操作可能会成为一种灾难,问不是程序员的福音。
5、如果注意力只是集中在他们自己的程序上,那么即使是输出中在明显不过的错误,也会被程序员忽略掉;而旁观者则可以一眼看出这些错误。
6、从周边的自然环境,到个人的自私性。任何一个正在运转中的程序开发环境中都包含了丰富的内容,这种丰富性使得它具有一种自我保持的特性,
这使得该环境可以抵挡来自外部的强制影响。
程序开发团队
7、无论是团队成员的个人能力,还是允许完成任务的时间长短——都必须做到最小化。
8、如果希望通过最小的代价获得最佳的开发效果,你必须找到尽可能出色的程序员,并且给他们以尽可能长的时间,这样你需要的程序员数量也将最少。
反之,如果你希望工作尽可能快的完成,或者雇佣尽量少的经验丰富的程序员,那么开发成本与不确定性都会随之增加。
9、采用无私式程序开发方法,可以让每个人都感觉到自己并非偏于系统一隅,而是共享了系统中的大部分,不良情绪会得到缓解。
10、程序员需要了解“为什么做”,而不仅仅是“做什么”。
11、导致集体中成员对工作感到满意的关键,四个方面
(1)物质的奖励与机会
(2)工作本身所具有的挑战性及其趣味性。
(3)其所隶属的更大的团队的总体条件,比如雇员的福利、工作条件以及该团队在同类团队中相对低位。
(4)主管与领导者的能力。
12、团队的领导们需要学习的东西包括
(1)无论主管们怎样地强调诺言,他们真正关心的只是结果。
(2)如果希望得到的结果与在整个团队的参与下所确定的工作目标一致,那么这一目标就会非常容易地实现。
13、将影响到一支团队的生命周期及其效绩的因素:
(1)各成员的特长与不足
(2)目标设定的方式
(3)待开发的程序的结构
(4)由外界强加的领导管理结构
(5)某些成员的性别,以及其他成员对待这种性别的态度
(6)团队与其周围环境中其他部分之间的沟通联系
(7)团队领导人在技术方面的能力与欠缺
程序开发项目
14、一个程序开发项目或者团队就犹如一条河流,虽然其中的水总是处于不断流动的状态,但是这条河流始终还是一条河。
15、如果要使学习的速度最快,必须向主体及时的反馈其表现之好或之坏到了什么地步。
16、团队中成员的任务非常专门化,相互之间的差异很大——因此他们之间所需要的,恰恰是缓慢而细致的沟通。
17、任何歧视都会付出代价!