(一)软件过程与业务过程的相似性
软件开发关注的核心问题主要是过程与设计,也就是软件工程和软件设计,前者关注的是软件的生产过程,后者关注的是软件的设计方法,其实这两个核心问题在思维模式、工作套路上与业务人员的工作也是很相似的,完全可以很好地解释给业务人员听。
软件过程主要是从工程管理的角度研究软件生产过程的工序、标准,按什么样的方式和顺序组织生产,每个生产环节该达到什么样的标准,这样做的核心目的是为了提高软件的质量,减少BUG,也是为了尽可能通过科学地安排工序,缩短软件开发时间,从而提高产量。

技术人员对软件过程的关注其实与业务人员对业务过程的关注没有什么本质区别。业务人员推出一个新业务产品时,也要关注产品的全生命周期管理,从需求收集、市场调研到产品设计、内部审批,再到试运行或者上市,之后关注运营、客服,这也是一个基于工序和标准的管理;业务人员也经常研究如何优化内部流程加速产品上市,如同技术人员研究工程模型一样;业务人员对业务的关注也集中在产品质量上,不违规、不给客户带来困扰;后,业务人员对产品流程的优化也包含着让客户在更短的时间、更好的体验中快速获得产品,也就是对产量的关注。并非由于技术人员生产的是软件,二者就搞出了多大的底层思维的差别。
(二)软件设计与业务产品设计的相似性
软件开发中关注的另一个问题是软件设计,设计中重要的部分是架构设计,架构设计关注的核心是结构和关系,如何划分模块、组件、服务,各部分之间又是一种什么样的关系。
清晰架构的目的一是为了更好地复现,目前大部分软件开发的需求还是来自业务,是对业务需求的复现,无论你写没写需求文档,这个本质是不变的。所以,理清了业务的结构、应用的结构,才能保证复现的正确性,也就是确保软件的质量。目的之二是为了更好地实现复用,清晰、统一的架构定义,有助于识别已有的业务能力、软件资产是否可以被复用,复用有助于解决产量问题,也就是缩短开发周期,而已经被使用过的软件资产往往经历过检验,也有助于保证新应用的质量。
其实软件设计与业务人员搞产品设计关注的东西也没有很大差异,业务人员做产品设计时一样要考虑产品的构成,产品中包含什么内容,比如银行产品中申请的环节、审批的环节、放款的环节,不同的环节之间是什么关系;如何更好地复现、迎合客户需求;以往的业务经验、业务规则能不能用在新产品设计上,如果能用那自然产品设计的效率也会提高。所以,二者思维模式接近,如何更好地帮助业务人员在设计产品时进行结构化的思考,就会让业务和技术的关系更近一步。