《互联网产品设计文档类型及撰写要点》由会员分享,可在线阅读,更多相关《互联网产品设计文档类型及撰写要点(6页珍藏版)》请在金锄头文库上搜索。
1、互联网产品设计文档类型及撰写要点一般互联网产品设计文档类型包括了:BRD、MRD、PRD和FSDBRD:BusinessRequirementsDocument,商业需求文档。这是产品声明周期中最早的问的文档,再早就应该是脑中的构思了,其内容涉及市场分析,销售策略,盈利预测等,通常是和老大们过的ppt,所以也就比较短小精炼,没有产品细节。MRD:MarketRequirementsDocument,市场需求文档。获得老大的认同后,产品进入实施,需要先出MRD,具体来说要有更细致的市场与竞争对手分析,通过哪些功能来实现商业目的,功能/非功能需求分哪几块,功能的优先级等等。实际工作中,这个阶段PM
2、可能的产出物有MindManager的思维图,Excel的FeatureList等。PRD:ProductRequirementsDocument,产品需求文档。进步一细化,这部分是PD写得最多的内容,也就是传统意义上的需求分析,我们这里主要指UC(usecase)文档。主要内容有,功能使用的具体描述(每个UC一般有用例简述、行为者、前置条件、后置条件、UI描述、流程/子流程/分支流程,等几大块),Visio做的功能点业务流程,界面的说明,demo等。Demo方面,可能用dreamweaver、ps甚至画图板简单画一下,有时候也会有UI/UE支持,出高保真的demo,开发将来可以直接用的那种。
3、FSD:FunctionalSpecificationsDocument,功能详细说明。有一点像“概要设计”,这步就开始往开发衔接了,产品UI、业务逻辑的细节都要确定,细化文档并保持更新。相应的,有很多内容,比如表结构设计,要由项目经理来编写了。1.MRD的撰写技巧MRD-“市场需求文档”,是产品经理或者产品市场经理编写的一个产品的说明需求的文档。这些文档用于计划一个新产品或修正一个已有的产品,是被工程师团队开发产品时使用。在硅谷的一些软件公司,MRD仅仅覆盖high-level的功能。在这种情况下,产品经理通过创建了另一个文档-通常指的是PRD(产品需求文档)来定义更加详细的产品需求。在本文
4、中,我用术语“MRD”泛指所有那些由产品管理和/或产品市场团队创建的,为工程师团队传达产品需求为目的的文档。如何才能撰写出高质量的MRD文档,可以参考以下10个技术要点:1.1从用户角度的编写从用户角度编写需求内容。使用“用例(UseCase)”和“用户角色(UserPersonas)”来达到这个。考虑用以下两种方法来详细说明你们公司正在开发的SFA(salesforceautomation)软件的“Login”的功能性。方法A:用户通过一个要求用户提供证书的登陆界面,然后软件允许用户带着特定的权限进入系统。软件鉴别这些证书,在鉴定通过的基础上允许用户访问那些他们有权限访问软件的功能部件。方法
5、B:Mike是一个销售经理,Cathy是一个销售代表。当他们打开软件,他们看到登陆界面。他们通过用户名和密码进入系统。如果用户名和密码是正确的,他们能登进系统。一旦登陆进系统,Mike能访问软件所有的功能部件。Cathy只能访问那些对销售代表有有效的功能部件。哪个方法更加容易阅读和理解?就我的看法,毫无疑问,方法B。还有,它同时减少了令人烦恼的阅读!1.2 使用ScreenShots使用ScreenShots或者mockup来你的想法。我们中很多人都听说过“一张图片好比一千个文字”。当提到写MRD的时候,一个screenshot好比一千个文字!举个例子,看看下面这个screenshot,你需要
6、多少字来描述?我想可能不只一千个字。1.3 用简单的语言编写在我超过11年的行业中,我通常注意到的(更多是令我懊恼)一件事是用很做作的语言来写的MRD。我想这个主要是因为MRD听起来是正式的和专业的原因吧。相反,想象你写的MRD是写给你的在工程师团队工作的朋友。你的目标是帮助他理解你需要什么,以便于他能开发产品实现这些需要。这个将有助于你避开陷入那些令读者人厌烦(有时他们会把MRD撕碎然后再碎片喂给碎纸机)的用做作的语言的陷阱。还有:a)保持简短的语句,把长的语句分解成多个小的语句。b)避免大篇幅的连续文本,把他们分解成多个小的章节。c)把大块文本内容分解成,screenshots,表格、重点
7、列表等等。1.4 小心的使用模板我发现MRD模板非常有用。他们的几个好处包括:a)模板提供了一个标准的格式,使那些不得不阅读大量MRD的读者更加容易阅读。b)模板让新的产品经理快速的写MRD变得容易,因为公司与公司之间的MRD内容是不同的。c)模板确保你不会忘记所有需要在MRD中覆盖描述的部分;然而,一些公司过分的使用模板。一个硅谷最大的公司之一有一个所有部分被强制使用的近60页的模板。我觉得这个让人觉得非常难以忍受并且有几个负面的作用:a)产品经理害怕但又不得不写MRD-几乎和不得不和DickCheney去南德克萨斯打猎一样(译者按:美国副总统DickCheney在南德克萨斯打猎时意外的打伤
8、了和自己一起去的打猎伙伴)。b)工程师团队害怕但又不得不阅读MRD。c)写MRD和读MRD都需要花大量的时间。我推荐你使用MRD模板,但确保他们不要过分的长。还有如果需要,确信产品经理可以灵活的跳过模板某些部分和创建新的内容。1.5 区分需求的优先级在这些年里,我从来没有碰到一个工程师团队实现了MRD里包括的所有特性的没有删减的项目-通常由于那些我们控制之外因素!这就是说作为MRD作者的产品经理,当出现需要决定取舍的时候,应该提供一个办帮助让他们决定那些特性要实现那些可以推迟。区分需求的优先级是一个最好的能帮助完成这个事情的办法。我发现把需求分等级就像Pl,P2,P3.这样工作的刚刚好。在这个
9、分类中-P1是最高优先级,P2是第二高优先级等等.最好的决定一个已经明确的需求的优先级方法这个需求实现后的好处-包括你的客户和你的公司。在实际实践中,最好是和其他多种因素一起综合决定。我推荐你只要包括Pl,P2,P3的需求在你的MRD中,在多数的项目中更低的优先级可能未必会实现。还有这样也让MRD变得更加容易读。1.6 说明是什么和为什么,但不要如何产品经理为理解客户的需求负责,然后基于这些理解定义什么和为什么需要开发.有一件比任何事情让开发者发疯就像在几英里外都能听到的汽笛在他们耳边尖叫一样的是一个令人痛苦的详细描述了怎样实现每一个需求细节的MRD。考虑你们公司正在开发的以下两种描述CRM“
10、Login”功能的方法。推荐-描述“是什么”Mike是一个销售经理,当他打开我们的CRM软件,他会看到一个登陆界面登陆界面建议提供“记住我”复选框。如果Mike在点击登陆按钮之前选择了该复选框,我们的软件将记住并且在他下次来到登陆界面时自动填写他的名字。不推荐-描述“怎么样”Mike是一个销售经理,当他打开我们的CRM软件,他会看到一个登陆界面登陆界面建议提供“记住我”复选框。如果Mike在点击登陆按钮之前选择了该复选框-将通过Javascript保存他的名字以cookie的方式写到他的硬盘。当cookie写到硬盘后,用户名和密码将被发送到服务器。下一次Mike来到登陆界面时,Javascri
11、pt将读取他的cookie,成功读取后,Javascript将是适当的DOM命令填充登陆页面上的用户名。好的产品经理擅长理解用户的需求和描述什么需要实现,好的工程师擅长决定怎么样实现它。好的工程师希望能自由的决定怎么样最好的实现用户希望得到的东西。我注意到有技术背景的产品经理尤其喜欢描述“如何实现”。如果这些描述的就是你,应该从现在开始不要再做这样的事了。工程师们将会感谢你。附:这里有一些例外的情况-当在描述“是什么”中描述“怎么样”是必要的,当描述“是什么”的最好的方式和/或唯一的方式就是描述“怎么样”的情况。1.7 覆盖非功能性需求尽管功能性需求描述产品的功能,非功能性需求描述系统特性,如
12、:a)性能b)可伸缩性c)可用性d)国际化e)等等我注意到因为许多产品经理和产品市场人员认为这些是“技术细节”,而在MRD中被忽略。我发现这些是我的MRD中非常重要的一部分,工程师们会非常感激在MRD中定义这些需求。要点:当写非功能性需求的时候,尽可能的是使他们可度量(可测试)。否则,QA不能测试它们,你将没有办法知道完成的产品是否已经实现了这些非功能性需求。1.8 评审&修正我有一个朋友-我们叫他Matt(他的真名叫Steve)。Matt在硅谷一家成功的公司做产品经理工作。最近我在午餐的时候碰到他是告诉我一个非常有趣的故事。他们雇用了一个有三年经验的产品经理。在他被雇用的几个月里,不知何故他
13、让他的产品经理同事和工程师一样疏远他。他是罪犯?他基本上认为他的MRD就像一个法令。他写了它,但不想和任何人评审或在反馈的基础上修改它。他仅仅想工程师团队没有问任何问题的拿着它并实现它们!不要像Matt的同事那样。确信做到和你的产品经理伙伴和工程师团队评审你的MRD。保持一个敞开的思想然后在评审反馈的基础上更新MRD。这将帮助你写出更好的MRD,工程师将喜欢你(或者至少少恨你一些),你的团队也将创造更好的产品。1.9 定义市场目标和定位大部分我看到过MRD在覆盖了市场目标(谁将买和使用户你的产品)和定位(与竞争对手的产品比你的产品定位怎么样的)的方面做的很好。我还看到过一些没有描述市场目标和定
14、位的MRD,他们通常会这样争辩:“为什么工程师们需要知道这些?拿到定义了什么是需要的还不够吗?”这些问题(谁将买和使用户你的产品和与竞争对手的产品比你的产品定位怎么样的)的确有一些正面价值,我发现许多工程师想知道为什么一个产品或特性要开发,谁将使用他们,什么是他们可以另外选择办法。这些信息帮助他们和产品组的其他成员想象最终用户并从而更好的为创造成功的产品工作。我的建议的尽可能的(在MRD中)包含这些信息。-它们不一定要很详细,只要包含几个段落就足够了。1.10 包含一个术语表如果你的MRD使用了新术语或在非通用的地方是使用了常用术语-确保在MRD后面包含一个术语表。当你像这样说“我们的软件将提供SME用户通过选择WAP或PSMS开MRC帐单”时,术语表将确保你的所有读者(有些可能不是技术人员)理解你的意思是什么。