项目进行到了第三个月了,上次和项目的一个做需求的同事聊天,他说这个项目需求比较新,全国刚开始有这样的项目。因为这个征收的条例是国家最新颁布的。我们就是按照这个条例做软件。所以遇到的问题都是新问题。这几天就因为前期需求没有把握好,导致现在重构代码了。基本上延误了快半个月的工期。对于公司来说,半个月的时间真的是很宝贵。从这次重构中,我也思考了一些关于项目管理,架构的问题。
一:项目架构设计的问题。
有时候我们做需求,总希望把需求做的特别详细,考虑的特别全面。设想用户这样系统怎么办,用户那样系统怎么办。搞的大家都在自己的假设中编码。这样出现一个问题就是“过度设计”。
有的时候很容易产生过度设计,想的太全面,真的是要把系统设计成一个能用几十年,能经受住巨大考验的系统。但是往往用户用到的真的是有限的一部分。而且往往你地设计会得不偿失,根本就实现不了。反而拖累系统的进度。
所以在设计的时候,个人觉得要抓住主线,先完成核心业务。其它细枝末节最后补齐。这样开发才有效率,才会高效。符合迭代的开发思想。
这样有两点好处:
1.客户通常在前期会验收一下项目,你快速开发的模型,很容易给客户一个好的印象。
2.我发现你前期无论多么周全的开发,最后往往都会被推翻,重新开发,你前期做的那些细枝末节,最浪费时间,也最容易被推翻。
二:项目管理人员分配。
通常一个项目会有两个经理,一个是负责需求和客户的,一个是负责管控开发和售前的。
这样做的好处就是需求的不用考虑代码问题。专心的和客户交流需求。管理开发的经理关心项目进度,去考虑客户提出的需求在这里怎么实现,是否能实现。这样就大大提高了项目的效率。管理也比较完善。
这些都是我的个人体会。