软件研发有多难?
从中国人努力研发自主操作系统的过程可见一斑。在二十多年时间里,是你方唱罢我登场的「前赴后继」:红旗 Linux、深度 Linux、中标麒麟、优麒麟、中科方德、普华、StartOS、阿里云 OS……许多名字先后出现,但很快被人们淡忘。2021年7月底,华为表示,鸿蒙系统升级用户已突破4000万。如今,不少人都在期待着鸿蒙的成功。
说起操作系统,有人这样发问:中国是手机 APP 开发大国,也是全球摩天大楼总量最多的国家,还拥有全世界最长的跨海大桥——可是为什么中国这么久都没有属于自己的软件操作系统呢?因为相比传统工程而言,软件的研发实在太难、太复杂了。尽管如此,中国的众多软件公司「义无反顾」地走上攻坚之路,其中包括研发管理工具头部企业 ONES。
01
早在1950年代,就已经有公司专门以开发软件为主营业务。
但软件业从一开始就是一个磕磕碰碰的行业:项目总是一再延期,好不容易交付了,软件卖出去之后又总是被人发现各种毛病和错误。如果客户不满意,要求公司提供售后服务,那么,现场去给人解决问题是成本极高的事情。此外,软件开发者还要应付黑客攻击、网络病毒等。
直到2000年前后,美国政府统计署的数据显示:全球最大的软件消费商(美国军方)每年要花费数十亿美元购买软件,而在其所购软件中,可直接使用的只占2%,另外3%需要做一些修改,其余95%都成了垃圾。以至于,一度流传这样一个故事:一个软件工程师嘲笑一个汽车工程师说:“如果汽车行业像计算机行业一样发展,现在汽车应该一毛钱一辆。”但是汽车工程师不以为然,回应说:“可是谁会要一辆动不动就抛锚的汽车呢?”
从事过软件开发的人都知道,程序代码太容易出错了。代码越写越长,出错的频率不成比例地增加。可能你今天费了很大力气好不容易运行通过了,过了几天、遇到一个没想到的情况,发现还有一个隐藏的错误。就算 Windows,Mac 和 Linux 并列为现代三大主流操作系统,各自都有约一亿行代码——即使它们可以称为最成熟的软件系统,至今其中仍然还会出现不少毛病。因此,早期的软件公司,都会尽量去找那些经验丰富、头脑聪明的高水平程序员,同时还会在销售软件时附带一个免责声明:“如果因为这个软件的问题给您造成了损失,我们概不负责。”
可见,软件工程的复杂度远高于建筑工程。例如,在盖楼的过程中,倘若犯个小错误,那么结果是让楼房的质量有所降级,但只要不是极严重的失误,这房子还是能住的。但软件就不同了,程序中的一个小错误很可能就会导致整个系统的崩溃。因为软件各处的关联非常密集,随时触一发而动全身。例如,在发射火箭时,相关操作是由软件控制的,一旦软件出现 Bug,火箭随即失控。
因此,软件开发不仅是一种工程,而且是比传统工程复杂得多的工程。而软件工程的问题不在于有多少高水平的工程师,而是一个复杂性问题。
02
早年的软件开发是个人英雄主义时代,一个程序员便可以创造一个经典程序,求伯君的 WPS、王永民的王码、王江民的 KV 杀毒、鲍岳桥的 UCDOS 等等——他们和他们的软件无疑是那个时代的代名词。自从进入21世纪,软件需求及其本身的开发越来越复杂,个人英雄主义时代退出了历史舞台,因为现在要想一个人单打独斗完成一个中型软件项目,已是「不可能的任务」。
以前的软件是给一个人用,现在是多个用户共同使用一个软件;以前的软件是一个人或者几个人开发的,现在则是大型团队一起开发;软件工程师的定义不仅仅专指程序员,而是囊括产品经理、设计师、架构师等多方相关人士——可以说,软件工程是工程管理和综合治理手段的极限。
在1960年代,计算机思想家弗瑞德里克·布鲁克斯(Fred Brooks)率领 IBM 公司300人的团队开发操作系统。基于此次研发经历的总结,他写了一本名为《人月神话》的书,至今仍为经典之作。《人月神话》有两个核心观点:
- 其一是:1个人干12个月的活,绝对不是12个人在1个月内能完成的。项目涉及的软件工程师越多,平均每个人出活的速度就越慢。所以,规划项目的时候计算“人月”是没意义的。
- 其二是:团队做出来的软件的结构,往往和团队的人员组织管理结构高度相似。所以,软件工程不但要管项目,还要管人。
到了1987年,布鲁克斯写了一篇名为《没有银弹》的文章,将此前的观点进行升级:软件工程的根本问题,是人的问题——主导软件开发的人,必须得能够理解高度复杂的东西才行。
于是,在软件项目管理实践中,如果不能将研发全流程工作串联在一起的话,协同效率和改进效果都会差很多。当在大规模团队协作过程中,很难通过单纯的线下沟通去了解整个项目的运行状态,此时,就需要依靠项目管理工具来实现。
03
在大型企业团队研发管理过程中,项目管理工具已经成为刚需和标配。如果没有项目管理工具,就没办法对信息做一个系统全面的整理,也无法通过数字化的形式来进行风险分析、监控与管理,那么,最终整个研发项目就很容易失控。
尽管中国的技术研发人群基数大、人力价值高,然而在项目管理开发协同上,中国企业曾经只能在有限的几个海外软件工具产品中做选择。鉴于此,从2015年起,ONES 持续在该领域深耕,迭代出了更符合中国企业应用习惯、比海外竞争对手更先进技术架构的产品,并在几年内打造出了完善的产品矩阵和营销体系。
ONES 的愿景是,希望加速整个软件研发管理过程中的数字化进程。其中,达到数字化分为三个阶段:
- 首先是「在线化」,让项目内容(本地的 Excel、文档)等管理进行线上化共享;
- 其次是「结构化」,通过字段、属性,状态等维度,将一件事情变成结构化的数据对象,这样就可以被筛选、搜索、聚合;
- 最后,还需要能够让这些数据关联起来,达到「智能化」的效果。
工欲善其事,必先利其器。在各行各业的软件研发活动中,ONES 犹如一把披荆斩棘的“利器”,助力企业的软件研发高歌前进。
在短短的6年内,ONES 已成长为国内领先的研发管理解决方案提供商,旗下的8款专业研发管理产品,贯穿了软件研发的全生命周期。2020年,ONES 收购了国内知名团队协作工具 Tower,得以拓展了业务版图,实现从小团队到中大型团队的「全方位覆盖」,为各类项目管理场景到专业研发管理提供一站式解决方案。
ONES 选择走上软件研发最难的路,把软件里「最难啃的骨头」留给自己,让越来越多的企业走上轻快便捷的软件研发「康庄大道」。
目前,ONES 的客户涵盖了包括小米、中国电信、贵州茅台、上汽集团、招商基金、浪潮软件等在内的多家500强企业;Tower 则服务了包括传音控股、华润创新与学习中心、圣农集团、猿辅导等各个领域的头部企业,累计超百万团队。
今年,ONES 在半年内连续完成三轮总计近1亿美元融资,投资人包括五源资本、华创资本、嘉御资本、XVC、源码资本、软银中国资本、GIC 等国内外知名基金。从而,ONES 既是国内研发管理领域累计获得融资最多的公司,也创下了该领域历史融资速度最快的纪录。这也意味着,资本层面已达成了共识:在中国软件研发及工程管理赛道上, ONES 所处行业头部的领军地位,得到了进一步夯实和巩固。
ONES 创始人兼 CEO 王颖奇表示:“我们用了六年时间打磨了一套符合中国科技企业需要的研发管理系统,服务了大量的各行各业头部客户。在获得充沛资金支持后,我们将积极招募顶尖人才,扩充力量,加速产品更新迭代,服务好客户,实现企业价值最大化,主动承担社会责任。”
可见,走上难走之路从来不是抄捷径,而是面对产业机会迎难而上的「道路自信」。