囧囧的年终奖-反思做了一年的项目遇到的问题

本文反思了项目执行过程中的问题,包括项目初期评估不足、技术风险忽略、业务复杂度低估、缺乏单元测试和团队沟通不足等。提出了针对性的应对策略,强调了详细分析、技术风险预判、明确需求、单元测试的重要性以及加强团队沟通和协作能力。
摘要由CSDN通过智能技术生成

今天真是好日子,发工资的日子,今天真不是好日子,下班的时候被告知,年终奖没了。今年部门的业绩据说还行,不过由于和香港、台湾一起计算后,利润就很低了,低到不足以发年终奖,我们一帮悲催的兄弟姐妹盼了一年的bonus, 居然是这样的结果。郁闷归郁闷,公司没钱,也没有办法,不过好好想一下,这一年多我们的项目的确做得不算好,现在回想很多地方都有改进的空间。

项目做了一年多了,到现在延时5个多月,严重超出预算,bug一大堆,改了几个月才慢慢稳定,代码混乱,现在都没人敢去重构,也没有时间允许我们重构,造成这样的后果有多方面的原因,现在总结一下,以为后者鉴之。

1. 项目初期对项目的复杂度估计不足,因为是将一个原有的系统使用新的技术和框架进行升级,所以理所当然的认为很简单;

        2. 忽略了技术风险,因为采用了SCA来架构,大家对SCA完全一无所知,maven, websphere对于大家来说也都没有什么经验,导致在SCA和websphere上花的时间太多;

        3. 业务复杂度被低估,虽然是升级系统,但是由于文档严重不足,原有代码经过二十多年的维护十分的混乱,没有人对需求完全了解,而客户也没有给我们足够的时间来了解这些业务,我们的PM认为有代码,所以也没有重视这方面的风险,结果很多人直接从老系统拷贝代码,甚至连老系统的逻辑都没有弄明白,拷过来如果能运行就一切OK,导致最后大家还是对业务不熟悉;

        4. 前期有要求大家写单元测试,并且使用sonar进行代码规范,但是由于项目进度催得太急,大家又没有写单元测试的经验,对单元测试的重要性也认识不足,所以最后没有坚持下来,现在的单元测试很不完整,有的完全是应付任务了事;

        5. 团队沟通太少,知识分享不足,团队工作效率不高。

针对以上问题,要如何应对呢? 

        1. 前期的分析一定要详细,特别对于我们这种中大型项目,如果信息不足,可以试着做一个小的原型。

        2. 如果引入了新的技术,且大部分团队成员对这种技术不熟悉,那么一定要想办法找一些熟悉的人来做一些指导,如果找不到这样的资源,那么团队成员一定要有一部分人提前学习这种技术,并且及时给出一些对该技术风险的判断,PM一定要及时和这些队员沟通。

        3. 绝对不能在需求不明确的情况下开发,像拷贝代码这样的事情,其实也是因为催进度催得太急,大家做出了妥协,现在想来这种妥协太致命了,一发而不可收拾,这应该要一开始就杜绝的,程序员一定要学会说NO,不能因为PM催就草率应付了事,一定要对自己的代码负责,做为team leader更要帮助队员顶住这种压力,并且与PM多做沟通,讲明历害关系,不能叫做什么都是Yes。由于需求不清楚,拷贝过来代码甚至不知道是做了什么事情,所以单元测试完全无从写起,由于时间紧,更有理由不写单元测试,最后的结果就是集成测试的时候bug一大堆,改一个bug又引出另一个bug,代码质量没有保证,没有单元测试又导致不敢重构,所以最后延时非常严重,一直不能发布最终版本。

        因此,team leader绝对要是能担当责任,自信,敢于说NO的人。单元测试一定要认真完成,不一定要测试驱动,但是每一个复杂的方法一定要有单元测试,能写出单元测试说明你完全明白你写的代码是做了什么,同时如果有问题通过单元测试也能较早的发现,后期的bug会少很多。重构的时候风险也小很多,每次重构完成跑一遍单元测试可以及时发现是否有影响到别的代码。

        4. 团队的沟通,协作能力很重要,team leader不能只是分配任务,督促任务完成,更要在平时多关心大家,经常在一起开些小会,了解大家的情况,经常和队员沟通,了解他们的情况 , 是否对公司有什么建议,或是有什么困难,及时的把这些反馈给PM或是更高层的领导。经常性组织一些培训,可以让大家轮流的分享技术或是业务知识,每周花一小部分时间,这样大家都一起提高。


今天想到了这些,记录下来,希望在以后的项目中能记得这些经验和教训,不能在犯同样的错误。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值