面向结果编程

landscape-4615578_1920.jpg

一、技术人容易走入的一个误区

技术同学往往喜欢站在技术的角度思考问题,对业务常常是思考不足的,当产品经理把需求提出来的时候,大部分人就开始思考如何用技术去实现了。面对需求,先不要去考虑如何实现,此时大家特别需要注意的一点是一定要深刻理解业务目标。

首先任何一家公司都是业务驱动的,技术同学本质上面对的不是技术需求而是业务需求,没有对业务目标的深刻理解,就难以看到全局,难以看到把握业务需求真实的目的。如果你对业务理解深刻,甚至可以对业务需求提出自己的想法,或者改进产品的设计。

其次如果没有对业务目标有一个清洗深刻对认识,那么在后面的架构设计、编码的过程中,很容易考虑不充分,比如架构的扩展行不强,换个场景就没法再用,还有可能产生很多“烟囱”式的代码。

编程不是纯粹的技术,而是要考虑最终输出的业务效果的!

二、面向结果编程

最近在思考业务与技术这个问题时,脑子里突然蹦出“面向结果编程”这个词,是的,就是要面向结果,面向业务效果来考虑如何设计代码,如何设计不同系统之间的交互架构与边界。

所谓面向结果编程,就是在接到产品需求时,首先要十分清楚这个需求要达成的KPI是什么, 要明确业务目标,这个需要开发同学多和产品以及业务方多沟通,多问问这个需求的背景,产品与业务方的期待,后续产品方向上可能的演变,产品现在面临的痛点是什么。

当你把这些沟通清楚后,对业务的需求就会有一个清晰的认识。

当然我们也必须看到,其实技术同学和产品、业务方的沟通很多时候是不足的,甚至拿到需求后直接就开始撸代码了。 所以我们技术同学转变一下自己的思维,不要一来需求,就开始考虑怎么实现,至于怎么实现这个要放到后面,需求评审会不要变成技术探讨会。

增加业务sence,是我们技术同学更好完成业务目标的之路。

三、确定自己的KPI

在完成一个业务需求的过程中,要十分明确自己在项目中的KPI是什么,比如沉淀什么能力,架构设计的可扩展性是不是很好,有没有什么亮点可以做到超出业务期待。

有些KPI是业务方或者leader会告诉你的,比如要通过这个需求达成什么样的目标,有些时候也是需要自己主动设计的,比如你觉得哪些地方可以做的超出预期。

面向结果编程,明确自己的KPI,这样才能在接下里的编程过程中才能始终把握住核心目标,不至于偏离业务方向,尤其是在跨部门的大项目中。同时自己也能取得更好的业绩。

你可能感兴趣的:(面向结果编程)