12.管理方法

管理有4个境界,最高境界是“无为而治”用现在的语言就是建立“学习型组织”,到达这个境界的团队已经高度成熟,会自我调节以适应外部的变化达成目标。 第2境界是用电子和网络的手段,制定一系列流程,规则,方法让员工在既定的轨道里运行,使得团队不会出大问题。第3境界是仅有粗糙的,不俱备可执行细节的规章制度,执行起来需要个人比较大的弹性发挥才能做事或经常需要请示上司才能做事。第4境界是仅有的一些规章制度也被束之高阁,老板发号施令,公司员工基本上看老板脸色行事。这种公司中阶层人员善于揣摩上司的心态,适时调整数据,弹性解释事实;基层员工大多心存“你说你的我做我的” 弹性作业。

我根据公司的状况,希望在研发中心能做到第2境界。我比较推崇的管理方法是职责明晰,流程清楚,方法规范,公平竞争。从管理风格上我喜欢直面事实,不绕弯说出自己的观点,尤其是对技术问题。但是这种管理风格我发现效果不好,其负面作用要很长时间直到别人真正了解你才能消除。

管理靠流程,规则,方法这是管理的科学性一面,但管理还要面对人,而人的思想是千变万化的,要选择一种他能接受的方式去沟通,这就需要管理艺术。一个团队需要的这种管理艺术越少越好,如果每一个人都能直面事实,不要考虑“面子”,个人利益,为什么还要艺术呢?所以“直面事实”是我们的终极追求。

管理靠流程,尤其是关键流程不能省,我不止一次的碰到科学规律带给我们的惩罚,一个产品从研发到市场,要走过的路,恰似婴儿到成人。我们能做的只是少走弯路,我们不可能跨越某个阶段。当我们没有把试生产的问题都解决,当我们没有把该测的项目都测过,以侥幸心理对待,等待我们的结果往往是“欲速则不达”。当然,管理者要分析判断的是针对一个产品的状况,那些是“关键流程”以及如果要跨越某个阶段的风险评估。

管理靠细致,对作业面的所有工程师“心细如发”可能是共同的个性特质要求。硬件工程师在debug一片板的时候,最基本的是先看有无连焊,虚焊,漏焊和错焊,这需要的就是心静心细。测试工程师在观察,描述一个bug时,心细也是必要条件。因为有工程师在写测试报告时经常丢三落四,特别是把“----不能pass”,漏写成“----能pas” 分析下来,也并不是不负责任,而是心粗。为此我曾对2位粗心的工程师做过一种培训,就是每天花一小时,让他们把一碗黑白混合的芝麻分开,开始几天分开的芝麻总有混杂,尤其是会混杂半粒的芝麻,经2周的时间,才真正半粒也不混杂。为了锻炼心静,我们还举行用筷子同时夹起三粒生花生米的训练。

管理靠方法,才能少出错误,我们的软件工程师有时一天update几次程序,可往往最后的一次更改,不是在上一次的程序上,错改到上上次的程序上,这是缺少版本号的管理。借助一些规范化的表格,比如设计文件list,debug分析纪录list,试生产check list,测试项目list,测试表格等也会保证所做工作不被遗漏。

人的天性容易趋利避害、避重就轻、文过饰非,这是人的心理决定的。尤其是做项目时,心存杂念,一心二用,出差错那是必然的。所以在研发项目中check机制的建立是必要的。检查者不是全部重复设计者的工作。重要的是要将全部设计环节中的要点找出。要在其工作输出的重点上检查,这正如铁路巡道工,他在漫长的铁轨上主要是检查铁轨的结合处的螺栓松动与否,并不是等效的在每一米铁轨上平均花时间。根据不同情况,检查时这几点可供参考:要用与执行者不同的方法进行核算;进行试验/测试确认;进行新设计与已有成熟设计的类比;对设计文件的审查特别要注意与设计实物的相符合;要设立一些简单易行的验证方法;检查者要做文字记录并保存;检查者要和设计者进行良好的人际沟通,要充分了解其设计思路。

研发工程师的工作特性是需要安静少被打扰,以利于他的思考;而且工程师又往往爱面子——虽然这不见得是对的。因此借助网络的管理是很好的方法,因为透过网络传递信息,过滤了人的情绪化,而且文字有追溯性。除了email,我们用了 tutos系统来实时管理研发项目中发生的问题和传递信息。这实际上是一个类似bbs一样的网络软件,只是具有更多的管理功能,如按项目设置成员和权限,问题目前是处理状态还是已解决状态,并且任何人发布新信息时,tutos系统会有mail自动发给相关成员,提示去tutos系统中看。

在各种研发电子文件的管理上,先是做好了科学的分类,并且有专人来定期整理和更新,当资料越来越多,后来又考虑开发象搜索引擎一样要能够有方便的搜索功能,这样可以大大方便有效利用,只惜这件事没做完。

对不同层次的研发工程师需要不同的管理,对有项目经验的工程师我基本上是做目标管理,仅看结果;对新手则要更多的关注过程,否则也许就会“翻船”。我对项目管理的成败判定标准是:设计一块主板,如果出现了原理性的错误;或者如果schedule延迟了10天以上,那一定是管理问题,而不是设计者的技术问题。

对不同专业的研发工程师需要不同的管理,比如对测试工程师,他们工作中对创新要求并不高,更重要的可能是细心和逻辑分析力。我给测试工程师3个目标:第1个目标是能够按时并一次将被测主板的存在问题都测出来;第2个目标是能够对测出的问题做原因分析;第3个目标是对测出的问题给出解决方案。完全达到这3个目标,可能他需要在这个专业上做8年以上。同时为了让测试工程师知道自己处于何水准,我们设计了2个考核指针:用每一测试项目所花时间与标准测试时间之比来考核其工作效率;用一次bug测出率来考核其工作质量(这个指针得出,需要该产品后续的测试结果,故不是实时考核指针。)

我们曾经做过全年的统计,在研发阶段和量产阶段对那些看表面现象是技术造成的问题做分析,结果令大家都很吃惊的是有70%的问题是在管理环节可以避免的,只有30%的问题确实是当时对技术掌握不够造成。我最近接触了一些国内it公司的总裁,发现真正认识到研发中心缺管理的不多,实际上是国内it公司研发中心不仅缺技术同样缺管理。