文档章节

腾讯产品总监教我如何写出让程序员闭嘴的需求文档

狼行-狼行
 狼行-狼行
发布于 2017/09/08 16:19
字数 1786
阅读 26
收藏 3
点赞 0
评论 0

读完这篇文章,你就能学会如何写出让程序员无法吐槽的产品文档!

需求文档是产品经理必须掌握的基本技能,核心作用是向技术人员说清楚你的产品设计方案,一份好文档需要具备哪些要素,我来告诉你!

以下为我的课程复盘笔记,前腾讯会员产品经理亲授的写文档方法。

问题

带着这些问题思考,如果这些问题你都能回答,你还是需要继续往下看。

1.原型与需求文档之间存在什么关系?

答:两者相互补充,原型是需求的视觉表现,更加注重交互,而文档是需求的文字表现,更注重细节。

2.原型有哪些分类?

答:高保真与低保真,根据工作需求进行选择。

3.需求文档具备哪些内容?

答:文章的第4点有详细描述

4.优秀的需求文档是怎么样的?

答:文章的第7点有详细描述

5.如何锻炼原型设计与需求文档撰写的能力?

答:多看,多想,多写,结构化思考

课程大纲

 

与原型设计相比,需求文档更加重要。

在我看来,两者是相辅相成的,必须结合使用,文档是功能细节的体现,原型是交互细节的体现。

收获

1.原型的作用是什么

原型是一种用于提高沟通效率的工具,便于相关人员了解需求,保障完成效果。

2.原型的分类

1.低保真原型

 

低保真原型往往作用与产品的初期,利用线框图把信息组织架构体现出来,属于横向原型设计,缺少交互细节,时间不足时往往使用低保真原型促进沟通。

2.高保真原型

 

高保真原型用于确定功能之后,对交互细节进行展现,包含页面之间的跳转关系,往往是一个可操作原型。

高保真原型耗时长,部分特殊功能通过高保真原型能够体现最终效果,也能用来检验开发的成果。

制作原型的步骤

1.分析需求

罗列出原型需要实现的需求。

2.了解功能分布

功能的层级关系。

3.明确页面层级

页面之间有明确存在的层级关系,每一层实现的功能与存在的元素。

4.绘制基本原型

5.检验,修改原型

往往第一次制作的都会被打回,做好心理准备吧。

需求文档的目标用户与作用

需求文档就是产品功能说明书,包含大量的功能细节,目的是提高沟通效率,避免研发过程出现误会。

阅读需求文档的人主要是项目相关的负责人,例如研发,UI,测试等等。

需求文档包含的内容

 

1.需求背景与目标说明

你得让别人知道你为什么要做,要做到什么程度,用户检验功能完成情况。

2.特性列表

所谓特性,其实就是功能模块,把需要做的功能模块都罗列出来,主要用于明确需要做的功能有哪些,用图表体现更佳

拆分标准:

1.内部逻辑(不同的功能模块,不同的页面)

2.重要的特性单独列出,例如提示语

3.主要逻辑

每个特性之下的操作逻辑,简单特性可以文字说明,复杂特性建议用流程图表现。

帮助梳理逻辑,减少细节遗留。

4.特性功能点

补充每个功能点的相关细节描述,是开发,与测试工作的重要依据。

包括:

1.流程细节描述。

2.正常逻辑表现,异常逻辑表现。

3.文案内容,性能需求。

4.交互图(可无)

5.特性需求,性能需求,数据上报

这一部分类似备注,说明了做这个功能要达到怎样的程度,需要再哪些地方进行数据埋点。

6.版本号记录,迭代说明

便于回顾整个过程,进行复盘。

需求文档撰写四步走

1.想-需求

三思而后行,下笔之前想清楚你的需求,需求就是一份文字版的问题解决方案:

你想做什么功能?

这个功能主要的用户是谁?

这个功能重要吗?优先级高吗?

这个功能的流程想清楚了吗?还有极端情况没有考虑吗?

........

2.列-特性

性清楚后,列出你需要做的所有功能特性:

功能特性

界面特性

性能要求

数据上报

操作流程

3.写-初稿

根据特性点,开始写初稿,按照一定的逻辑分特性,遵循MECE原则,要求做到:

需求结构完整

逻辑清晰

描述准确

4.补-细节

重读整份文档,找出不足之处进行补充。把自己代入各个相关负责人的职位当中,看看自己能否准确明白文档的内容。

文档撰写技巧

标题

区分版本号,每份文档进行迭代都要加入内容与版本号,如V1.0。

章节

每一个功能需求单独一个章节, 分开进行描述。

用语

精简,准确地表达。

7.好的需求文档需要做到以下几点

正确

正确满足产品需求,逻辑清晰。

完备

文档内容完备,把所有场景,极端情况,逻辑流程都写出来了。

无歧义

文字描述准确,没有产生歧义。

优先级

每个功能特性都包含优先级。

可验证

功能是可以被准确验证的。

8.需求文档修炼指南

需求文档是产品经理的基本功,每个人都会写,但是不是每个人都能写好,所以需要不断地精进这项技能。

多看

多看优秀的需求文档,了解一份文档为什么优秀,看到不好的地方,尝试批改它,让它更加优秀。

多想

需求文档是思想的呈现,你对一个需求想得越多,了解得越深,写出来的内容就会更加准确,完备。

多讨论

放下你的羞耻心,把你的文档拿出来和大家一起讨论,可能会受到10000点的伤害,不过别担心,你会成长很快。

结构化思考

看了老师给出的几份优秀的文档,都遵循结构化思考得原则,结论先行,然后再分点描述,一层一层地进行下去。

在生活,工作中养成结构化思考得习惯,让你的表达更加清晰,别人接受起来也更加容易。

本文转载自:

共有 人打赏支持
狼行-狼行
粉丝 10
博文 83
码字总数 7001
作品 0
济南
高级程序员
创业公司的研发架构:Step By Step

如何管理一家创业型公司,举目四望要做的很多,但资源、精力有限,如何从白纸一张一步步地架设起高楼大厦?我想这是困扰很多管理者的难题,我经手过几家创业公司,在这方面算是有些经验可以分...

孤岛旭日
2015/04/14
71
0
腾讯高级工程师自述:十年沉浮,我为什么选择离开管理岗位

腾讯高级工程师自述:十年沉浮,我为什么选择离开管理岗位? 作者:韩伟来源:韩大订阅号|2017-11-06 08:52 从 2001 年在网易成为一名项目经理,到 2011 年进入腾讯,我经历了从“领导”几个...

yuanwx0328
2017/11/15
0
0
iClap技术总监:关于软件开发与项目流程控制的心得

上周六,由OneAPM主办,腾讯、DevStore、多备份、云之讯协办的“移动互联网时代的开发运维”主题沙龙成功举行,腾讯数据平台部移动负责人Foreach Li,OneAPM 技术总监余祥臣、云之讯技术总监...

牵着蜗牛去西藏
2015/10/21
131
0
技术团队底蕴判定

目前而言,项目多如狗,创业公司多如鸡。 大部分只是一伙人,而不是一个Team。 首先,99%公司沿用的模式: 1,需求(可能综合看其他同行的功能实现自认优化下前端效果)效果图后,直接丢给程...

乐天无极
2015/12/18
228
0
从一个普通程序猿到CTO,要经历哪几个阶段?

点击上方“程序员大咖”,选择“置顶公众号” 关键时刻,第一时间送达! 不想当CTO的技术开发,不是好程序员,那么从一个普通程序员到顶级的CTO都要经历哪些关键阶段,又都需要具备怎样的工作...

px01ih8
2017/12/10
0
0
三年高级开发,六年成为架构师,到CTO我用了12年

程序员阶段 大学毕业,被校招到一家小公司搬砖,大家常自嘲叫码农的阶段。这个角色职责是把需求或产品实现为用户可用的软件产品。 此职位为执行级别。另外因为经验较少,一般需要求助别人,或与...

高级架构师
05/14
0
0
释放技术的想象:自主可控的电商平台构建之路

欢迎大家前往腾讯云社区 ,获取更多腾讯海量技术实践干货哦~ 过往,大多数依托于第三方平台的电商企业,经常遇到诸如恶性竞争、主导权被分割、平台假货影响厂商形象等问题,极度影响口碑和销...

腾讯云社区
2017/12/13
0
0
CTO、技术总监和技术经理有啥区别?

最近朋友圈上被CTO的故事刷的满屏都是,着实又火了一次。 大概是某个C轮融资的医疗网站CTO被离职。而CTO是一个知乎大V和微信大号。此事一出,在微信群有支持也有反对之声。支持此CTO被离职的...

jinjiang2009
2016/08/30
0
0
程序员八大噩梦, 你最怕什么?

专栏 | 九章算法 网址 | www.jiuzhang.com 1.技术大牛也帮不了忙 “呀,这个问题好难,我要去GitHub看看,然后就没有然后了...” 很多程序员都会收藏一些优秀的编程交流社区或者网站,利用里...

九章算法
2017/11/23
0
0
程序员版《人民的名义》,谁才是真正的主角?

近日一部《人民的名义》,凭借其大尺度的反腐剧情,演技超群的老戏骨们的同台飙戏,播出半月热度始终不减,被誉为“逆天神剧”,直冲电视剧排行榜榜首。 然而,当程序员们看该剧的时候,通常...

达尔文
2017/04/16
5.1K
17

没有更多内容

加载失败,请刷新页面

加载更多

下一页

利用 acme.sh 获取网站证书并配置https访问

acme.sh 实现了 acme 协议, 可以从 letsencrypt 生成免费的证书.(https://github.com/Neilpang/acme.sh/wiki/%E8%AF%B4%E6%98%8E) 主要步骤: 安装 acme.sh 生成证书 copy 证书到 nginx/ap...

haoyuehong
6分钟前
0
0
微擎框架内如何根据media_id获取到微信图片的路径

微擎的框架内,图片选择后,获取的是那个字符串是media_id,相当于你这张图片在微信的图片服务器里面的id 要求是:获取https://mmbiz.qpic.cn/mmbiz_jpg/…… 微信图片的路径 而微信并没有根据m...

老bia同学
10分钟前
0
0
Spring boot中日期的json格式化

Model 在model层中,类的日期属性上面添加如下注解: @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd hh:mm:ss") 参考 Jackson Date格式化教程...

亚林瓜子
12分钟前
0
0
Eclipse:Failed to load the JNI shared library

1.问题背景: 由于我之前使用jdk1.9学习,当使用Luke的时候发现jdk版本过高,需要向下配置jdk,就向朋友拷了一个安装包。重新配置路径后,便开始报错。 2.问题描述: Failed to load the JNI...

tinder_boy
14分钟前
0
0
少儿学习编程课程是否真的适合七八岁的低龄儿童[图]

少儿学习编程课程是否真的适合七八岁的低龄儿童[图]: 天下熙熙皆为利来,天下攘攘皆为利往。 这几年来,乐高教育机构在国内如同雨后春笋般出现,当然关闭/转手的也很多。从教师角度来看,部...

原创小博客
20分钟前
0
0
ES12-词项查询

1.词项查询介绍 全文查询将在执行之前分析查询字符串,但词项级别查询将按照存储在倒排索引中的词项进行精确操作。这些查询通常用于数字,日期和枚举等结构化数据,而不是全文本字段。 或者,...

贾峰uk
28分钟前
0
0
http状态码与ajax的状态值

ajax状态值 1.1 200 & OK:状态请求成功

litCabbage
31分钟前
0
0
iOS动画效果合集、飞吧企鹅游戏、换肤方案、画板、文字效果等源码

iOS精选源码 动画知识运用及常见动画效果收集 3D卡片拖拽卡片叠加卡片 iFIERO - FLYING PENGUIN 飞吧企鹅SpriteKit游戏(源码) Swift封装的空数据提醒界面EmptyView 沙盒文件浏览与分享调试控...

sunnyaigd
34分钟前
0
0
AngularJS配置.run()块中设置路由事件的监听器以及过滤未经授权的请求

AngularJS中的run方法初始化全局数据,只对全局作用域起作用,如$rootScope.多个控制器之间可以共享数据,如下代码所示: <script type="text/javascript"> var m1 = angular....

孟飞阳
34分钟前
0
0
Java语言学习(十):输入/输出

Java中,I/O操作代表着输入、输出,Java所有的I/O机制都是基于数据流进行输入输出。java.io类包提供了很多的输入输出处理功能方法,大家可以参考下JDK文档中关于I/O的一些处理方法:JDK在线中...

海岸线的曙光
44分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部