开发新项目与维护老项目,哪个项目奖更多?

158 阅读3分钟

引言

为啥他们项目组有项目奖,而我们组的没有?

--因为他们今年落地了个新项目啊。

为啥他们组每天965,而我们组996?

--因为他们是维护老项目啊,每天也没啥bug,到点就走。

年后一波项目奖发下来后,这可能是打工人心中想要问的问题。

那今天我们就从新老项目的角度上,谈谈我的理解。

开发新项目

优点

  • **会让自己有成就感。**这是一个从0到1的过程,上线成功之后,以后可以理直气壮的说,这个程序(坑)是我写(埋)的。

  • **会让自己有更大的发挥空间。**代码都是自己写的,不存在接手的情况,可以按照自己的风格书写。同时可以作为学以致用的练习战场,用实践去检验真理。

  • **会让自己在公司有立足之地。**能够对自己负责的模块很清楚,能够成为公司里面最懂这部分的人,能够彰显自己在公司的价值,这通常可以作为在公司的立足之本和锦上之花。

缺点

  • **前期会面临频繁返工。**由于第一版需求变动频繁,昨天写的代码,今天可能就得推倒重来。这样的返工往往会消磨一个人的积极性。

  • **中期会面临集中高强度攻关。**通常会遇到项目需要抢进度抢市场的情况,也就是项目要卡在某个时间节点前完成某些功能,总是得先上线再说,总是得先抢占时机再说。敏捷开发下会sprint,这对人的身心都是一次挑战。

  • **后期会留下一些坑。**1.0版本往往质量不够过硬,毕竟时间紧,任务重。

维护老项目

优点

  • **会有更多设计的时间。**已经运行的项目首先考虑的是维稳,不用为了实现某个功能而那么慌乱。
  • **会更全面地看待手里项目。**向上延伸:需求解决的痛点是啥?如何够利用现有功能去满足它?水平延伸:除了实现功能之外,它的兼容性,稳定性,容错性,吞吐量又如何?向下延伸:上线过程还有哪些需要优化的?后期的扩展性如何?
  • **会有机会阅读学习大佬的代码。**如果让你重新去设计这样的系统,你能设计的比它原来更好么?不妨取其精华。

缺点

  • **前期接手难度大。**项目经手的人多,想弄清整个逻辑链路难度大。和你一起接手老项目的人可能和你都是同样的状态,大家都是一头雾水。

  • **重构有风险,修改需谨慎。**代码都是接手的,有些旧的的代码不敢改,因为这些可能会牵涉到其他未知的更改,这些未知的更改会带来一定风险。

  • **存在感不一定高。**经常维护老项目,会让人误认为没有新的进展。

总结

以上的分析并不绝对。新老项目之间的界限可能也没那么明晰。

在维护老项目的过程中也可能会新做一些小工具和小项目,比如某个工具类,或者是离线数据处理的job。

在开发新项目的过程中也可能会复用之前老项目的框架和结构,比如某些处理流程。

项目奖金和项目的盈利情况相关性很强,**能让公司赚钱的项目,年终奖才有可能会更高。**说到底,项目最后还是得对接用户,对接市场。软件开发只是整个商业模式流程的其中的某一环节。与其纠结新老项目,不如多思考自己在整个流程里的价值,多向核心项目靠拢。

至于项目奖金如何优雅分配,留在下次再说吧。