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還建立了完善的質量保障體系,確保多層次的質量保障服務。從單元測試到集成測試到發布測試,這些工作都能在質量效能平臺得到很好的管理,及時消除風險隱患,為軟件質量添磚加瓦。