攻坚性项目,遇到的同学不一定很多,但一旦遇到都会是很棘手的问题,一般都伴随着巨大的压力,往往有种不成功便成仁的悲壮。
1
前几天,星球里也有同学分享了一个类似的项目,其中遇到了类似的问题。
我想起2017年的时候,自己也做过一个类似的项目,是一个对外的大数据分析系统,那个项目对于我来说,也算是个攻坚性项目了。
在此之前,我做过存储系统,当时接手这个项目的时候,以为自己可以很容易搞定,存储嘛,总有很多东西相同的,但后来才发现事情比自己想象的要复杂的多。
因为不单需要考虑存储选型,考虑SQL解析,数据计算,数据可视化,查询交互转SQL语句等事情,还要考虑上报链路的稳定性,可靠性等,其实是个很复杂的系统。
当时我们的团队里面没人有相关的经验,我leader 也以为我本身做过存储,应该不是很大的问题。对于这个系统的期待也比较高,对时间周期,项目质量都有一定的要求,我当时也傻,就这么接了下来。
然后我花了一周多时间去做调研,才发现实际情况比我预想的要复杂的多。这个时候,我开始意识到,如果按着原计划走,一定会挂,一定完成不了任务。
所以我就在思索怎么去做这个事情。我意识到,这个项目本身的复杂度要远远高过原先的预估,远远高过我的判断和我leader 的判断。
我自己由于进行了调研,已经意识到系统的复杂性,但我的leader 没有意识到,并且他坚信这个事情不是很复杂,按他的说法,如果我搞不定,他就准备找其他人搞。
这对于我而言,是很棘手的事情。如果我直接跑过去跟leader说这个很难 ,要更多的时间和更多的人力,势必引起争执,而且当时的我也没有很好的办法可以证明这个系统会有多复杂,只是从直觉来判断,比预想要复杂的多。
我只能按原计划正常地推进这个事情,拉上我团队的同学一起进行系统调研和系统选型。
我很关注实际遇到的困难和对应的解决方案。每当有新的进展或新的困难出现的时候,我都会第一时间找到我的leader, 跟他汇报目前的进展和遇到的困难,并且详细描述问题是什么,我们准备的解决方案是什么。
说实话,当时对于不少的难点,我们心里也没底。比如当时做系统选型,有不少的开源系统,各有优劣,而由于产品本身没有上线,我们对未来的需求也不能够准确把握,纠结于不知道应该选择哪个系统,才可以保证扩展性和性能等指标。
这个过程中,我不断地跟我 leader 沟通。当然不是跑过去跟他说 “老大,我们遇到这个困难了,不知道怎么解决,你看看怎么办?” 如果是这样,估计他很快就换人了,他会觉得你是一个问题制造者,不是解决问题的人。
我的做法是跟他汇报目前的进展,遇到的问题,并且详细描述问题的细节,最后给我们的解决方案。有时候没有解决方案,就给出后续执行的一些想法,比如说找某某某专家请教,比如说去哪里找哪些资料来佐证各种猜想等。
在这个过程中,我leader 也真实地感觉到了这里的困难和实际系统的复杂性,他自己的预期也在不断的调整。
最后,虽然我们的项目没有取得预想的成功,但我们那次的考核还是不错的,而且还给我leader 留下了不错的印象。他觉得我的技术能力还不错,能在一个陌生的领域一步步地探索,一步步地给出解决方案。
2
后来我去总结这个项目,我发现这类项目,需要关注两个方面:一个是项目本身,一个是人。
一般性项目,大家都很熟悉,给出的时间预估,人力预估,困难度预估都是比较准确的,只要定期地汇报项目进展就行。
但攻坚性项目就不一样了。即然是攻坚性项目,那肯定是团队不熟悉的领域,团队里面肯定也没有擅长这方面的专家,要不就不需要攻坚了。
这个时候,大家对于系统,对于项目的预估大概率是不准确的。技术人员都会过于自信于自身的能力,对一个陌生的方向,总是会过于轻率地给出自己的预估,觉得没有那么难,就像现在很多同学看待机器学习这个领域一样。
这个时候,人就是特别关键地一环了,特别是你的上级或者是关注这个项目的其它领导,一定要及时地控制好他们的预期,要及时地调整好他们的预期。
攻坚性项目,作为项目执行人的你,肯定也是边走边看的。
你没办法一开始就给出一个完整的项目路径,完整的项目预估。
自己的认识和对系统的预估也是随时在发生变化,随时在调整的,所以你也要随时地跟项目相关人同步进展,同步遇到的困难,并且学会控制他们的预期,降低他们的预期。
实际汇报地时候,不要做抱怨者,也不要做问题制造者,没有人会喜欢的。
我觉得比较好的汇报方式是: 当前的进展,遇到的困难,对于困难的解决方案或自己的想法,需要给予的资源支持等。
你要成为发现问题并解决问题的人,而不是发现问题,制造问题的人。
大家如果有遇到类似的攻坚性项目,记得一定不要闷头苦干,一定要保持跟项目相关人,特别是自己leader的沟通。
工作的结果其实有两部分:一个是实际的产出,一个是考核的结果。说句政治不正确的话,项目产出是属于公司的,考核才是你自己的,所以大家要特别关注这个问题。
以上是自己的一个项目经历,给大家描述了当时的一些情况,也给大家分享了那个项目给我的启发和收获,希望能给大家带来一些帮助。