软件工程SmartIDE的第一原理
软件开发
浏览:1338 次

作者:徐磊
原始地址:https://smartide.cn/zh/blog/2022-1022-software-engineering/
徐磊
英杰创软技术(北京)有限公司创始人/首席架构师/首席执行官/SmartIDE开源项目微软最有价值的专家MVP、微软区域技术总监、华为云MVP、Scrum认证大师、EXIN DevOps大师/专业认证讲师、中国最杰出的敏捷精益社区IDCF创始人。专注于软件和敏捷精益业务创新的管理咨询。客户涵盖电信、能源、传统制造、金融和电子商务等行业。自2005年以来,他们为100多家企业提供了软件项目咨询和服务,包括华为、中国农业银行、招商银行、兴业银行、中国银行、谢斯隆、中国联通、中国保险、京东商城和通通。蒸汽等。
我一直想写这样一篇文章,谈谈我对软件工程的看法。粗略地说,我从事软件工程近18年了。许多人不理解软件工程和软件开发之间的区别。用一个简单的类比来说明:如果软件开发人员是淘金者,那么从事软件工程的人就会卖牛仔裤。是的,软件工程是一门为软件开发人员提供最佳方法、工具和实践的学科。要做好软件工程,首先要做的是准确理解什么是软件开发。你必须正确理解你所服务的对象,以便找出规律,从而为软件开发人员提供方法,符合自然规律的工具和实践-所谓的规律就是我今天要和大家讨论的:软件工程的第一原则。

“第一原则”一词由埃隆·马斯克提出,其基本含义是事物的基本规律。马斯克经常说,他痴迷于物理学,因为物理学实际上研究了世界上一切事物的基本规律。根据这项法律作出的判断和决定是符合法律的,是可以实现的。相反,如果你做了一些不符合规则的事情,你就会陷入各种困境,无法逃脱。所谓适者生存就是这样一个简单的道理。
然而,符合法律的做法并不一定简单方便。事实上,总体情况恰恰相反。符合自然规律的做法往往更加困难,违背了基本的人性。举个简单的例子,我们都知道,要想拥有一个健康的身体,我们应该坚持规律的作息,继续运动,科学饮食;但实际情况是,我们总是有理由熬夜,而且总是会在计划的锻炼时间偷懒。高糖高碳水的冰淇淋和蛋糕总是比蔬菜沙拉更吸引我们。这是人性。
软件第一原则第一定律:
软件是虚拟的
软件是一个虚拟对象,这是软件工程的首要原则。认识到这一点,您可以正确理解精益敏捷性、DevOps和持续交付、研发效率、平台工程以及软件的任何方法、工具和实践。等等,软件是一个虚拟对象。这不是胡说八道吗?是的,只有符合自然规律的描述才能被称为无稽之谈,因为这第一个原则并不神秘,它总是围绕着你。这就像牛顿力学定律。如果你说出来,你会认为这是无稽之谈,但如果你真的想解释清楚,那么你就会变成牛顿。是的,你和牛顿之间的距离是无稽之谈。

地下室的故事
据说,一家著名的房地产工厂有一位拥有500年房地产经验的设计师。他在建筑设计方面的经验甚至比这座建筑的存在还要长几十年。有一次,设计师来到一座即将完工的建筑。这座建筑有50层,已进入室内装修阶段。在仔细检查了大楼的设施后,设计师提出了自己的专业意见。这座建筑需要增加两层地下室。
你可以想象项目经理、施工方和现场工人惊恐的眼神,感觉他们遇到了一个疯子。然而,类似的场景只是各种软件/互联网制造商的日常活动。这样疯狂的人每天都会看到他们,而且早就习惯了。
疯子错了吗?
当然不是。他只是发现了一个“底层”问题,但没有意识到这是“底层”的问题,因为他根本看不到大楼。这是软件,虚拟建筑。

作为程序员,我们都明白