软件的一切关乎成本,以消亡为结束


在看年终述职或者是方案评审的资料时,都可以看到几个技术自驱的项目,在收益这个环节写的是“降本增效”。
以前我也会这么想,技术自驱的收益一般都是降本增效,但现在想法变了,会想:软件系统的优化、迭代、升级究竟是在降本还是在增效呢?
先说结论,我认为是降本。
以全局思维来看的话,增效更多的是在产品流程层面去做。
提效在于产品流程
我们可以发现很多在效率提升上有非常大收益的事情都是在产品流程操作上优化的。
比如一些ToB产品,原有流程非常长,涉及到企业内部各个事业部系统的串联,再复杂一些的场景涉及到外部三方企业的协作。
这种情况的提效一般会经历以下几个阶段:
标准化阶段
标准化阶段需要借助操作系统或成熟的商业模式理解来建立各种协作流程、协作方式和管理指标。这个阶段考验的是发现问题本质并精准定义问题的能力,背后某种程度也是计算机思维。
线上化阶段
线上化阶段的技术价值在于合理的流程抽象与业务建模,让一切线下流程可以低成本地迁移到线上。看得见的业务流程要清晰、简单,看不见的非功能性需求同样需要考虑,比如并发能力、权限控制、数据治理、安全整治等。
这一阶段非常考验架构师的能力,不仅要将冰山之上的能力进行合理化、简单化、抽象标准化,还需要深度挖掘不同业务线上化之后的非功能性建设。某种程度需要积累非常多的行业经验,才可以防范于未然。
智能化阶段
智能化阶段可能更像标准化阶段一些,我们需要在看得见的线上化系统中找到进一步可以产生收益的点。需要具备一定的产品与运营思维,结合业务发展阶段特有的价值诉求进行权衡落地。考察的是人员发展关键问题、选择重要问题、通过项目管理手段落地拿结果的能力。
技术收益在于降本
我们知道了要想提效,更多是需要在产品流程层面做一些动作。所以技术能做的更多是在降本,也就是让上面一系列的提效动作低成本地实现。
对应标准化阶段,我们需要借助对于操作系统的理解,或是成熟的商业模式的理解,建立各种协作流程、协作方式、管理指标,考验的是一种通用力,就是发现问题本质并精准定义问题的能力,背后某种程度也是计算机思维,只不过他没有体现在具体的系统与编码当中。
对应线上化阶段,我们技术的主要价值在于合理的流程抽象与业务建模,让一切线下流程可以低成本地迁移到线上。看得见的业务流程要清晰、简单,看不见的非功能性需求同样需要考虑,比如并发能力、权限控制、数据治理、安全整治等。
这一阶段是非常考验架构师能力的,不仅要将冰山之上的能力进行合理化、简单化、抽象标准化,还需要深度挖掘不同业务线上化之后的非功能性建设。某种程度需要积累非常多的行业经验,才可以防范于未然。
智能化阶段,可能更像标准化阶段一些,我们需要在看得见的线上化系统中找到进一步可以产生收益的点。需要具备一定的产品与运营思维,结合业务发展阶段特有的价值诉求进行权衡落地。考察的是人员发展关键问题、选择重要问题、通过项目管理手段落地拿结果的能力。
软件以消亡为结束
一些架构师可以做好到需求标准化、系统线上化的事情,但更好的架构师需要进一步考虑功能/系统/流程的低成本消亡。也就是说大部分架构师只会建设系统,却不会考虑低成本迭代、甚至系统消亡的成本。
这也就引出了今天的标题所要阐述的内容:
软件的一切关乎成本,以消亡为结束
技术是服务于业务的,业务的变化是常态,系统的变化也就是常态。每个阶段的系统定位都不会是这个系统的终局。所以好的架构师需要考虑系统全生命周期的成本,并建设相关预案。围绕与系统的需求分析、系统建模与建设、系统的维护、系统的下线消亡。
而这一切的背后都是计算机思维、技术能力的体现。