前言
闲来无事聊一下自己的教训吧,经验也是在教训中不断成长的。
技术方面
之前对硬件和网络缺乏基本的选型概念,以及对整个系统的整体和技术方案把握有所欠缺,导致整个系统架构从项目之始到系统部署完成一直处于变动之中,周期达5个月,版本不下几十版。
关于数据库方面,虽然对困难有所估计,也做过一些预研工作,但是对实施过程中的难度估计仍然有所不足。最典型的是安装了Oracle32位版本导致无法充分利用系统硬件资源,以及Oracle Stream数据同步过程中出现了若干的bug。
关于系统接口的处理,缺乏稳定性、健壮性、容错性,有待于系统设计的完善和技术人员水平的提高和总结。
业务方面
因为第一次从事该行业,对其中的数据库和业务缺乏了解,导致前期在系统需求汇报和与公司进行沟通寻求资源的时候,因为缺乏理论依据,结果导致沟通过程中发生了不少误会;这也是项目前期开展不顺利的一个原因。
与甲方进行沟通的时候,因为业务原因,完全依赖与相应的项目经理的沟通,自己则对各子系统细节缺乏深入了解,造成整体工作的被动。
团队方面
尽管有因人而异,因材施教之说,实际上不同的人在团队合作方面确实有不同的差别,尤其是项目的核心成员如果缺乏团队合作意识,对项目的进度和成本会造成延迟和增加,对项目团队建设和协作也会造成严重不良影响。
举例而言,某子系统,因人员原因,换了3拨需求调查人员,换了3拨项目经理,换了3拨开发人员;而集中在某项目经理上,更加典型,该项目经理做.Net开发出身,被公司派来做java项目,他的技术水平如何就不谈了;首先本系统准备采用Structs + Spring + iBatis的B/S架构,他非要自作主张使用Structs + Spring + Hibernate的B/S架构;缺乏与项目中的技术高手的交流,喜欢埋头苦干;缺乏与甲方的主动沟通,导致需求迟迟未定;他本人不熟悉java,却喜欢把java和.net进行比较,懂不懂就说java如何如何;比较喜欢钻研技术和追求完美的技术框架,而自己的能力却又无法达到,实际上到最后发现他的代码也不过如此,缺乏注释,代码缺乏分层控制;最重要的是对自己的团队成员缺乏理解和沟通,人的技术水平是无法实现突飞猛进的,懂不懂就拍桌子指责自己的团队成员,本来只有4个人的团队,结果被他赶走了5个人次,只有一个愿意跟他干活,人走了又去抱怨公司不给资源,确实在这方面公司有不少责任,但他自己何尝没有更大的责任呢?最后他先后撂挑子自己离开项目组3次,最后彻底走人了,我相信没几个人能受得了他的脾气。也许这个人很有钻研的精神,在充足的资源前提下能够做好产品,可是项目中更不需要缺乏团队精神的成员。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/6517/viewspace-613049/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/6517/viewspace-613049/