每个团队都应该有短期、中期、长期的规划,有计划的做事情才不会迷失方向。
如何才能做好技术规划呢?我们需要先沉淀一套方法论作为指导,基于方法论深入的思考得出最终的目标和方向。
1、分治法
我们需要学会把复杂的问题拆解成每个细小的问题,参考阿里大牛的方法论,把技术规划拆解成图1中的4个层次来看:
当前问题
每个团队在不同的阶段都会遇到不同的问题,有紧急的、有不紧急的。找出痛点,坑点,比如已经严重影响研发效率的一定是需要立马解决的,而且可以快速解决的,经常表现有:
1)代码混乱规范不清晰,每个人一个代码风格,代码质量差,团队协作会很受影响,必须立马解决;
2)线上频繁出现一些小问题,很多都是大意或者太过于自信导致的,这时候必须要借助一套代码审查机制,还有自动化机制了,小问题积累多了迟早会成为大问题。
3)业务跑的太快,当前的架构已经严重无法满足业务发展的速度,比如写活动的同学,如果没有一套无代码平台,会被运营无穷无尽的活动给拖死,每天不眠不休都不一定做的完;
技术领域
这是一个长期沉淀并且不断演进的过程,每个技术团队都应该有自己的一套提升研发效率,保证生产环境稳定性的基础设施,需要能够长期满足业务和团队发展的的需要,好的基础设施一定是能够解决研发效率的同时,又能满足业务的拓宽。比如基础的脚手架、性能监控、自动化测试等等,这些都属于工程化,抽象思维的范畴。
业务领域
这个需要不断和业务方碰撞,特别是制定目标的时候,要真正了解业务方诉求是什么,需要技术未来如何做支撑,我的做法就是和同级或者同级的上级去多做沟通,技术和业务的目标是一致的,任何技术规划都是为了解决业务的完美落地而做的,脱离业务的技术架构就是耍流氓,需要根据业务的特点去做规划,提前做好布局,先做好支撑,然后做赋能。
团队的特色
这个是最难的一个,很多团队能够很好的做好业务的支撑和赋能,但是如何才能把团队的影响力拓宽到公司,甚至整个行业,目前很多团队都是空白的,这就非常考验团队管理者的格局和远见了。
2、SMART原则
通过分治法先将问题的复杂度降低,然后根据每个层次得出未来的目标和规划,这个需要尊从SMART原则来制定:
S:Specific,指标一定是具体明确的;
M:Measurable,指标一定是可衡量的;
A:Attainable, 指标一定是可达成的;
R:Relevant,指标和目标是有相关性的;
T:Time bound,一定要有明确的截止期限;