正文内容 评论(0)
8月26日,金山办公副总裁姚冬出席「规模之道」2022年技术开放日活动,并做了相关主题分享。
WPS始于1998年,WPS版本第一行代码始于2002年,经过多年发展,到如今已经有了20年的发展周期,而微软的Microsoft Office起步更早,要追溯到1989年。据悉,截至7年月,金山办公WPS有超过3600万C++的代码,这些代码运行在5亿以上的活跃设备上,代码规模庞大。面对如此大规模的代码数量,金山办公是如何管理的?
金山办公副总裁姚冬表示,这样长周期、大规模的软件需要解决三个根本的问题:成本、效能和质量,但这三要素组成了一个“不可能三角”:不可以同时做到低成本、高效能还高质量。对此,姚冬认为:“做好超大规模软件项目,不仅需要技术能力、产品能力,也需要管理能力,用管理推动技术创新、效率提升和质量改进。”
对于软件行业为什么会被“卡脖子”,姚冬表示,主要就是一些长周期、大规模的软件卡了脖子,因为小规模的软件可以很快学会,短周期,没有沉淀,没有太多的知识和经验,我们靠人多也可以追上。“就像在办公软件领域,WPS和微软Office的竞争已经持续多年,依旧没有结束,应对长周期、大规模的办法只有用长周期大规模的方法才能追上,除了技术、人才以外,管理水平也是需要相应的提升。”姚冬表示。
姚冬认为,要理解“不可能三角”,首先要先对三角(成本、效能、质量)的构成足够清晰。
第一,成本通常来说分为显性成本和隐形成本、前者包括设备成本、薪酬成本等,后者包含沟通成本、信任成本等;第二,效能可以分为三种,比如决策效率,一个大的软件项目要做很多的决策,一旦决策错了越努力效率越低;比如执行效能,研发不只是靠人,还包括工具,如果工具本身执行效率低,工具效率也会影响;比如协作效能,人不可能单枪匹马去做一件事情,要很多人合作,团队期待的是合作“1+1大于2”,但是现实中经常会出现“1+1小于2”的效果。第三,质量的影响因素贯穿了软件设计、开发、测试全流程。
面对以上难题,技术管理是解决手段之一。管理的目的就是在三件事情之间找到一个相对好的平衡点。
管理又分为三个层面:管人、管事、管技术。WPS的做法是:把“管事”交给项目经理,项目经理负责管流程、缺陷、交付、协调、沟通、资源等;把“管技术”的工作交给资深工程师,负责下技术决策,解决技术上的疑难杂症。值得一提的是,WPS也在内部打造了大量制度的“基础设施”,包括代码管理、持续集成持续交付、CI/CD、人才培养等等,让管理运行在完善制度之上。
姚冬指出,管理还需要落实到工具上。管理的制度流程如果写在纸上只是一个文本文件,它只有落到一个工具上才是一个可执行文件,比如代码分支管理、质量控制,包括安全、代码审查、信息收集管理和监控等重要议题,WPS 都通过研发支撑系统落实。通常来说,软件产品的完整生命周期包括:编码阶段、编译集成阶段、代码阶段,持续集成阶段,WPS给每一个阶段都匹配了对应的工具。
此外,WPS还建立了完善的质量保障体系,确保多层次的质量保障服务。从单元测试到集成测试到发布测试,这些工作都能在质量效能平台得到很好的管理,及时消除风险隐患,为软件质量添砖加瓦。