五. 成功的原因
成功了,一定做对了什么。以下列出5项因素。太多的因素无法一一列举。
- 有核心的人员,但没有牛逼的人员。谁也不去凌驾于谁。
- 实体组织与虚拟组织同步开展工作。
- 大家共同定义规范、标准。达成最大化的一致性。
- 明确禁止性规则。法无禁令皆可行。有规则,更有想象空间。
- 积极推动技术创新文化。有创新,公司内大力宣传。

六. 虚拟组织
研发体系内,有明确的实体组织,如部门、组,但还是需要建立虚拟组织,达到研发组织内横纵贯穿的作用。
1.总体组
首先,建立一个软件开发总体组织。这个组织的人员可能来自于不同的部门,一个管理者,两名技术骨干,两名业务骨干。五个人组成了一个总体组。
总体组负责整体软件开发规范、标准的制定、完善,在技术、业务上属于最高的权威。总体组没有管理权限,只是在技术、业务方面做好规范、标准、方向上的努力。
总体组有明确的周期性活动时间安排。总体组还要尽可能多的去与一线的技术人员、业务人员,甚至QA人员交流沟通,不断的吸取大家的建议、想法,也会不断的完善已有的规范、标准。
2.专项组
大型软件开发组织内,成立的虚拟专项组越多越好。每个专项组的成员一定要来自于不同的部门,每个专项组需要5人左右。
比如软件性能专项组,专门研究软件性能的提升,给总体组提供提升软件性能的方法、组件,甚至是规范、标准、禁止性规则,等等。
由于专项小组来自于不同的部门、组别,大家的看法、认知都不同程度的进行了互补。
一个大型软件开发组织,这样的虚拟组织可以设立几十个。不要嫌多。
七. 工具保障
工欲善其事,必先利其器。人与动物的区别就是利用与制造工具。软件研发组织内部工具的多少,决定着整体研发效率。所以,务必重视研发工具的建设。
这些工具,需要看开发什么大型软件。软件类型不同,工具则会大有不同。总体来说,只要提升软件开发整体效率的工具,都是好工具。
比如,对于禁止性规则,需要有禁止性规则检查工具。提交的代码,通过工具检查,若发现有禁止性的代码,则立即判断出来,甚至直接删除。绝对不能让符合禁止性规则的代码进入代码集中管理中心。
有了实体组织与虚拟组织的相互配合,研发工具的建设,就会很自然丰富起来。并且变得越来越强大。
八. 开发文化
软件开发文化无疑是企业文化的重要组成部分。谈论组织架构的作用,注定离不开开发文化的建设与推动。
软件开发的实体组织,无疑是严肃的组织,有进度要求,有质量要求,有考核。任何一个实体组织的管理,这些因素是必须且不得不考虑的。开发人员需要有良好的心态开展工作,需要一个可以开启智慧且心情愉悦的工作环境。这似乎与实体部门的严肃性有着天然的冲突。
虚拟组织可以很好的解决这个矛盾。虚拟组织没有考核,只有认可。大家在一起活动,可以无所顾忌什么严肃性的规则,管理者无法指责一个志愿者的工作。任何人也没有这个权利。
虚拟组织给了每一位参与者最大化的想象空间,可以乱想,可以乱实践,但最终的研究成果需要总体组最终确认。
虚拟组织的每一位成员,都可以找到自我释放的技术感觉,同时,跟大家一起讨论,相互的技术感染与技术提升也是倍速增长,大家都有一个专家式的自我感觉。
管理者没有大笔奖金给每一个人,但你要给每一个人被认可、成功的感觉。这些感觉,其实比给更多奖金还重要。
