《程序开发心理学读书笔记之二》
《程序开发心理学读书笔记之二》
在本书中最让我印象深刻的两篇是第2篇作为社会行为的程序开发和第3篇作为个人行为的程序开发,下面本篇博客先介绍我从第2篇中得到的知识以及发表一下自己对此的阅读感受:
“我们可以把程序员集体划分为三种类型—程序员组,团队以及工作项目。粗略的讲,这里讲的程序员组是若干名程序员的集合,他们在同一个地方工作,也许还共同享用一台计算机或同一个操作系统;虽然有些程序之间会有某种联系,但是各位程序员却分工负责开发独立的程序。另一方面,虽然一个程序开发团队也是有若干名程序员组成的,但是所有程序员需要相互协作,以共同完成同一项任务。”这是作者的引言,作者在此强调了程序开发团队的重要性以及团队间相互协调合作精神的必要性。程序研究开发组对于一个项目的成功开发是非常重要的,非正规的机制到处存在,若主管还没有真正弄清楚其中的规律,就企图改变什么,那将会十分危险;同时,任何的替代方案都需要付出更高昂的代价。许多由此引发的系统紊乱,都源于自己对环境的物理格局进行了贸然改动,在各个计算中心,这种改动非常普遍。
我们知道每个程序员书写的程序或多或少都会有错误,若错误很轻微时,还不至于根本就没有输出的时候,程序员解决认知失调的方法甚至会更加简单,只要对其中的错误视而不见即可,然而这些错误无论如何都是无法忽略的。假设其中没有任何错误,从某种意义上讲,人类的眼睛几乎是万能的,只要主人不希望看到的东西,他们的确就可以视而不见。那些精通于调试他人程序的程序员就可以作为这个论断的伪证。如果注意力只集中于他人的程序之上,那么即使是输出中有明显不过的错误,也会被程序员忽略掉,而旁观者则可以一眼就看出来。所以,即使是面对来自自然的,难以接受的反面证据,人们也会往往认定自己的程序完美无缺。其实,这种倾向是在明显不过了,如果我们想要解决阻碍程序开发质量提高的那些问题,如果我们想要从满足功能要求这一基本层次出发,那么我们不得不对此有充分的认识。
对于无私式程序开发,这种方法的好处就是对阅读他人程序的人的好处是自己也能受到积极的影响,因为如果我们能够正确理解阅读程序的重要性,那么通过阅读他人程序的实践,它必然会成为一名出色的程序员。并且在基于这种团队模式开发的情况下,对于那些缺乏专门的教育措施的开发团队,他们团队无论是个体还是团队能力和水平均会有所提高。而且项目开发团队的工作环境对项目的开发也是有很大影响的,我觉得引用作者的下面一句话是最能给出主管的一个较好的意见的:“如果你的团队项目开发离开某人是无法进行的,那么你最好的处理方法就是辞掉他!”为什么呢?因为一个不善于把自己的意见想法和团队成员沟通交流的人,那么即使他拥有较高的技术水平,那么对于大多数项目开发而言,你的整个团队是很蹩脚的,在整个软件运行周期中,很多事情是非常难解决的,那么自然而然,这种团队也不会开发出什么令热满意的东西。
在实际的程序开发环境中,其时间的跨度以及任务的复杂程度,都要比社会心理学家曾经试图进行的实验高出几数量级。并且发现,与团队成员过去合作的经历,以及对将来能够和他们一道工作的期望,都会影响到短期集体的行为。因此即使从乐观的角度看,对开发团队做任何有意义的实验均是很困难的。“就程序开发而言,开发团队针对其任务的组织形式,最主要决定于以下两个因素——目标系统的组织结构以及团队的人员组成。”这是所有主管应该特别注意的!
阅读进度:此博客是在阅读完著作后发表的。