貌似那些做外包的都要非常詳細的需求文檔。這都是要多詳細才行啊。是不是要精細到每一個用戶點擊?
建议用 basecamp,trello,国内 fengche.co 这种工具来整理需求。需求落实到 checklist 的每一条。
所有你觉得有所谓的东西都应该写入需求文档里。
比如说登录功能,如果你不写的话,可能会做成「用户名密码登录」或者「邮箱密码登录」或者「新浪微博登录」或者「谷歌账号登录」等等。如果你想具体要求,那就必须写明,「我需要邮箱密码登录和新浪微博登录」,这样子。
界面也是。功能也是。凡是你觉得有所谓的东西,都要写进需求里。
之前看日本工作外包出来的需求分析,连界面上每个按钮和输入框的位置大小都会定好,示意图画好,然后分析每一个组件的操作。
画图推荐 mybalsamiq.com,现在没机会用它,有点怀念了。
前阵子刚刚做过类似的项目,分享下心得:
我们手头上是有一份客户给出的需求文档的,但是文档中只是给出了页面上需要的功能和需要展示的元素,对于交互的要求是没有写出来的,部分功能没有 mockup;由于我们的工作除了编码还包括为客户做页面设计,所以我们会先就文档和设计师交流,重新整理出一份带有设计图的文档供内部使用;
我们做的是手机端的单页应用,集成微信公众号。根据新的文档我们将功能分解到 一个工程师在一天能够完成 的大小,然后放到项目管理工具里面(我们用PivotalTracker)。文档和图片我们共享在 Dropbox 上。
一个工程师在一天能够完成
在每个具体的需求卡片上我们不会写的很细,但设计师出图都会把页面上所有元素的位置精确到 px,颜色也是要准确标记出来的;
@liwei78 推荐的balsamiq很好用,特别是对于我们这种又要管管进度,又要画线框草图的程序猿;至于页面交互,设计师们会用Pixate 来给出交互
由于项目的推进,客户的需求开始变得具体(同时也增加了很多意料外的工作量),所以我们最后会将实际产品中完成的(但没有列在原来需求中的)功能点重新做一份清单,以便后期争取权益之用。
照這樣的說法,感覺寫一份項目要求的時間和程序開發的時間相當啊。
回头拍了张公司的墙…