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