典型的开发国内小项目没失败的经验分享
2010-12-23 23:11 通用C#系统架构 阅读(6260) 评论(64) 编辑 收藏 举报我们分公司不大不小有100来号人,开发人员有几十个,也算在国内是不大不小的那种吧,公司有一个优点就是清一色用.NET开发,这也正好一些优点可以派上用处了,我比较讨厌弄Java就是一个字折腾死人,何必跟自己过不去呢,能简单就简单点吧。
先把公司的大背景讲好了,再讲讲一个典型的国内小项目开发,春节后我是正式入职公司的也算是公司的新员工之一,正好春节后公司进行了新一轮的招聘面试工作,其中的第一轮简历的抽选、第二轮的笔试等是我来把关的,老板负责面谈面试。
刚开始还不能准确掌握老板的口味,一般是喜欢找编程能力强的推荐给老板,后来慢慢的发现老板比较重视有正规的学历、什么大学毕业的,其实这也能理解的一般高中升大学就是一个全国性的相对公平的竞争,别人都已经选拔一次了,也要适当的借鉴比较好,省时高效一些。
来面试的开发人员中有一个小伙子已经工作一年了从笔试成绩来看水平也不错基础牢固,经过桑两轮面试顺利进入我们公司了,来到公司后工作表现也很不错,公司有一个国内小项目需要开发,这个项目技术由我来管理、业务需求由另外一个人管理。
相对来说开发工作进行得也算规范【有计划有目的】,老板把大致的工期等限制好,前期把需求都整理好形成了比较规范的文档说明,一般看看需求也能理解系统到底需要实现哪些功能,其次数据库也都进行了比较规范的设计,有比较完整的PowerDesigner做的数据库建模了。
这个项目一开始就为了防止人员变动等异常情况的发生,对整个项目的开发进行了一些必要的限制措施:
01。必须要有严格的数据库设计文档(盖大楼总需要有图纸吧)。
02。必须要用代码生成器生成代码(机器产生的代码相对规范一些没必要检查规范)。
03。数据库访问层必须要走火入魔系列中的数据库访问层(支持多数据库高效稳定规范)。
04。数据库设计必须参考走火入魔权限组件的数据库设计(最讨厌自己乱设计数据库,没一个章法套路)。
05。开发框架必须要用走火入魔系列中的快速B/S开发框架(规范,减少瞎折腾浪费时间)。
06。软件里的用户权限、菜单控制、角色管理等必须要用通用权限管理组件(省心省事直接有现成的减少瞎折腾浪费生命)。
07。数据库必须严格分开2个数据库,一个是业务数据库,一个是用户中心权限数据库(相对独立各管各的升级维护方便)。
08。网上支付功能,也直接参考吉日的网上购物系统的支付接口(不能总是重复浪费,直接拿过来参考)。
09。源码必须SVN版本管理器管理,多个人开发比较方便,方便进行代码检查等。
10。有专人进行测试验证,有QC系统。
就这样,靠一个程序员开发了3个月,一个小型的网上业务系统开发好了,功能还稳定,达到了预期效果,当项目接近尾声时发生了对公司来讲相对不愉快的事情,这个小伙子要跳槽了,要跳槽的他同学公司去,薪资可以接近*1.5倍;以我们公司的规矩这几乎是不可能的事情,那其他10个8个人都这个水平,甚至比他还厉害很多,那都这么加薪资啊?给他加薪了,给我加不加?大家都是人啊。
项目也开发好了,测试也通过了,新来的同事没多久就跳槽了,也算是我管理的好吧,就指望一个新毕业一年的人,3个月就把一个国内的小项目搞定了,现在人走了都半年也过去了,最近突然公司要开始给客户培训这个项目。
公司相关人员又进行了一轮测试,功能需求,改进意见;开发人员都跑了,其他同事事情又很忙,那没办法当初这个项目是我管理的,只能我亲自上马了不是,平时又不是没事情干,忙东忙西的,这个项目都彻底被抛弃在脑后了,公司突然又要改这个项目,说实话也真有些要人命。
还要当时把这个项目进行了一些有效的管理,开发人员跑了,但是留下的代码还是相对规范的,程序套路也清晰,我折腾了大半天基本上进入轨道了,晚上修改到10点多,大部分需要修正的功能也都修正好了,唉好在当时有英明的指挥,否则我自己下地狱了。
国内项目的几个典型都在这里体现出来了:
1:项目临时性比较大,突然要开发,突然要培训。
2:项目工期短,总共也就2-3个月的时间。
3:项目人员变动大,我是刚来的,开发人员也是刚来的,又没多久就跑路了,还好我还在没跑路,其他连个备胎也没的。
4:项目成员少,开发人员就一个,再加个领导是我,我还要瞎忙乎其他事情,不只是干这个。
若这个项目,不进行有效的管理控制,就全交给刚工作1年的小弟去开发了,别说3个月,6个月也开发不出来,然后还可能还是跑路了。就算公司的工资代价最低每个月3000元来算【事实上在杭州很少有这么低成本的公司了,我们公司跟本做不到控制到这么低,光房租成本可能远远高于这个】,6个月就18000元没了打水漂了,还有6个月的时间成本呢?这个不是简单能计算出来的。
其实真正做好一个国内项目的管理工作想当的不容易,大家都好像觉得做项目很容易一样,很不在乎一样,但是真正一做起来,很容疏忽。其中主要原因时同一时间不只是干这么一个事情,还有很多其他事情需要处理协调,若人人都能安心做一件事情,更有希望把这件事情彻底做好,例如我就只做权限设计一样的道理,需要静心做一个方向一个项目一个业务,但是事实往往是需要我们同时进行10个8个事情。
项目管理控制不好,很容易最后麻烦事情砸到项目主管的手里来,所以为了不给自己惹麻烦,还是一开始就管理控制好相当的重要,项目中每个可管控的节点都进行有效的管理很不容易,很容易疏漏掉一些细节或者重要环节。