需求从哪来?
  就我个人经验来说,软件项目的需求分析一般要分信息管理系统、网站频道,这两个不同方向的需求分析的获取需求的途径是截然不同。
  信息管理系统的用户确定,获取需求的途径明确,而且有现成的业务模式和业务流程,相关的信息表单、基础数据等都比较完善,这类项目的需求分析就直接可以从这个信息管理系统的直接用户那里在前期相对比较容易地获取到。
  网站项目或网站频道虽然有了比较明确的定位和目标客户,但这些都是未知数,我们在前期不可能花很多时间与网站将来的目标客户进行直接地沟通获取需求,更多的来源是策划人员、行业专家和自己或老板对这个行业的理解,模拟目标客户的期望值来获取需求。
  如何获取需求?
  前面说了软件项目一般来说就是信息管理系统和网站两个方面的需求,网站本身的特点就决定了它需求来源很难,而且很多需求不明确、不确定,而且多变,经常做出来后,挂到网上后感觉不爽,又马上对其进行更改和重新定位。这就需要做需求的一定要注意方法和技巧,而且自己要对所做网站的核心定位和目标客户有深刻的理解和了解。
  1、 多与老板和所做网站的行业专家沟通、交流。一般来说老板投资准备做一个网站,他本身肯定对网站将来的走向和目标有个清楚的定位,而且前期肯定做了很多的市场分析、目标客户分析及前景预测。但我们在与老板沟通的过程当中不被老板当时的雄心壮志和其描绘的宏伟蓝图给框住了,站在我们的角度一定要去向老板了解,要完成这个目标,我们网站到底要提供些什么功能,实现些什么东西,向目标客户提供哪些服务。比较说老板要做一个有特色的、行业内的专业博客频道,作为我们就需求想或向老板问清楚,准备通过什么东西或内容来突出我们的特色?行业到底有多大?怎么突出专业?这个博客只是一个频道呢还是要与其他频道或功能进行集成?用户能通过什么途径来写博客(比如说网站、手机、PDA等)等等像这样具体的东西。这里只是举个例子,作为需求分析人员来说要问的还要比这细、深的多。与老板的沟能和交流更多可能只会停留在目标和价值上,具体的、深入的需求还是要向行业专家进行咨询,比如说前面的几个问题有些老板可能回答不了,这些就需求行业专家解答,如行业中有没有小行业,这些小行业是怎么划分,他们都有些什么特色。因为这些信息都会直接影响到网站将来的功能和频道的表现形式和内容。
  2、 多收集和分析同行的网站。现在行业的网站很多,在着手进行一个新网站的时候一定要多分析他们的网站,包括他们的核心定位,实现核心定位的功能和频道;核的目标客户,他们怎么向这些核心客户提供有价值的服务;这些网站的特色在哪里,行业内还有哪些他们没做或没做好的等等方面去分析。在分析的过程当中最好用EXCEL按网站列出一些分析指标出来作横向的对比。比如说医疗类很多网站都有博客,针对一这块就可以列出一些分析指标出来:是用开源的还是自己开发的?写博客的核心群体主要有哪些?他们是怎么管理这些博客文章的等等。有些对行业内网站深入和仔细的分析后,也就可以结合老板及行业专家的需求和意见提炼出自己所要做网站的一部分需求及需求的细节。
  3、 多做表格和写文档。人的思维在很多时候是在表格的横向和纵向比较的时候打开的,特别是意见和同类需求有很多种不想法的时候,用表格表现出来是最直观而且最容易归纳总结的,比如上分析同行网站的时候就可用表格的形式作横向比较(前面我有篇文章就是我以前在做HIS系统时的一份需求文档中的一部分,大家可以参考参考)。好记心顶不过一个烂笔头,所以一定要有记笔记和写文档的习惯,这点对于经常作开发的人员来说可能是最头痛的事情。其实我个人认为写文档并不难,因为文档本身来说它只是用来交流和沟通的一种形式而已,作为应用型的文档对于文理、文采根本没有很高的要求,一份文档你只要把你所要表述的意思表达清楚就可以,没必要过多地去追求写作方面的一些技巧,哪怕你就是把口头语言用文档记录下来都可以。看我写的这些东西,文采和文理根本就谈不上啦,但意思一定要表达清楚.
  如何处理需求?
  通过以上方法和途径需求就会有个初步的书面资料和相关的市场和客户的分析,接下来就是这些需求怎么处理。一般从老板、行业专家和目标客户那里得到的需求都是很零散而且很专业的需求,作为需求分析人员就需要对这些需求进行疏理、归纳、汇总、综合形成一份初步的面向老板或行业专家能理解的文档(切记,暂时还不能转成软件开发的需求文档,因为这样以后你的老板或行业专家就不一定能看得懂啦.
  形成文档后,对这份文档进行初步的分析,包括需求评估、在你对行业理解下的需求发散、技术评估等工作;完成后接着就用相关的工具软件根据需求做出一个初步的界面原型,因为只有这样,老板或行业专家才知道他所提出的那些东西最终展现在网站的原来就是这样噢,这一步有很大的技巧在里面,如果你只是画一个很粗糙的界面原型与老板或行业专家去沟通他很有可能看不懂,因为这时你还没有把界面的内容和最终的界面表现出来,所以在做这个原型的时候就需求美工参与进来啦,尽量把这些原型界面弄的与将来网站表现出来的界面相似,而且还要把界面的内容充实,弄些有意义的数据(开发人员最大的毛病就是在做界面或做开发的时候的测试数据就是aaa,bbb,ccc)。
  可能有些人对于上面的这种做法有疑问,但我个人认为这个时候如果不做界面原型而放到后去做,很有可能你的某些页面要推倒重做,因为老板或行业专家所提出的需求只是意识形态上的一些东西,而他们很难会想到这些东西在你的整合会变成什么样子,可能在你弄完这份需求后脑子里面已经有了所有界面的全部原型和功能原型。