版权所有:(xiaodaoxiaodao)蓝小刀    xiaodaoxiaodao@gmail.com

http://www.blogjava.net/xiaodaoxiaodao/archive/2008/01/08/173778.html       

转载请注明来源/作者

 

如何开展一个项目

 

做需求其实不是想象中那么容易,在和客户交流前首先要弄明白项目的背景,比如为什么需要这个项目,是为了日常办公的方便还是政府的门面工程;项目有哪些人使用,是企业内部人员还是一些终端用户;项目有没有针对性,比如是针对国内用户还是国外用户,等等。这些问题在很大程度上会影响到后来的设计,比如 UI 界面是简单朴素呢还是时尚华丽, DEV 是需要开发一个后台还是两个后台,服务器是使用国内的还是国外的,传输是否需要压缩等等,把这些背景先搞清楚了,才可以继续和客户谈项目的业务需求。

 

很多时候客户根本不知道自己想要什么,这就需要和客户不断的沟通,直到可以把客户想要的清楚的用文字描述出来。要把需求很透彻的理解,在需求调研的过程中,可能要和好几个客户进行沟通,比如做一个学校的信息管理系统,可能就需要和不同的科室负责人或者具体倒某个使用者去交流。一方面我们需要尽可能多的获取信息并转化为文字,另一方面也要及时的引导客户来把他想要的东西说明白,不管哪一方面,我觉得最关键的是要学会引导需求向正确的方向发展,不能被客户牵着鼻子走。

 

尽可能满足客户的要求,不是说要以客户为中心,而是要善于分清楚主次,哪种效果能够实现,哪种功能开发存在风险,这就要及时和同事沟通,从 UI/DEV/QA 和各种渠道来分析实现的可行性,不但要考虑当前是不是能够满足客户这样那样的需求,同时也要考虑将来可能出现的维护问题和扩展性。需求分析是一个不断总结客户需求——反馈修改——再总结的过程,一般情况下,我们要先明白客户的大体需求,然后划分为一些可以大致的功能点,在每个功能点的基础再一步步细化。在这个逐渐的过程中,最终会形成一份需求分析的说明文档,要保证这份需求文档可以顺利的实施,必须保证这份文档是经过客户和相关开发人员确认的。

 

需求文档确认后,首先就是要制定一个大致的计划,一个项目要顺利完成,最重要的是把时间控制好,就像做需求的时候也是先拿一个大体的需求,知道客户需要哪些功能,然后总结为很多功能块,再逐步去细化,项目一旦开始,就要制定相应的时间进度,比如各个过程的分工,如 UI/DEV/QA ,每个阶段都要评估一个合理的时间,对于可以同步进行的工作,比如 UI 可以先开始界面的设计制作,同时 DEV 可以进行一些结构功能的后台设计,这样进度上可以尽可能的做到高效率。

 

时间计划不仅仅关系到项目如何展开,也关系到工作量的多少,最终项目的报价要以工作量为基础,所以一份合理的时间计划是必须的,在时间的安排上,要注意不仅要忖度 UI/DEV/QA 等实际所需要的时间,同时为了减少项目延期的可能性,必须留一个缓冲时间在其中。很多时候在实施中会遇到需求变更问题,或者由于前期调研的不准确导致项目开发工作量增加,所以一个合理的缓冲时间,能够尽可能的避免项目延期的风险。

 

在项目开展过程中,要注意及时和项目开发人员进行沟通,对于小型的开发周期比较短如一两个月的项目,最好的方式是每隔三五天开一次项目会议,进行一次项目总结,一方面可以把握整个项目的进度,使项目开发人员彼此之间能够了解对方在做什么,可以及时的根据进度分析和合理分配人力和其他资源,以便保证项目不会延期,另一方面也可以把了解开发中遇到的一些问题,对于可以解决的可以讨论解决,对于无法解决的要及时和客户进行沟通,讨论合适的替代方案。每次会议最好以文档的形式保存下来,便于以后查阅。

 

 

版权所有:(xiaodaoxiaodao)蓝小刀    xiaodaoxiaodao@gmail.com