为何数字化是“超级工程”

万事ONES
+ 关注
2022-01-18 11:42
511次阅读

新冠疫情是数字化加速的一个标志性转折点。因为,我们不是上网,而是活在了网上。

试想一下,假如没有互联网,没有快递、外卖,没有游戏、视频,没有社交平台,甚至没有在线健身,我们怎么熬过那些突如其来的居家隔离日子?还有,远程办公、线上教学等的普及让人们可以一再走出工作和学习的现实边界。

当疫情给许多事情按下暂停键时,却为数字化插上了高飞的翅膀

接着,我们继续追问:推动数字化加速的背后硬核力量究竟是什么
越来越多的事实指向了一个答案:是遍布各行业如火如荼的软件研发工程,犹如百川汇海,共同驱使数字化疾速前行——在这个意义上说,数字化就是一项庞大的超级软件工程
研发管理工具公司 ONES 赋能于众多企业的软件开发工程,既参与了也见证了「以软件驱动数字化」的硬核时代进程,因而具有解码「数字化超级工程」底层逻辑的独特视角,也因此利用工程师思维将自己武装起来。

软件研发的工业化发展

在搜索引擎上查找「超级工程」这个关键词,映入眼帘的既有高楼大桥,又有港口高铁;既有交通网络,又有粮食供应——都是看得见摸得着的、关系到国计民生的「巨无霸」系统建设。

为何数字化是“超级工程”

图片来源:Unsplash
例如,中国从无到有,建设了世界上最大的高速公路网络;架设了众多全球技术难度最高的桥梁;建成了世界最长的高速铁路里程,它的长度甚至超越了全球其他地区的总和;在中国的海岸线上,世界吞吐量排名前十的港口,就有七个位于中国。
这些都是原子世界的改造。与此同时,在比特世界里,也正在轰轰烈烈上演软件研发的「工程大戏」。我们现在所享受到的数字化生活和工作上的各种便利,背后无一不来自大规模的软件研发工程。
如今,企业开发的软件,都不再是单一的工具,而是一个系统——将现实世界中的某一个场景,或者某些复杂逻辑,落地成软件系统。也就是说,软件需求本身变复杂了,需要大量的人力参与进来集体开发
与此同时,因为编程语言的进步,程序员不需要再考虑内存问题,不需要再面对垃圾回收、指针等「琐事」,程序员只要写逻辑就好了——这样一来,软件生产变得相对容易
于是,软件研发在制作上变得简单,而在管理上变得复杂。还有,人本身会有生物性局限,包括有限的表达能力、多人沟通的低效等方面。那么,在软件研发过程中如何进行对人的管理,就成为了一个大工程
此前,在软件开发中,不少公司都可能落入误区,认为只要砸钱砸人,就能干成任何项目。也就是说,把做项目看成是一道简单算术题:如果某项目需要12个人月,那么4个人在3个月内可以完工;如果把人手增加到6个人,那么2个月就能完工,工期缩短1/3。
然而,从事过软件开发工程的人都知道,事实恰恰相反。结果是:增加的人手越多,项目进度越慢。因为,随着人越来越多,分工越来越细,流程越来越复杂,人和人之间需要的沟通量会爆炸式增长,沟通花费的时间比分工节省的时间还要多。

为何数字化是“超级工程”

图片来源:Unsplash

因此,与路桥港口高铁等工程相似,当软件研发的底层结构设计完成后,需要大量的工程人员,通过大规模的系统组织来执行实施——这是现代软件工业的关键点之一。
早在2015年,王颖奇就有了「软件工程化」趋势的认知预判。「我认为软件工程实际上会变成生产制造业,也就是说,软件业会成为“中国制造”的代表之一」,王颖奇说,软件研发不是科学研究,而是完全工业化的工程领域。
基于这个判断,王颖奇坚定了一个认知:软件研发需要好的管理工具。于是,他创办了企业级研发管理工具公司。「我自己过去十几年都是在做工程管理,所以有一个非常清晰的认知就是:当一个软件研发团队的人数达到一定规模,都需要专业的管理方法和管理工具」,王颖奇说,同时,由于自己的创始团队擅长做软件,因此选择了做产品技术门槛相对高的研发管理方向。
正是有了系列的实践积累,我们具备了观察数字化的工程师视角和思维。

工程师的结构化思维

美剧《生活大爆炸》的主角、天才科学家谢尔顿,明着说看不起自己的朋友霍华德。谢尔顿总批霍华德的工程师工作平淡无奇,一点创造性都没有,因为工程师是为了科学家的需求服务,而不是自己去发现。
以前,软件行业里的程序员被称为「科学家」;现在,程序员成为了软件工程师群体中的一员——软件工程师的定义囊括了产品经理、设计师、架构师等多方相关人士,可以说,软件工程是工程管理和综合治理手段的极限。
其实,并不是因为科学家智力更强或者水平更高,而是工程学的特点决定的。在这个意义上,可以回应《生活大爆炸》谢尔顿的是:工程师的特长不是发现,而是实现
科学家主要的工作,是探索「是什么」;而工程师思考的是另一方面,那就是「能够做什么」,在自然规律和其他因素限制的范围内,探索什么东西能够为人类带来实际的用途。
人们逐渐达成了共识:科学家发现真实的世界,工程师实现一个可能的世界。
 

为何数字化是“超级工程”

图片来源:Unsplash

而且,工程师思维超越了所谓的「工匠精神」。因为,工匠传承的是手艺,而工程师总是在思考怎么把手艺变成工艺——建立一套标准化的做法,降低人力参与的门槛,就是工艺。
结构化或标准化,是工程师思维在数字化方面的典型体现」。CTO 冯斌说,结构化要做的是「清晰地定义所管理的对象」,例如文档这类非结构化的东西,是「糊」在一起的,很难抽取其中的数据。
「如果无法用数字的方式将其表达出来,很难看清楚其中概况,也没办法进行统计等功能」,在冯斌看来,根据客户实践,在团队协作的时候,非结构化的信息会让人抓瞎,因为无法掌握任务的完成度、任务的时间安排,以及不同团队之间的进度是否匹配,等等。「所以,结构化的首要目标是做到可视化,对所有管理的对象一目了然,这是从混沌走向有序的开始」。
可以说,在没有结构的情况下,工程师从初步的概念和构想中,看到潜在的结构。即,不仅关注看得见的事物,也包括看不见的事物——工程师要考虑系统里各个元素,如何在逻辑、时间、顺序和功能方面进行连接,分析这些元素在什么条件下起作用,在什么条件下不起作用。
比方说,问卷调查显示,乘客的期望是新飞机能更快到达目的地。那么,空气动力学家可能会认为,要解决的问题是怎样让飞机飞得更快,但工程师就会把整个旅程分成若干个组成部分,不仅要琢磨飞行的过程,还要研究去机场、找停车位、定位航站楼、检票、托运行李、等待安检、候机以及到达最终目的地,等等多方面因素。
工程师就是这么操心,直至「结构化」呈现出井然有条

复杂软件研发

需要专业的管理工具

有个新编的老故事:面对一个装了半瓶水的瓶子,乐观主义者说,瓶子已经半满了;悲观主义者说,唉,瓶子还有一半是空的。但工程师会说,这个瓶子其实没必要做这么大,只要一半大就够了
这个故事是说工程师有个思维惯性叫「优化」——就是怎么才能多快好省地实现一个功能。
优化的起点是工程师对「需求」的明确。可以说,一个复杂的软件研发项目就像是一场接力赛跑,工程师往往是跑后半程的人。面对各方提出的需求,工程师根据需求完成接下来的工作,这个过程就像是传递接力棒。
在实际的软件工程中,这个交接棒的过程并不会一帆风顺,因为客户或者同事脑中的需求,可能是以模糊的普通语言形成的,而这一需求进入工程师脑中时,必须转化为数学和科学的专门用语——最好的方式,就是固化到协作工具里的具体功能

[免责声明]

原文标题: 为何数字化是“超级工程”

本文由作者原创发布于36氪企服点评;未经许可,禁止转载。

资深作者万事ONES
万事ONES
0
深圳复临科技有限公司
实力厂商
实力厂商
优质服务
优质服务
及时响应
及时响应
立即询价
相关文章
最新文章
查看更多
关注 36氪企服点评 公众号
打开微信扫一扫
为您推送企服点评最新内容
消息通知
咨询入驻
商务合作