最近将会对今年所做的一些项目进行总结,里面基本都包含了一个项目所有的过程。一来为自己今年的年终总结提供些材料,其次也是希望在总结过程中能给自己带来些更多的启发和经验教训,同时也非常期望各位大牛能给些建议以及批评,让我获得更多的进步。谢谢。
上一篇博文大致总结了一个比较成功的项目,有成功那自然就有失败的项目。该项目至今让我依然痛苦不堪,甚至有些患上了手机恐惧症,一听到手机的来电声音,身体就开始颤抖,还是希望这个项目能早些有个了结吧,不然迟早出问题。
同样,先大致阐述下该项目的背景。该项目同样是某研究所的某产品的配套软件,不过客户方对这个项目估计也不是特别看重。今年年初时,客户方要求我们开始整理需求,并提出解决方案,客户方的接口人直接是主任(该主任本来是一把手,后来因为某些原因被降级成四把手了,但是还是主任)。这个项目一开始我们领导计划让一个部门经理L(注意:不是项目经理)与我同时负责,L经理负责人员管理,我负责技术方面和新人培训(没有办法,软件公司大部分都这样,过完年后几乎三分之一的人选择跳槽,C++开发人员我们公司更少)。L经理和我去客户主任那边去过两次后,发现需求还是很复杂的。当我开始准备培训教程和底层代码编写时,我们领导招进一个新员工宋X,8年工作经验。于是这新员工代替了我的角色,我被放到另外一个项目中。由于我也只去和这个主任交流过两次,所以这个项目我几乎也没有参与就退出了。
现在开始描述这个项目的开发过程吧。这个项目的主程序员是胡X,胡X跟我后面做过一个项目,毕业一年。去年年底就打算离职的,然后我花了很多口舌才劝说他留下。但是估计还是很想离职的那种。部门经理L又从他的部门下找了5个JAVA开发人员,加上胡X和宋X,连他共8人,一个C++开发团队就此搭建成功。顺便说下,宋X一直是做对日的项目外包工作,日语很好,但不会C++。
项目需求整理过程主要是L经理、宋X和胡X参与,每次都是他们三人去客户方,听取需求,整理需求等。结果不知为什么这个需求整理过程竟然持续了两个月,然后宋X离职了。这时L经理对此毫无反应,或许他觉得无所谓吧。需求大致整理完毕已经是4月初了,紧接着他安排胡X写基本架构。胡X花了半个月写了一个基本架构,然后另外5个JAVA开发人员开始进场开发。大概5月初的时候,我回到公司休整几天,这时胡X过来问我,为什么软件一启动CPU使用率会超过50%?这个我说我也不知道啊,代码拿过来给我看看吧。结果L经理尽然说这个项目是保密项目,代码不能外传,我可以去胡X的机器上看代码。后来也就没有去了。
5月中,胡X电话我,说他必须立即离职,不愿意多呆公司一天了。哎,既然如此,临走前,我请他吃了散伙饭,喝了两瓶啤酒后,对他说以后混的好,别忘了我。我被我的承诺至少陷在我们公司两年以上。
6月初,是这个项目的约定交付期。L经理给了一份纳品给客户方主任。客户方主任也很好说话,东西我们先收下,等我们产品研制成功后,开始联调你们的代码。于是L经理立即解散了开发团队,只留一个女程序员齐X对应一些变更,剩下4人全部离职。
7月,齐X对L经理说,她准备休产假,可能10月份开始休。L经理说,知道了。8月,客户产品研制成功,开始联调我们的软件,齐X对L经理说,我现在肚子不是很舒服,能不能让其他人代替我的工作。L经理不理,说很快就结束,让在坚持一段时间,8月底肯定结束。9月初齐X在申请说至少在加个人,客户变更太多,L经理说9月底肯定结束,在坚持下。于是9月底,齐X再也坚持不住了,可能是身体的确是坚持不了造成心里有些失衡,和客户狠狠的吵了一架,吵完后直接申请休产假,然后就再也不到公司了。人事部找她,她一把眼泪一把鼻涕的哭诉,结果人事部也拿她没辙,谁也不敢担这个责任。于是人就失联了。
客户自然觉得十分委屈,他们觉得自己是甲方,怎么还被乙方骂了一顿?于是客户方找到他们的一把手,他们一把手直接冻结了我们所有的合同流程。然后我们领导慌了,这个时候终于我们领导开始慌了。他特别惊讶怎么这个项目怎么还没有结束,就把L经理叫过来,问情况。L经理一直强调客观原因,于是领导火了。说我们今年与他们一共做了六个项目,其他项目都比你晚,怎么你们的还没有结束。于是我就悲剧了。领导要我去扫尾!!!
我对这个项目几乎一无所知,没有交接、没有文档、代码几乎没有注释,逻辑也比较混乱,大多数的if里面都至少嵌套了3个if。最夸张的是一个if里面有11个if/else语句。客户被骂的那个人也是个女的,于是我厚着脸皮去找她,真是爱理不理。代码我又看不懂,参与这个项目的所有人全部都走了,除了L经理。于是我为了想知道代码该怎么入手,买了不少水果,厚着脸皮跑到齐X的家里,号称是看望她,却背着电脑请教问题。
这个项目应该算是一个比较失败项目,因为这个项目的原因,造成了我们其他的项目合同全部中断,所以项目奖全部泡汤。我也是非常苦逼的栽到这个项目里面来,并且只有我一个人。本来我还打算着吃个火锅唱着歌到过年坐等项目奖、年终奖。结果只有眼泪了。
总结下项目失败的原因:
1)项目人员不稳定。项目从过完年开始立项,这个节点恰巧是软件公司人员流动最强的时刻,从项目开始到需求整理结束,参与需求整理最多的宋X离职,造成了需求把握不明确;5月中的胡X离职基本预示着这个项目基本就宣告失败了。虽然胡X的架构搭建的并不稳定,但是毕竟是他主要编程,出了问题他还能解决。6月,L经理直接解散了开发团队,并且让4个开发人员全部离职,同时齐X已经告诉他即将休产假。所以这个项目所有的参与人员全部流失。
2)需求把握不明确。客户当初已经明确表示该项目应该是分两期开发,第一期是基本版,能满足大部分他们历史经验的功能,第二期是结合实际产品联调。但是由于宋X的离职以及L经理不理事,所以全部都认为第一期开发完毕即可。但是客户根本不关心基本版,他们需要的是能在产品上联调成功,造成了我们的理解偏差。同时由于客户产品开发过程中也存在一些变更,我们的程序不能及时对应变更。变更把控的很差。
3)项目管理混乱。首先,L经理是部门经理,并非纯项目经理,他认为他的工作只是统计统计考勤信息就差不多了。同时项目开始前,基本没有对员工进行c++培训,直接找了几个java程序员。他甚至说过,java和c++语法几乎一致,随便写写就行。胡X之前只做个一个c++项目,开发经验还是有所欠缺,并且我们领导已经明确告知L经理,胡X很有可能在5月中旬离职。当5月初,项目刚开始进入编码阶段时,我打算看下代码时,却以保密性拒绝我的请求,这个让我还是比较伤心的。6月客户提出以后再提变更时,L经理直接解散项目团队,这个举动很让人惊诧。同时项目没有文档、没有测试、没有代码规范。
4)项目结尾和交接过程存在重大问题。当齐X在7月份明确提出9月底10月初休产假时,L经理竟然不以为然,甚至是不闻不问。直到齐X以这个极端的方式粗暴的处理她的项目结束工作,我还是觉得齐X并无太大错误。总不能让个女人挺个几个月的大肚子,每天要做1个多小时的车程,还有走30分钟,并且对着大量的辐射(辐射很大,全是雷达)的情况下坚持工作吧。直到客户方中断我们的合同流程,我们领导发火时,L经理还在抱怨齐X处理不妥,客户不好等等。这个项目没有任何交接过程,没有任何文档可读。就这样把我扔过去,我也伤心。这个项目的唯一交接过程就是我被逼的没有办法,拎上自己掏钱买的水果跑到齐X家,请她讲了一个小时,然后就被她婆婆给轰出来了,嘴里还碎碎的说道些什么。
5)客户方开始可能也不是特别重视这项目,直到他们领导开始关注,才开始认真起来。
这个项目还不知道持续到什么时候,希望能快些结束,然后我就可以围着火锅唱着歌到过年。然后写写总结,写写今年学习的新知识,想想怎么才能脱离这样的生活,或者找个新的方向或者机会。