「InfoQ」怎样才能实现软件架构的“代代相传”?( 五 )


换句话说 , 就是在业务侧 , 应当能看到“业务服务化”、“服务编排化” , 业务人员具有利用构件化软件资产、协助生产构件化软件资产的能力;在技术侧 , 应当能看到“服务业务化”、“编排服务化” , 技术人员具有按照业务含义准确设计标准化服务 , 将编排作为一种服务向业务侧提供的能力 。
基于行业级标准化构件 , 我们应当能实现更为标准化的企业架构 , 企业内部以行业级标准化构件为基础搭建软件 , 而具备这样标准化架构的企业也必然会成为开放式架构中的标准化元素 , 实现行业级、社会级的开放互联 。 如图 3 所示:
「InfoQ」怎样才能实现软件架构的“代代相传”?
本文插图
【「InfoQ」怎样才能实现软件架构的“代代相传”?】
图 3 以标准化为基础的企业架构设计目标
尽可能以标准化组件支持企业商业模式的构建 , 能达成这样的效果 , 软件对企业生产的基础性作用才能进一步增强 , 才能用软件大规模覆盖各类型企业的生产、管理 , 这正是数字化转型的前提 。
数字化不是一个企业自己的数字化 , 而是整个行业、社会的数字化 , 也是所有从业人员的数字化 。 精炼行业级标准化构件的过程 , 正是业务和技术两侧同时进行数字化思维转型的过程 。
数字化时代 , 各类企业都或多或少地转型为一家科技企业 。 数字化转型完成 , 大家走到同一起跑线 , 今天所谓的“跨界者” , 在数字化时代将不复存在 。 大家比拼的是快速创新商业模式的能力 , 快速创新离不开快速搭建 。 而快速搭建离不开对标准化资产的快速利用 , 对要素的独特组合能力才是大部分创新的主要表现形式 , 重复造轮子在今天也许还情有可原 , 而在数字化时代很可能就真是“无情的浪费” 。
可以回想下 , 对精益生产过程探索的动力正是对杜绝“浪费”的执着 , 如果软件生产想要靠近精益生产 , 那就从杜绝“浪费”开始吧 。
4
行业级标准化的发展思路:大教堂与集市
Eric S·Raymond 所著的《大教堂与集市》被认为是诠释开源思想的最佳书籍之一 。 软件系统的开发模式因此出现“大教堂”和“集市”两种比喻 , 前者是传统的、大公司的软件开发模式 , 后者则是新兴的、社区化的软件开发模式 。
行业级标准化这个想法 , 初次听起来 , 很多人自然会跟“大教堂”联系到一起 , 毕竟行业级标准化听起来就有很多“中心化”因素在其中 , 需要标准、跨企业共识、组织推动等等 , 而且 , 现有其他领域的标准化模式一般也都是“中心化”的 , 无论国内国外 , 国家标准都是标准层级中非常有影响力的部分 。
软件行业是否会有些独特之处呢?当然会有 , 软件是一组可工作的计算机代码 , 而计算机代码的特点是 , 很容易“沾染”开发者的个人特点 , 也很容易复制 。 因此 , 软件制品同时具备“偶然性”和“难保护”的特点 , 也正是“偶然性”使软件的创新比现有工业制品更容易 。
尽管应当保护开发者付出的辛苦 , 但是无论是现有专利制度的效率 , 还是软件保护本身给行业发展带来的弊端 , 都足以让所有人反思 , 软件行业该采用什么样的方式走向标准化 , 走向数字化时代 。
软件行业从业者的核心竞争力到底是什么?Paul Graham 在《黑客与画家》一书中曾指出 , 解决困难问题才是程序员最核心的竞争力 , 而这种能力并非来自于对代码的保护 。 在国外 , 专利、收购、诉讼等都是大公司经常采用的保护手段 , 而非一个程序员可以轻易采取的手段 。
解决困难问题的能力也并非是编写“前无古人后无来者”的代码 , 正如 Eric S·Raymond 所言 , “好的程序员知道写什么 , 而伟大的程序员知道改写(或者重复使用)什么” 。 软件行业进一步发展 , 进入大规模批量化软件生成的数字化时代的前提条件 , 也许正是重新设置软件行业的管理、保护机制 , 推动开源“标准化”模式的发展 。


推荐阅读