最近差不多一个半月,一直在做一个给国家部门上报业务数据的项目,感觉差不多半条命搭进去了,像一句广告语说的:感觉身体被掏空。
先大体介绍下项目:
1、把公司的历史数据根据规则保存到本地数据库。
2、然后将这些数据上跑指定的的规则脚本,
3、通过规则检查后,跑一个公司核心经营指标的脚本。
4、以上三步都完成后,将存量数据推送到国家部门。
5、存量数据推送成功后,将开启实时接口,将业务数据实时上报到国家部门。
以下为复盘问题
1、为什么项目会做这么累,到心力憔悴的地步。
可以分为资源管理上、业务梳理上两个方面进行复盘。
资源管理主要是团队的组建上,因为最复杂的业务主要涉及两个团队,我自己曾经负责过其中一个团队的业务,所以就想自己来负责其中一块,
从另外一个团队再补充一个就可以把团队组建起来。后来项目实在做不完了,就从我负责业务上再加入了一个同事进来。
犯的错误:我自己作为大团队的负责人,不应该把自己放到具体的项目执行中的一个底层具体流程中,这样会让自己深陷具体业务逻辑中,
从而失去了项目的大局观上,俗话说当局者迷。
应该怎么样:搭建一个大的团队,其他涉及到的业务,也都拉一个同事进到项目组,可以半个或者1/3个人力。我自己从总体上把握项目,和团队中各个同事对遇到的问题进行分析、讨论,推动问题的解决。也可以把自己1/3的时间投入到某个具体逻辑中,但是绝对不能独自负责,一定要定位为协助。
业务梳理上,主要接手这个需求后,对项目的分析、项目入手点,犯了一系列错误。
实际是怎么操作的:
拿到项目后,开始着手实时数据推送的技术方案上(第五步),忽略了对存量数据的取数及存量数据检查的脚本分析上。后来才发现项目的难点是对存量数据的获取及本地数据的check脚本理解上。
错误点一:没分析整个项目的前几个步骤,而上来就把重点放到第五步的实现上。
错误点二:,是自以为是的取数逻辑,并没有找其他同事一起过评审。这个数据恰恰是其他好几个数据的基础,底层数据的错误,导致了上层数据的错误,check脚本跑出来的数据差之千里。
应该怎么做:
一、仔细研究项目的整个过程,弄清楚各个过程中的细节,是要真的想明白了,而不是大概了解了。前期没想明白,后续如果因此带来大量的返工,那是得不偿失的
二、代码评审,代码评审,代码评审,所谓磨刀不误砍柴工。不要对自己有蜜汁自信!!!
最后再补充下不重要的一点想法。
其实项目紧,加班多这样的经历不是第一次了,为啥此次丢了半条命,以前没这种感觉呢,现在想想,可能最主要的原因:
1、项目价值太高
高到可能涉及到公司的合规备案,对于金融行业来说,拿不到备案那真是半条命没了。差不多算公司生死攸关的项目,这样的雷爆了顶不住的。
2、项目周期短。
项目前期不是我们团队负责,在其他团队停滞了半个月左右,影响了进度。
3、项目内容太过复杂。
项目涉及公司最核心的业务,而且涉及的都是很细节,很复杂的部分。在做的过程中一个不小心,就要重新来过。