野心、梦想与科幻——浅谈外星殖民与软件工程
当地时间 3 月 14 日,正值 SpaceX 成立 22 周年之际,这家公司拿到了历史上最好的生日礼物。
当天早上,号称“人类历史上推力最强运载火箭”——“超重型星舰”进行了第三次试飞,成功将无人驾驶的上级火箭送入太空。
虽然在返回地球大气层过程中,“星舰”最终失去信号,未能进行最后的受控落海环节。但是也让极具科幻色彩的外星殖民和太空矿业开发变得越来越现实。
其实,如果回顾 SpaceX 的历史,我们会发现 SpaceX 的成功不仅关乎野心、梦想,更是创新驱动设计的典范。
要想大胆、勇敢、自信地领先其他企业,打破平凡且普通的以讨好用户获取利益的模式,就需提供以业务为主、有差异化的产品。
胜利者都会加大创新的力度,成功的方向可以是改进一个既定行业已经成熟的模式,也可以是改进已经实现的产品。
更有甚者,会像发明家一样完全改变整个行业的运作方式,SpaceX 即使如此。
即便如此,成为一个成功的创新者并不一定要依赖发明。作为一个行业领导者,你的创新应当是有意为之的。
最伟大的创新来自坚持不懈的实验和持续的优化。
这里将以 SpaceX 为例,介绍软件行业驱动创新的思维方式和工具。
01
如何设定业务目标?如何促进数字化转型?
SpaceX 不是火箭和太空旅行的发明者,这家公司只是在这个现存且相对封闭的行业中将创新做到了极致。
创新真正的目标是业务驱动性的突破,而不是让极客群体兴奋不已的新技术。除非这些技术有明确且合理的目的,否则它们很可能只会带偏真正以业务为中心的创新。理解创新的重点要放在软件产品上。
认识到创新通常包括对现有事物的突破性改进。独特的创新产品可能会吸引所有人的关注。考虑到新的交付机制和收入模式,现有的产品可能是创新的催化剂,能够带来比昨天更大的价值。
识别软件项目的问题所在。这是发现进行中或已经交付的软件项目存在类似问题的好方法。这些问题通常始于缺乏有效的合作交流,或者交流时没有认识到主题已经从一个专业知识领域转移到另一个专业知识领域。这两种情况都会导致笨重、难以维护的软件产生。
重视知识传递。知识共享是超越“平凡且普通”的唯一途径。不断挑战平凡思维的限制,是通往发现的实验的第一步。
像产品公司一样思考,对任何公司来说都不会错的。
许多企业销售的是非技术产品,当它们将软件作为产品进行投资时,就增加了一个新的质量维度。
这时候,软件产品的改进动机来自明确的客户营收目标,不再是企业内部对功能的无休止的渴望。
如果你的企业还没有做到这一点,那么是时候开始了。
02
什么是好的基本战略学习工具?
如果不允许队成员在实践中犯错并快速学习,SpaceX 就不可能像如今这样快速成功,甚至可能永远无法成功。
与软件在实验中快速失败相比,SpaceX 火箭坠毁的代价是很高的。
最终 SpaceX 的行为奠定了其在该市场上的领先地位。
将业务举措置于软件架构和技术平台之前。向客户介绍软件时,要强调的是它能为对方带来什么样的结果,而不是微服务架构或云等技术细节。用户最关心的是软件的实际效果,而不是它所采用的技术。
直接进行增量改进是为用户提供最佳结果的最快速的方法。充分了解需求和目标,有助于选择最合适的架构和部署方式。
实验性质的失败不是坏事。每次快速失败都会带来快速学习。采用基于实验心态的工程模型,而不是僵化的承包商模型,可以更好地应对未知情况。
拥抱失败文化,失败文化并不是指责文化。创新已经够困难了,不要让那些可怜的科学家因为尝试冒险的新想法而面临被报复的威胁。当受控的失败导致成功时,那些失败看起来就像通向胜利的道路。
关注企业的业务能力是了解投资战略性软件计划最重要的方法。
不要构建可以购买或免费下载的东西,因为这些解决方案是通用的,没有差异化,但通常又难以实现。
你的业务是由企业核心能力所定义的,如果投以适当的关注和投资,就会得到对应的价值。
03
如何做到事件优先?
芸芸众生,性格各异,要如何克服沟通障碍,实现协作沟通、学习、实验和探索型创新,以及改进软件构建?
不要把外向者和内向者分隔开。如果将业务和技术人员推向不同的方向,所开发的软件也会受这种分离的影响,无法满足真正的需求。相反,应该找到将这两种思维方式结合起来的方法,并持续推动探索创新。本书第 3 章介绍了一些方法,第 2 部分将进一步探讨这个话题。
“事件优先”可能听起来很陌生,甚至令人生畏。但实际上我们并不需要对其特殊对待。在日常生活中,几乎所有的行为都是对外部事件的反应。在软件中,事件是已经发生的事情的记录,会引起其他响应性的事情发生。将事件作为学习和发现的工具是非常有价值的实验经验。
借助有效的学习工具快速实验,从而完成组织的快速迭代。快速学习需要业务专家和技术专家之间的协作沟通。通过使用轻量级建模工具,快速学习和实验的效果能够得到增强,使用这些工具的费用与使用纸笔无异,更何况还可以使用免费的在线协作工具。
无论是线下线上还是二者皆有的实验会议,都可以使用廉价或免费的工具来支持轻量级的探索活动,也就是所谓的事件风暴。重要的是要确保会议中有业务专家和技术专家,他们能够回答“寻常”的问题并愿意挑战“平凡”。
要拥抱新的思维方式。将计算机和软件视为只是代替重复、手动、纸质文件为主的任务的方法,这种思维至少已经落后了 30 年。
不要再把软件当作成本中心。
每个行业即将进入新的业务时代,当下的思维是力求拥有能够改变一切的软件。
要将软件提升为盈利中心,并要求由此产生战略创新。
如果你具有野心、梦想与科幻情节,希望了解外星殖民、太空矿业开发与软件工程的共性,一定不要错过《创新驱动设计:单体与微服务混合架构策略与实践》!
这是《领域驱动设计》系列名著作者重磅新作,面向数字化转型企业的全新架构设计理念,聚集了国内软件工程及开发模式众大咖作序力荐,是打破业界窠臼反唯微服务论之方法论大成
这本书完美融合价值和创新的软件架构选择,旨在让业务决策者和技术团队成员学会通过协作来清晰地理解自身在战略层面面临的问题,并确定理想的架构制定方法,无论该方法是分布式微服务、模块化良好的单体,还是介于两者之间的粗粒度服务。
软件架构专家 Vaughn Vernon 和 Tomasz Jaskuła 展示了如何基于需求和目标做出平衡的架构决策,而非盲目跟风,从而聚焦于价值和创新,交付更具可演进性的系统,并避免代价高昂的错误。
通过一个个实际案例,他们演示了如何构建设计良好、可维护且可扩展的单体架构,以及如何对早已混乱不堪的遗留系统逐步加以重新设计和改造,使其转变为真正高效的微服务。
融汇软件架构规划与业务创新、数字化转型
克服沟通问题,促进突破性验证和基于发现的创新
提供大量实践,用于支持创造价值的目标,以及学会更具战略性地进行技术投资
介绍对应用和服务的通用性、适应性有益的不同架构风格
抓住使用单体架构的绝佳时机,恰如其分地进行架构、设计和实施
掌握何时将单体架构迁移到微服务,以及如何实现,无论单体架构是模块化的还是“大泥球”
↑限时五折优惠↑
评论