迅速把握需求要点?

摘要:在项目的初期,往往通过一次简单的交流、若干原始资料,需要我们能迅速把握系统的整体需求,并明确其中的要点。如何能够有效地做到这一点呢?我通常会使用记事本,做一个包含要点的笔记,这份笔记的内容如下:


名称:×××系统
如:网上书店系统

客户:×××(名称),×××(主要负责人),×××(联系方式)
如:新媒体,李四,13888888888 , lisi@gmail.com

项目目标

开发一个××应用系统,以使客户能够×××。
注:尽量简洁、使用一句话来描述:,如:开发一个电子商务网站,以使客户能够在网上进行售书。

客户希望在××之前能够实现××等功能。
注:尽量简洁的词语描述客户在短期内最希望实现的功能,如:客户希望在一个月内能提供书籍上传和管理,并可进行书籍浏览、查询功能。
这其实相当于描述一个短期目标。确定短期目标的目的是能让我们迅速抓住最核心、最紧迫的需求,避免把前期最宝贵的资源浪费掉。

客户希望能够在××之内,最终实现××等功能。
:简洁描述最终的整体期望,如:客户希望在四个月内能实现一个可管理100万册图书、日访问量过百万、简洁易用的售书网站。
这是描述系统最终的Vision. 确定大方向和准则。

项目角色

  1. ××角色:来自×××的用户,通过系统完成××任务,×××。

    如:网站访问者,来自外部Internet的用户,通过系统完成图书浏览、查询任务;注册后成为会员。角色一般分为客户角色(使用系统的最终用户)和内部角色(系统本身管理、配置的维护角色)。来自××一句通常能说明该角色究竟是最终用户还是内部角色。一般情况,最终用户角色的需求优先级往往高于内部角色的功能需求(因为客户方更能看到价值)

  2. ××角色:来自×××的用户,通过系统完成××任务,×××。

    如:会员角色,来自外部Internet的用户,通过注册后成为会员,通过系统完成收藏图书、预览图书章节、购买图书。

  3. ××角色:来自×××的用户,通过系统完成××任务,×××。

    如:系统管理员角色,来自客户内部的用户,通过系统完成书籍、会员管理、系统配置和维护。

  4. …….

功能要点

注:一般我认为只需要列出前面所描述短期目标的要点,仅在必要情况下对长期目标作部分要点详述。描述的方式我觉得用户场景(User Scenarios)或用户故事(User Story)比较好。(如果必要,可用Word写该文档,对这些场景或故事配搭上一些界面框架草图,就更容易让所有成员看过一眼后就留下较深刻的印象)

<!--[if !supportLists]--><!--[endif]-->

  1. ××(角色)进行××(操作),以××(目的)。

    注:其实就是Who,What,Why三个要素,有时还会加上When,Where要素。
    如:网站访问者打开网页,可查看一个最新十本书、热卖的十本书的书籍列表,并可通过该界面上的搜索功能搜索、查找书籍。
    再如:系统管理员角色通过“管理员登录”页面进入系统,查看已有书籍列表,并可对书籍按照时间、出版社、作者、价格、售出数量、在库数量等排序,也可以按照这些字段查找、筛选书籍。并能够方便快捷地添加新图书。
    每当月末时,系统管理员需要统计本月书籍销售情况,生成统计报表,邮件发送给销售经理和总经理。

  2. …….

其他说明事项

注:这里说明与项目背景相关的,需要大家重点注意的一些事项。
如:1)之前该客户曾经请××公司开发过一个原型,但因为不太满意所以改选择我们,我们会尽量获取已有的资料以帮助我们进行分析。。。;
2)客户对网站的性能和压力测试很重视,并要求观察和跟踪我们测试的过程。.


我感觉这种方式工作量小、简洁、易于记忆、易于在团队中共享(团队中的成员可通过阅读或交流这份要点笔记,迅速明确、记住系统概况和需求要点)。不知是否对你有点帮助呢?

Contributors: FHL