技术规划的逻辑

技术规划就是根据业务目标和产品需求,对所需技术和技术现状进行识别和分析,并给出相应策略的过程。技术规划是研发团队中杠杆率高、影响周期广的管理活动之一。古人云,凡事预则立不预则废。杨三角理论说:企业成功 = 战略 * 组织能力,对研发团队而言,技术规划就是技术策略和团队目标形成的过程。因此对于追求高效能的Tech Lead而言,技术规划并非是可选的,而是岗位职责的一部分。技术规划不仅仅是一种工作任务,还是一种培养手段,通过技术规划的刻意训练,可以扩展技术视野、转变思维方式、提升思考高度,从而达到培养核心人才的目的。

技术规划不能脱离实际,要从需求和问题出发,而且要有先进性和前瞻性,不能是落后技术或方案的延续,而且要能够结合业务发展方向和行业技术发展趋势,做好趋势预判,通过规划能够支撑未来1-3年的需求和技术发展。

技术规划的方法

技术规划要解决的是团队层面的整体性命题、或者是某个单一领域的系统性命题,因此技术规划天然需要系统性的思考,技术规划本身就是一个系统性的思考工程。而团队技术规划围绕的主要是Why和What,对待这种大问题,我们要分而治之,将其分解成不同方面、不同层次的具体问题来分析。

常见的技术规划方法有三类:问题驱动、需求拉动、行业推动。比较稚嫩的技术规划是其中某一类的应用,比如发现了架构上现存的重大问题,这种问题会影响当下的开发的效率、甚至上线后的稳定性和体验,那么通过系统性的分析,找到解决问题的核心策略和最优路径,通过规划的方式将问题的解决策略、解决方案清晰、系统地思考并呈现出来。而成熟的技术规划是综合运用上述三个视角,既要洞察到业务需求中的核心技术目标或能力诉求;也需要看到当前技术层面的结构性问题,这里的结构性问题主要是指大问题、真问题、必然性、趋势性问题;同时需要结合行业技术的发展情况,找准Best、做好Benchmark;此外还需要结合技术发展的生命周期,了解哪些技术在萌芽、哪些技术在成长、哪些技术在成熟,选择合适的技术解决合适的问题,否则很难保持技术规划内容的合理性和先进性。

flowchart LR 业务需求 & 技术问题 & 行业趋势 --> 技术规划:::tpp --> 项目拆解 & 组织保障 质量 & 效率 & 性能 --> 技术问题 classDef tpp fill:#fed

在Benchmark的过程中,要首先在Why和What层面对标,了解行业里其它公司还在做什么,为什么这么做,其次再关注How层面的对标,了解行业里要解决同类问题还有哪些更好的解法,解决问题的思路上有哪些可以值得借鉴和参考的。

在技术规划的过程中,既要看到主要矛盾并进行第一性的思考,也要综合运用点、线、面、体的思维方式,从宏观、中观、微观,以及过去、现在、未来的视角进行系统性的思考和分析,思考的过程中要不断地发散、收敛,再发散、再收敛。

好的技术规划应该是具备连续性的,除非外部环境或者行业技术出现大的变化和调整。此外,好的技术规划应该是top-down和bottom-up相结合的方式,这样有助于团队整体的充分思考、信息更加完整、考虑更加全面,同时经过这样的过程,也更容易建立共识,从而有利于团队技术规划后续的落地实施过程。

好的技术规划是有层级关系的,但也相互依赖、相互补充。团队的技术规划和小组的技术规划定位并不完全相同。就好比城市里,有机构在做城市规划,有机构在做社区规划,有单位在做楼宇规划,还有公司在做室内规划,不同的内容在城市空间的角度来看,焦距是不同的,这些规划放在一起,才是一个城市空间规划的全部。

雷军在北大演讲时曾经讲过,“我们做任何事情都需要看五年以后的事情,想三年,认认真真做好一两年。”在技术规划方面也不例外,因此才有了看三年、管一年的说法。我们需要将眼光放长远,关注到3年范围内可能发生的业务变化、以及其中的能力诉求,还需要预判3年内可能发生的技术变革。

技术规划的逻辑和方法是相对清晰的、明确的、单一的,但是技术规划的结果却是千人前面,非常依赖于制定技术规划者的思维高度、视野广度、思考高度、信息密度,所以单纯掌握了技术规划的逻辑和方法,可能依旧是做不好技术规划的。