金字塔|任正非签发!华为重磅发文:到该炸掉研发金字塔的时候了( 三 )


四、工具1、研发办公环境
在硅谷先进的软件公司里,MacBook Pro/Air是标准配置,方便携带,随时随地编程。很多软件及移动开发调试都在家里、公司、食堂随时可以进行,包括编程、编译、Review和提交;数据库、各种Library、工具和Docker等都可以在本地的OSX/Linux环境下运行。需要的话,也随时可以跟公司内部服务器通过命令行互联,进行文件、代码的传输和测试。
笔者在硅谷工作时认识一个美国小伙子,他基本都是深夜在家里写代码,白天几乎看不到人,但效率和质量都很高。而我们的大部分研发人员,都被局限在公司内部拥挤嘈杂的敏捷岛,用着桌面云进行着低效开发。
2、代码库管理、Review、Checkin和Bug Tracking工具
基于Web/Git的Review和Checkin的相应工具差距非常大。通过源程序的Review审批和Checkin的机制,可以很快传递能力和互相学习,提升代码质量。同时,在任何一个时间点,任何一个高级工程师或是领导都可以通过这些工具来了解员工真正在代码上的贡献和价值,审查进度和版本分支,进度和质量也好把握。以笔者的经验,这是最好的传递技能的工具之一,往往有一个能人,很快就能把一批年轻人的能力带起来。
我司一般用的是内部开发的DTS bug tracking的工具,比较死板,总体和上述提到的最新的Git源程序管理工具、Review工具、自动化和Nightly Build、敏捷管理工具无法无缝地连接在一起。
3、知识资源的获取
由于公司内网Proxy权限问题和受限于大家英语水平的原因,大部分员工还是习惯于使用百度进行程序、库、方法和问题的搜索。但由于共享性差,同时技术水平与美国相差比较大,所有能在百度上找到的好的资源非常有限,质量也较差。美国软件开发人员已经把诸如StackOverflow、GitHub和Google作为学习和资源分享不可分割的一部分。
管报、微信、心声社区网友评论摘录:1、整体观点还是同意的,部分点比如网络权限、开发流程、工具等现在很多部门已经优化了,跟互联网公司也差距不大了,不过管理团队臃肿与问责机制的严苛,跨部门沟通成本高,安全红线与IPD流程的繁琐确实仍是相对严重的问题。不过随着公司整体对IT化的思考,应该会越来越好,部分部门有可能在2-5年内赶上业界主流互联网公司的研发效率。
2、很多研发的同学都抱怨过,聪明的人都去做管理了。根源还是研发团队的作战方式。一个项目需要那么多人,必然需要有管理,就有所谓的管理者,管的人越多,管理者做技术的时间越少。要转变开发的模式,班长的战争。如果都是一个个的小团队,就不需要那么多的所谓的技术管理者了。
3、这些问题其实5,6年前我们内部早已经发现,如今从一个外界来的专家身上也提出了。因为以前我们的人员、组织快速膨胀,其中最难的问题:骨干员工都提拔去当官、当专家、专家不碰代码的情况确实存在。随着这两年我们的人员、组织逐渐稳定、任职上的牵引,让骨干员工深耕一线开发岗位,核心骨干负责架构代码、核心模块代码、产品的设计正在成为现实,只要坚持下去,研发扁平化组织我们也会实现。
4、总体陈述较客观。不过华为毕竟是硬件公司,任总说改进也最好是小步前进。企业网项目将是后起之秀,现在比消费者项目稍微落后点,请你海归回来也是想获得些新的理念获得改进提高,但炸掉研发金字塔有些过火。
5、这是由华为公司两大基因决定的!
基因一: 基于不信任的管理
假定了一个团队或者一个员工个体,没有办法自动地按要求完成任务,一定要有外力的干预和指导,才能保证航行在正确的轨道上。不信任的假定,造成了领导很焦虑,员工被干扰。领导焦虑哪一步没看住就要出问题,所以比如各种对齐,各种进展报告,各种回溯会。然后制定各种管控流程(包括IPD),设定各种管控角色,这些东西都需要员工参与,员工就写胶片开会,为各种流程上缴交付件,向各种管控角色汇报。话分两头讲,这一点也不能说是领导完全不对,他其实触动了华为的另一个“传统”(这段可能有些人不爱听)。我们设想一下,文中提到的那个白天不出现,晚上写代码的哥们,怎么保证他是按需求和设计在编码的呢?怎么审计?怎么考核?怎么跟踪?其实答案很简单,那个哥们必定是个极客,而极客是免运维的。而我司的研发定位,绝大部分基本就是程序员而已,这能不管理吗?这就像手动挡和自动挡,既然选择了开手动,那为了适应不同速度的换挡干预就是必不可少的,否则起步后永远挂1挡就是快不了。现状嘛,我司是需要大量手动挡的开发人员,只要按部就班做好自己的事情就行,这是批量化标准化作业的要求。极客嘛,当然也是需要的,但很少,这些人单独管理就行。我觉得公司推了这么多年的所谓敏捷开发流程,其实也是要建立在精英团队基础上,几个人简单思想一碰撞,各自都能清楚的理解和心中有数,就能按时完成任务对接起来,这是很高技巧的,也不是2,3年能掌握的,如果一个团队大部分员工刚写了2年代码,工作还需要别人指导,早上像模像样的开个早会,会上各种问题从9点开到11点,这不叫早会,这叫罚站。这也不叫敏捷,这叫保姆式开发。