软件编译应当说是相对容易的环节,但就是这个环节上,李征所在的文字研究所出现过好几次错误。最后,李征下决心制定了一个非常详细的编译规范,规定每一次编译都要按照这个规范执行。
这之后,李征觉得软件公司所做的每一件具体的事情都应该有规范,比方,刻光盘这样的小事,李征也专门找人写了一个规范流程。李征认为,事事有规范不仅可以避免错误发生,实际上还可以节约东撞一下西撞一下所浪费的时间。
规范是协同工作的基础,真正实现协同工作还需要制度来保证。方正研究院规定项目组的成员一个月必须坐在一起互相汇报一次。
相互汇报有三个显而易见的好处:一,可以增进了解,有效避免调用错误;二,关键性算法说出来,大家可以提一些建议,可能会使算法更加优化;三,可以增进协作的气氛。郭宗明觉得,很多人愿意留在方正不是为了方正的钱,而是为了方正的气氛。“保持心情舒畅很重要,大家彼此处得很好,发现问题会彼此提醒,一个人如果态度很差,大家就会尽可能地躲着他,能绕就绕过去,心里想的是,反正不是我的问题,跟我无关,能不说就不说了。”
要想沟通协作得好,肖建国认为要从最“根上”考虑,“理想的状态是,我们三个人一个课题组,进来第四个人的时候,我们三个都要参与面试,谁看不上眼,他都不能进来。”
方正研究院不会将一个模块交给一个程序员,三个月以后再去检查,而是在每一个关键点上检查他的工作,不停地对他的工作做需求评审、设计评审、代码检查、单元测试等等检查工作。
需求评审,发现问题,纠正了,后面就不会错下去,而等到三个月以后,程序员交上来一个乱七八糟的文档,一个不能用的程序,那时候再后悔就来不及了。
有非常自觉、非常优秀的程序员,但不能因此就相信所有的程序员都是自觉和优秀的,人总是有惰性的,尽管每个礼拜都要检查评审程序员的工作,好像对程序员不信任似的,肖建国还是坚持在每个关键点上检查工作,“否则,BUG就没有办法控制,时间进度也没办法控制。”
用制度和条文将变化较小的事情规定下来是组织管理的基础,根据条件的变化,随时随地解决冲突则是管理的艺术。 管理得好与不好,全在处理各种各样矛盾冲突时所把握的火候。在方正研究院第一个需要解决的冲突是——选谁做项目经理。
做技术的人很难打心底服气谁,为了让大家都服气,方正研究院过去提拔干部的标准是让技术最强的人做项目经理,这种做法大家比较容易心平气和,但这样做的通病是技术最强的人往往没有管理和项目调控的能力,而软件大规模工程化研发最需要的恰恰不是一个技术骨干自己能多做多少,而是通过有效的管理,调动大家的积极性,把团队的力量发挥出来。
选管理型人才做项目经理,如何平衡技术骨干和做管理的项目经理之间的关系?方正研究院找到的办法是让技术骨干在待遇上得到平衡,让技术骨干和做管理的项目经理拿一样多工资,甚至更多,而且,在技术问题上充分尊重技术骨干的意见,负责项目管理的项目经理更多是管理软件开发进度和软件质量。在算法上,作为管理者的项目经理肯定不如很多年轻人脑子灵,开发人员想的是新技术,项目经理安身立命的依据则是丰富的开发经验,对软件的总体把握以及对于规范的清楚掌握,两者并不矛盾。
或许是因为国产软件在同国外软件较量中屡遭失败的缘故,舆论开始对中国人做软件、中国公司做软件的能力产生了彻底的怀疑,以至于面对像方正这样挑战国外软件所取得的最辉煌胜利也不敢轻易欢呼叫好了,相反,对于“方正是在靠不符合标准的产品垄断市场”的言论似乎更容易接受了。
实际情况是,早在Adobe推出PS语言之前,方正已经做了五代RIP,方正的前五代RIP当然没法符合标准,因为那个时候还没有标准。1993年,从第六代RIP开始,方正就接受PS语言,从此走向了开放标准。
肖建国说,因为方正在出版领域处于相对垄断的地位,所以,所有想进入这个领域的竞争对手都要先踢方正一脚,大家异口同声地指责方正不标准,再加上方正1993年之前的产品,的确不支持PS,这些老的产品有的用户还在用,没有升级,这样两件事凑在一起容易使局外人信以为真。