《走出软件作坊》第三章读书笔记

四套马车——团队配合
P21

[混乱中的软件作坊]一节描述了一些“普遍现象”,这些现象的特点是:
人数:3-5人,多的可以去到10人。
没分工:一个人从头跟到尾。
多杂事:随时老板会找来八竿子打不着的新活。
造成了“每天撞钟”“斗智斗勇”“懒得修改现在公司的产品”等情况。
接着作者以现实中资源有限为根据(P22 我们都无法有这样的资源实现这样的方法),认为主流的敏捷编程,UML这些方法论并没法很好地解决“普遍现象”中的问题,“需要的是从游击队到兄弟连,从兄弟连到正规军的方法”。令只由几个人组成的开发团队也能达到 CS 战队那种虽几个人,但却能默契配合,团队作战,而非“单兵作战”。

P23页到P24页上半页部份是这一章的关键。在[混乱中的软件作坊]的“来分析分析吧”写出了“普遍现象”中的问题所在,在[从游击队到兄弟连]小节的12345点给出了解决问题的方法。解答了“为什么”和“做什么”的问题。之后的内容都是方法的详细说明,解答了“怎么做”的问题。

从“分析分析吧”里提取出作者用的一些词:
“被实施安装、培训、技术支持占去了”——占。
“程序员自己就改掉了”——自己。
“程序员还得自己写设计文档”——自己。
“只能程序员自己去实施”——只能,自己。
“自己去接客服电话”——自己。
“推给开发部”——开发部。
“只能程序员去做技术支持”——只能。
“这么多压力都给了程序员”——压。
作者的这些用词都指向同一问题,就是只有写出软件的程序员知道实施,培训,技术支持所需要的所有细节。实施人员,销售人员,客户,老板都不知道这些细节。因此,所有这些相关事项都与程序员脱不了关系,必须拉个程序员来才能把实施,技术支持等继续下去。拉不到就做不了实施,销不了售,也做不了技术支持。
于是便出现了所有事都是由程序员去做的情况:反正程序是程序员写的,顺便实施也做了吧;反正程序是程序员写的,顺便技术支持也做了吧。作者用了一个“结”字形容这种情况。
我自己则给这种情况起了另一个名——“坚持到底”式作业:
因为写程序的程序员是唯一一个知道所有细节的人,导致其它相关事项都必须由程序员参与才能进行,最终变成所有相关事项都不得不由程序员去处理。从软件开发一直坚持做到到客服技术支持,一条龙服务。

除了“坚持到底”式作业外,还有另一个问题就是:
“没有文档人员”
“没有测试人员”
没有专门的人负责这文档,测试方面的工作,如果硬要做,便又会是程序员坚持到底去做了。

[从游击队到兄弟连]小节的1,2,3,4,5点就是作者对这两大问题的解决办法。其中第1点与第3点都是要写文档,文档是什么?文档是“分身”,程序员的分身,用于解决“坚持到底”的问题。
有了文档后,只需要把文档给实施人员,销售人员,技术支持人员看,便不再需要程序员亲自参与,坚持到底式服务了。

那么,文档谁来写呢?程序员吗?
1234都提出由专门的人员来负责,专门的编写帮助文档的人,专门的测试人员,专门的设计文档编写人员,专门的公共代码编写人员。
我自己用“专职负责”表示这种由专门的人负责专门的事。与之相应的,由程序员来做测试或写文档则称为“兼职处理”。

如果没有专职负责来处理事情,会出现两种情况:
1. 没人去做这件事,就如作者所说:没有文档人员,没有测试人员。
2. 找其它人兼职处理,如程序员自己写设计文档和帮助文档。

情况2又会出现两种结果:
1. 做得不好,但又不能说他什么。比如程序员的专职是写代码,不是写文档。
2. 能做好,但时间却花在里面去了。比如这周写代码,下周写文档,无法象有专职负责那样这边写代码,那边写文档。

在很多情况下,要想兼职处理能做好,比使用专职负责更难。比如,程序员写的文档跟代码一样谁也看不懂;程序员做测试往往会避开错误;测试人员写设计文档,会从测试的角度出发而不是从设计的角度;要想全部程序员写的代码质量高,还不如把核心代码交给一个技术强的人负责,这样你只需要指导一个负责核心代码的程序员,而不是指导一班程序员。

所以,作者的做法是,专职负责,同时进行一些合理的兼职处理,比如帮助文档编写人员兼职做内部培训。

专职负责的另一个特点是,可以产生“相互作用”。像测试人员与程序员可以产生相互作用,公共代码人员与普通程序员产生相互作用,文档人员与程序员产生相互作用。
所谓相互作用,就是两者在共同工作过程中,看到对方的反馈(正面或负面)而调整自己的方法,使得双方越做越好,越来越配合。

作者用这样一段话来表达这种相互作用:

P27
在很多软件作坊,程序员权力很大,一个老哥从头到尾负责整个项卓,项目质量如何,全看这位老哥自己的素质和责任心了。为了不让项目质量和特定人密切相关,使公司研发保持连贯水准,必须做到专业分工,互相配合,互相牵制。

如果没有专职负责,很容易就会出现坚持到底式的作业。

最后说下题外话:第一次看这章时,觉得写普遍现象那一段是非常有意思的。可能的原因是里面写到了一些人性,一些我既感兴趣但又未尝试过的经历。并且还有一些令我产生了一种“可能以后会发生在我身上”的感觉,在阅读这段内容的过程中,我也喜欢把自己代入书中的环境去想些事情。
但是,第一次看完后,我最多是知道了一下并有可能记得作者写了这么一个环境,但却完全学不到一些实际的东西,自身没有提升。

你可能感兴趣的:(随便写写)