不论是功能网站设计,还是基于B/S架构的MIS系统,都需要有一套合理的管理方案来保证项目的正常运转。去年为*部门做了一个基于B/S的MIS系统,项目不大,总共三人——数据库设计人员、程序开发人员(我)和一个测试人员,做完之后有两个体会:一是包揽网站的前后台设计使得自己要面临的问题很繁杂,二是给*部门做事效率太低,客户的支持不够。不管怎么样,项目总算是做完了,可以交付使用,但中间存在的问题只有我们自己知道,我们想解决问题,但不是我们开发人员说的算。中国这种项目多了,拿出来讲总有讨论不完的话题,并且没有什么意义,这里只想站在项目管理的角度,总结一下网站项目管理中的过程实践,在今后的项目中能做的更好一些。
网站界面
对于程序员来说,网站界面设计相对于后台程序设计并不那么起眼,因为按照我们的理解,客户需要的是能够使用的程序,这是基础,而不是漂亮的应用界面,如果两者能同时满足当然最好,但在我参与的那个项目中可没有这么好的“待遇”。在实际中,太花哨的界面的确很难得到用户的垂青,特别是专业的MIS系统更是如此,因此,在这个过程中如何讲程序的核心功能展现在用户面前是最关键的问题,而不仅仅是按钮工具条如何摆放,核心的模块确定之后,其他的功能和修饰就能很快决定出来。以后应用中,使用AJAX是一种增强用户体验的方法,也是当前的流行趋势,但一切还是以实用、简洁、易用为目的。说到这里,这一切还是必须要以完善的需求分析为基础,只有了解到用户需求的核心所在,才能将需求变为程序。
项目进度
把握好项目进度不是一件容易的事,首先要充分考虑环境因素,如自己的团队怎么样,更重要的是客户的支持与配合。*部门的项目如果得到领导的充分重视,并且有良好的工作流程和明确的业务关系,项目实施将会非常便利,像银行、电信等部门的项目就相对好做,因为他们的业务需求非常明确,银行的利率计算方法就是明确的,审批流程也是通用的,提取款方式也是规定好了的,后台规则都是不容许轻易改动的等等。但是其他大多数的项目中,开发人员就没有这么好的“待遇”了,一是业务规则经常会出现小的变动,二是有的环节领导还需要一定的“灵活性”,更难受的是,得不到领导的重视,这个项目做的过程难受,做完了以后可能根本不会用,这样虽然可以应付交差,但对开发人员来讲没什么意思,如果可以选择还不如不做。因此,这个环节最重要的是项目需求的精细程度、客户的支持程度和自身的开发实力,这样才能评估出一个较好的项目进度方案,并且项目进行过程中给予控制。
人力资源
可能在一些大公司情况会好一些,在我参与的这个项目中,自己要负责Web的前后台所有应用,从视图层到控制层到业务逻辑层,从更细的层面上说,数据持久化需要自己做,公共类需要自己开发,分页要自己设计,还有各种VO/BO,Action等等,更头痛的还要设计页面的编排,CSS控制,起初真的是折腾了我一阵子,现在想想对个人也是一个锻炼,但对于项目而言,应该有充分的人力资源来支撑项目的顺利进行。一般的小项目,需要需求定义人员一名,页面设计美工一名,业务程序开发一到两名,数据库设计人员一名,还需要一位测试人员,这样说的比较狭隘,但至少分工细一点对整个项目的正常运转是有好处的。
团队氛围
团队氛围直接影响团队所有成员的精神状态,只有大家精神状态良好,才能保证工作的积极性与上进心,主动与同事、项目经理沟通。在团队中,大家最开始就应该有一个共同的目标,这个目标的形成,需要项目经理在领导、客户和项目团队成员之间寻求最佳点,深入需求分析,争得大家一致同意后确定每个步骤环节的目标,包括美工、开发、测试、试运行等等。这样可以保证在项目进行过程中避免不必要的分歧和争论,影响项目质量和进度。闲暇之余,团队里的成员可以在一起运动一下,如打乒乓球、羽毛球等体育运动,或联机游戏,但个人觉得还是体育运动比较好。
项目文档
这两天已经看到几位老大对它的讨论了,如庄兄的《代码质量与文档质量》和Ghawk的《UP&XP之争,意义何在?》。我还不能站在一个高的角度上来评论这些,只是按照自己的一点点经验和思考来理解。其实对待项目文档,最简单的处理态度是适中,不要一味追求文档,但少了也肯定不行。文档是软件生命周期必不可少的东西,它的主要作用是规范统一的行为和风格,让大家有章可循,避免在开发过程中走弯路,并且文档要是可行的,这样可以降低项目的风险。当然,使用文档的目的是服务项目的,要能够为项目带来效益,所以没有必要一味的去要求书本中所提及的完整的文档,那样只会给自己带来时间的浪费和额外的成本,总之,适合项目的就是最好的。
其他要求
软件开发中,版本控制几乎是每个程序员都会碰到的,流行的习惯用CVS作为版本控制,在上传代码时需要注释以便查询。程序的代码需要符合统一的规范,每个程序员都有自己的代码风格,即使是有注释,也会给他人阅读带来不便,因此强制执行规范的代码风格是必要的,在我参与的网络MIS系统中没有这个问题,因为所有的开发代码由自己一个人完成,但是良好的代码结构仍然对自己今后阅读,及他人维护带来很多便利。最后是测试的重要性,优秀的测试人员能够给项目把住最后的一道关,保证项目的质量,有时候测试人员的作用是决定性的,测试过程中的疏漏往往会直接给项目组带来时间和经济上的损失。
本文转自Flyingis博客园博客,原文链接:http://www.cnblogs.com/flyingis/archive/2006/04/25/384903.html,如需转载请自行联系原作者