又一个项目结束了,接下来的任务就是下周去客户那里做培训了.严格说来我感觉这个项目里没有多少东西,技术含量也并不是很高,然而就是这样一个项目,我们一个项目组却劳累了四个多月,特别是前三个月每天晚上加班到10,周六还要加班一天,最后交付的日期比原计划还晚了一个多月.原因何在,现在回想起来感觉实在太多了.

        首先就是需求不明确.没有明确的需求是无法做项目的,犹如一个人做事如果没有任何目标地做那么很难成功一样,一个项目没有明确的需求是很难做好的.虽然前期专门派人进行了需求调研,但最终结果却没有形成正式文档,都存在PM一个人的脑子里,整个需求文档还不到10,可以说看那个文档对我的开发没有任何作用,只能写一个模块就先去问流程,然后实现,再看另外一个模块再去问流程再实现,浪费很多时间不说,很多有关联的东西刚开始开发时都不知道,到了后期要花费很多额外的时间来修改弥补.

        其次是前期准备不足.开发之前我们有一个多月的准备时间用来解决开发中需要的各种技术问题,虽然这一个多月时间里我们已经准备好了很多东东,比如工作流的实现,页面动态加载菜单的实现,收发公文的实现等等,但是这些还是明显不够的.在开发过程中还是遇到了一些困难,exchange收发邮件的接口实现,OA中用户权限的转让问题等,再次浪费了大量时间.

        另外没有统一编码规范,四个主要的程序员编码风格完全不同,其他人完成的模块我在查看或者修改甚至调用接口时都要看好半天代码,而我的代码他们同样也要看上半天,凡是涉及到模块调用或者修改的时候都要花上一些额外时间看其他人的代码.

        还有一点就是感觉公司的领导不利,本来项目在立项时是我们老大,公司开发部的总工程师负责,但是后来公司又给了老大另外一个很重要的项目,于是老大无奈之下放弃了这个项目的领导.而公司不得不将其转交给另外一个程序员来领导,他和我们这些人一样去年毕业进入公司,刚刚工作一年而且没有任何带队的经验.尽管这三个多月来他加班加的最多,工作最累,但是他把很多东西留给了自己来做,又要负责项目的管理,让他有些力不从心,还导致了其他一些程序员的不满.

        虽然存在着这些很严重的毛病,但是这个项目好歹是挺过来了,在这个项目里我们都学到了很多东西,包括技术方面的和非技术方面的,相信如果再做下一个项目大家事先肯定会有所准备,很多东西讨论好了再开始实现,那时就不会像现在这样了.

        另外我们这次项目中开始使用TD进行测试管理,尽管对这种测试工具刚开始有一些排斥的心里,但后来发现确实非常方便,开发后期每天只要到TD里看测试员提交的bug,可以很快到程序中定位,然后修改就可以了,不像以前那样从测试员那里拿到一个word文档,然后参照文档里的bug内容再到程序里找,非常麻烦,而且容易造成bug的遗漏.

        不管怎样,每一个项目都会给自己带来很多值得学习和思考的东西,随着经验的不断增加,我们会做的越来越好!