如何撰写需求文档

article/2025/3/6 23:27:27
  • 永远考虑那个拥有更强写作能力的人
  • 工欲善其事,必先利其器
    • markdown
    • 思维导图
    • 流程图
  • 换位思考
  • 这个需求,「不做」
  • 闭环
  • 写作套路
    • 铺垫
    • 下定义
    • 逻辑清晰
    • 说人话
    • 视角
    • 版本延续性
  • 结语

Reading makes a full man, conference a ready man, and writing an exact man.

本文节选自《Springboot实战纪实-如何撰写需求文档》,阅读时长3min。

永远考虑那个拥有更强写作能力的人

  如果一个岗位有几个候选人,永远考虑那个拥有更强写作能力的人。无论这个人是设计师、程序员、市场或销售人员,写作能力总是可以带来回报的。有效、简洁的写作能带来有效、简洁的代码、设计、邮件、即时通讯等等。

  写作带来:
更深度的思考,更认真的生活,更清晰的沟通,更有效的社交, 更强大的内心。

工欲善其事,必先利其器

君子生非异也,善假于物也

  思想固然重要,但是善于借助工具表达自己的思想也很重要。这里介绍一些好用的写作方面的工具。

Markdown

  根据百度百科-markdown,Markdown是一种轻量级标记语言,创始人为约翰·格鲁伯(英语:John Gruber)。 它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档。

  Markdown是一种简单的格式化文本的方法,让排版变得简答,在任何设备上看起来都很棒。有道笔记,印象笔记,博客园,vscode,github,码云等都支持markdown语法。

  相关教程

  • Markdown编辑器教程。

  • 想学 Markdown?这篇文章帮你快速上手。



思维导图

  对于某些需求涵盖功能点较多,后者分支较多场景,使用思维导图呈现更直观。比如,这是我整理的考试系统的前期需求的一个思维导图:



  现在有很多工具都支持画思维导图:

  • processon
  • xmind
  • 百度脑图

流程图

  程序员童鞋对流程图肯定不会陌生,常见程序流程图设计应该是信手拈来。针对复杂需求,有时候使用语言和文字难以描述清楚。这个时候,流程图该上场了。



  流程图在整个需求的整理中的核心,他能将产品业务背后的逻辑展示出来。这个需要你对吃透需求,然后内化,加工,再输出。说句题外话,如果你参与了这个需求,一定要抠细节,流程越细化,越有助于成功的实现需求。

  这里推荐几个常用的流程图工具:

  • processon
  • Edraw
  • draw.io【开源】

换位思考

接到需求之后,技术同学往往会先思考技术实现,然后陷入技术细节,这也是大多数技术人的通病。

  在此前的文章《需求管理》中,我曾指出技术同学要放下傲慢和偏见,跳出技术思维。这对于需求的理解和整理至关重要。

  跳出技术思维,然后换位思考,这有助于全方位,多角度的理解需求。一个功能可能由不同的角色人员使用,视角不同,需求不同。你需要像导演拍电影一样,针对不同角色,一个场景一个场景的拍摄,最终串联成一个完整的电影作品。

这个需求,「不做」

懂得拒绝是一门艺术。

  技术人不是一个没有灵魂的代码工具。“这是需求爸爸提的,我没法拒绝”,“这是产品爸爸喊做的,不管我的事”。当出现问题的时候,我们经常听到技术同学这样说。

  不合理的需求,对用户不友好的需求,低收益,高投入的需求,要敢于拒绝。当然,拒绝也是一门艺术,这就是与人沟通的艺术。如果经过深思熟虑,你能够给出比较合理的解释或者提出更有建设性的方案,我想这样才会更加容易让人接受。

闭环

闭环这个词,真是互联网领域的万金油。但是,笔者这里特指产品需求逻辑的闭环。

  笔者曾经待过一个互联网教育创业公司。因为参与人很多都是TOB行业经验的人。大家都是知道,TOB公司的产品卖出去很多时候是线下的操作。比如,微软公司,我做操作系统一流,我赢家通吃。但是,TOC就不一定了,个体用户更加注重用户体验,比如曾经的电商百团大战的竞争,后面的共享单车的竞争,消费者可以直接用脚投票的。

  我们做了一个课程官网,包括课程展示,订阅充值的官网。官网上线之后,市场同事也做了宣传,但是发现基本上没人注册,很多用户都是让我们帮忙注册。经过研究发现了原因:

  • 因为集成Azure注册慢,登录页面,而且极不友好。 这导致用户放弃注册。
  • 官网没有展示客服咨询电话,只有一个用户建议表单。无法实时联系客服。

  这个案例,很典型。从市场到技术,我们做了很多工作,但是最终效果不理想。**最大的愿意就是产品不闭环。**用户想学习课程,但是登录和注册体验太差,这就已经挡住了大部分的用户。

写作套路

  前面我们讲了很多坑和避坑策略,那要如何才能写好需求文档呢?

铺垫

根据百度百科-铺垫法。戏剧情节结构的一种手法。在戏剧的进展中,对于某些将要出现的关键性情节和起关键作用的人物,必须在事前有所准备、暗示;为情节的展开,为高潮的到来,酝酿气氛,作好准备,铺平道路。这种手法叫埋伏或伏笔。

  其实可以简单理解为背景说明。在需求文档中,增加一定的背景表述,可以增强事物间的因果联系和完整性,不显突兀。

  一般可以在你的需求前增加一个背景交代,



  这样的好处是,其一,让之前没有参与的人有个背景认识;其二,为自己后续的观点(或者设计思路)提供可信依据,至少不知自己拍脑袋想出来的。

下定义

  对于不同的业务,有时候会有一些专有名词,或者是你自己了说明某个事物而定义的名词。如果不做一些定义的解释,很难理解。比如,在设计IM聊天时候,可能会有一些定义,可以给出定义。



逻辑清晰

  需求文档,不是日记,切记流水账。排版工整,重难点突出。逻辑清晰,富有层次感。

  利用图表配合文字,有条不紊的表达出合理地逻辑。这样大家阅读起来,一目了然。

说人话

针对不同的人群一定要设计不同的话术

  这里的人是指不同的受众。考虑到需求文档面向的对象较多,有技术,业务,测试等,需要抛弃过于专业的技术语言,比如不要出现技术设计的细节,尽量要用自然语言表达。

  说句题外话,其实严格意义上,需求文档可能是要写两份,一类是给技术同学看的,一类是给非技术同学看的。对于前者,你当然可以用类似抽象的uml图或者直接给出伪代码来说明。

视角

子非鱼,安知鱼之乐

  你以为的就是你以为的吗?很多时候,需求的来源并不单一,比如公司要做一个工单系统,这个工单系统的使用者几乎涵盖了公司的各个部门。按照"用户第一"的要求,我们需要考虑到不同业务方的诉求和用户习惯。

  我们在做需求的时候,就要提前想到。否则,后面的设计一定会违背使用者的意图。前面,讲过的换位思考,或者多角色思考该排上用场了。

  在文档中,如何体现呢?通常,可以按照不通视角来描述。这就是类似程序的switch…case…

  切记站在上帝视角看待问题。

版本延续性

  需求文档很少一次性就让各方满意的,或多或少都会有补充和调整。比较好的习惯是使用修订版本来记录。

  修订历史是一个版本的可追溯源,对需求变更历程有一个清晰的认识。

  新建默认为相应模块的首次使用,对于文档的修改以及增加的地方可加入超链接,同时在增加与修改的具体地方进行颜色标示或者其他标志来进行区分,方便其他人员进行查询。



结语

  写好一个需求文档,让人觉得很专业有很多东西需要学习。这里笔者只根据个人多年的工作经验,抛砖引玉,欢迎大家怕批评和斧正。

如何撰写需求文档

  • 永远考虑那个拥有更强写作能力的人
  • 工欲善其事,必先利其器
    • markdown
    • 思维导图
    • 流程图
  • 换位思考
  • 这个需求,「不做」
  • 闭环
  • 写作套路
    • 铺垫
    • 下定义
    • 逻辑清晰
    • 说人话
    • 视角
    • 版本延续性
  • 结语

Reading makes a full man, conference a ready man, and writing an exact man.

本文节选自《Springboot实战纪实-如何撰写需求文档》,阅读时长3min。

永远考虑那个拥有更强写作能力的人

  如果一个岗位有几个候选人,永远考虑那个拥有更强写作能力的人。无论这个人是设计师、程序员、市场或销售人员,写作能力总是可以带来回报的。有效、简洁的写作能带来有效、简洁的代码、设计、邮件、即时通讯等等。

  写作带来:
更深度的思考,更认真的生活,更清晰的沟通,更有效的社交, 更强大的内心。

工欲善其事,必先利其器

君子生非异也,善假于物也

  思想固然重要,但是善于借助工具表达自己的思想也很重要。这里介绍一些好用的写作方面的工具。

Markdown

  根据百度百科-markdown,Markdown是一种轻量级标记语言,创始人为约翰·格鲁伯(英语:John Gruber)。 它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档。

  Markdown是一种简单的格式化文本的方法,让排版变得简答,在任何设备上看起来都很棒。有道笔记,印象笔记,博客园,vscode,github,码云等都支持markdown语法。

  相关教程

  • Markdown编辑器教程。

  • 想学 Markdown?这篇文章帮你快速上手。



思维导图

  对于某些需求涵盖功能点较多,后者分支较多场景,使用思维导图呈现更直观。比如,这是我整理的考试系统的前期需求的一个思维导图:



  现在有很多工具都支持画思维导图:

  • processon
  • xmind
  • 百度脑图

流程图

  程序员童鞋对流程图肯定不会陌生,常见程序流程图设计应该是信手拈来。针对复杂需求,有时候使用语言和文字难以描述清楚。这个时候,流程图该上场了。



  流程图在整个需求的整理中的核心,他能将产品业务背后的逻辑展示出来。这个需要你对吃透需求,然后内化,加工,再输出。说句题外话,如果你参与了这个需求,一定要抠细节,流程越细化,越有助于成功的实现需求。

  这里推荐几个常用的流程图工具:

  • processon
  • Edraw
  • draw.io【开源】

换位思考

接到需求之后,技术同学往往会先思考技术实现,然后陷入技术细节,这也是大多数技术人的通病。

  在此前的文章《需求管理》中,我曾指出技术同学要放下傲慢和偏见,跳出技术思维。这对于需求的理解和整理至关重要。

  跳出技术思维,然后换位思考,这有助于全方位,多角度的理解需求。一个功能可能由不同的角色人员使用,视角不同,需求不同。你需要像导演拍电影一样,针对不同角色,一个场景一个场景的拍摄,最终串联成一个完整的电影作品。

这个需求,「不做」

懂得拒绝是一门艺术。

  技术人不是一个没有灵魂的代码工具。“这是需求爸爸提的,我没法拒绝”,“这是产品爸爸喊做的,不管我的事”。当出现问题的时候,我们经常听到技术同学这样说。

  不合理的需求,对用户不友好的需求,低收益,高投入的需求,要敢于拒绝。当然,拒绝也是一门艺术,这就是与人沟通的艺术。如果经过深思熟虑,你能够给出比较合理的解释或者提出更有建设性的方案,我想这样才会更加容易让人接受。

闭环

闭环这个词,真是互联网领域的万金油。但是,笔者这里特指产品需求逻辑的闭环。

  笔者曾经待过一个互联网教育创业公司。因为参与人很多都是TOB行业经验的人。大家都是知道,TOB公司的产品卖出去很多时候是线下的操作。比如,微软公司,我做操作系统一流,我赢家通吃。但是,TOC就不一定了,个体用户更加注重用户体验,比如曾经的电商百团大战的竞争,后面的共享单车的竞争,消费者可以直接用脚投票的。

  我们做了一个课程官网,包括课程展示,订阅充值的官网。官网上线之后,市场同事也做了宣传,但是发现基本上没人注册,很多用户都是让我们帮忙注册。经过研究发现了原因:

  • 因为集成Azure注册慢,登录页面,而且极不友好。 这导致用户放弃注册。
  • 官网没有展示客服咨询电话,只有一个用户建议表单。无法实时联系客服。

  这个案例,很典型。从市场到技术,我们做了很多工作,但是最终效果不理想。**最大的愿意就是产品不闭环。**用户想学习课程,但是登录和注册体验太差,这就已经挡住了大部分的用户。

写作套路

  前面我们讲了很多坑和避坑策略,那要如何才能写好需求文档呢?

铺垫

根据百度百科-铺垫法。戏剧情节结构的一种手法。在戏剧的进展中,对于某些将要出现的关键性情节和起关键作用的人物,必须在事前有所准备、暗示;为情节的展开,为高潮的到来,酝酿气氛,作好准备,铺平道路。这种手法叫埋伏或伏笔。

  其实可以简单理解为背景说明。在需求文档中,增加一定的背景表述,可以增强事物间的因果联系和完整性,不显突兀。

  一般可以在你的需求前增加一个背景交代,



  这样的好处是,其一,让之前没有参与的人有个背景认识;其二,为自己后续的观点(或者设计思路)提供可信依据,至少不知自己拍脑袋想出来的。

下定义

  对于不同的业务,有时候会有一些专有名词,或者是你自己了说明某个事物而定义的名词。如果不做一些定义的解释,很难理解。比如,在设计IM聊天时候,可能会有一些定义,可以给出定义。



逻辑清晰

  需求文档,不是日记,切记流水账。排版工整,重难点突出。逻辑清晰,富有层次感。

  利用图表配合文字,有条不紊的表达出合理地逻辑。这样大家阅读起来,一目了然。

说人话

针对不同的人群一定要设计不同的话术

  这里的人是指不同的受众。考虑到需求文档面向的对象较多,有技术,业务,测试等,需要抛弃过于专业的技术语言,比如不要出现技术设计的细节,尽量要用自然语言表达。

  说句题外话,其实严格意义上,需求文档可能是要写两份,一类是给技术同学看的,一类是给非技术同学看的。对于前者,你当然可以用类似抽象的uml图或者直接给出伪代码来说明。

视角

子非鱼,安知鱼之乐

  你以为的就是你以为的吗?很多时候,需求的来源并不单一,比如公司要做一个工单系统,这个工单系统的使用者几乎涵盖了公司的各个部门。按照"用户第一"的要求,我们需要考虑到不同业务方的诉求和用户习惯。

  我们在做需求的时候,就要提前想到。否则,后面的设计一定会违背使用者的意图。前面,讲过的换位思考,或者多角色思考该排上用场了。

  在文档中,如何体现呢?通常,可以按照不通视角来描述。这就是类似程序的switch…case…

  切记站在上帝视角看待问题。

版本延续性

  需求文档很少一次性就让各方满意的,或多或少都会有补充和调整。比较好的习惯是使用修订版本来记录。

  修订历史是一个版本的可追溯源,对需求变更历程有一个清晰的认识。

  新建默认为相应模块的首次使用,对于文档的修改以及增加的地方可加入超链接,同时在增加与修改的具体地方进行颜色标示或者其他标志来进行区分,方便其他人员进行查询。



结语

  写好一个需求文档,让人觉得很专业有很多东西需要学习。这里笔者只根据个人多年的工作经验,抛砖引玉,欢迎大家怕批评和斧正。


http://chatgpt.dhexx.cn/article/X0NVVq6j.shtml

相关文章

一份完整齐全的技术方案文档

2022年-[归一计划三期-用户中心三期第二阶段]技术方案 部门:基础架构部 时间:2022.02.25 1、背景 描述技术方案的背景 由于历史原因,旧服务存在很多代码不规范、冗余度高、扩展性差等问题,为了解决此类问题,以及将功…

易文档(yidocs),更简单的markdown静态文档生成模板

基本简介 yidocs(易文档),是在 vuepress 主题 vuepress-theme-hope 基础上,进一步简化使用的文档模板。 大部分配置和参数都有默认值,使用 yidocs(易文档)的用户,只需要填写必要的…

idea java配色方案_IDEA 主题配色方案+字体

IntelliJ IDEA被认为是当前Java开发效率最快的IDE工具。它整合了开发过程中实用的众多功能,几乎可以不用鼠标可以方便的完成你要做的任何事情,最大程度的加快开发的速度。 关于IDEA 主题配色方案 主题配色方案放置位置(Win7为例): C:\Users\A…

蓝绿色配色_蓝绿色部署

蓝绿色配色 传统上,我们通过替换当前版本来部署新版本。 旧版本停止了,新版本被替换了。 这种方法的问题是从旧版本停止到新版本完全运行之间的停机时间。 无论您尝试执行此过程的速度如何,都会有一些停机时间。 那可能只有一毫秒&#xff0c…

践行绿色发展理念,产业园区绿色转型发展之五大路径

近年来,我国产业园区蓬勃发展,成为区域经济的重要载体。但在这个发展过程中,一些产业园区面临着较大的能源资源及环境排放压力,影响到了园区的可持续发展。随着“碳中和”发展目标的提出,产业园区将走入绿色转型发展的…

色彩的基本配色方案

色彩是我们观察事物的第一认知,是最能触动我们感官的视觉元素。色彩可以激发我们的联想,刺激我们的情绪。在设计中,色彩的合理运用一直是个很重要的课题,在这里我总结了一些色彩部分的常识分享给大家。 一、色环 原色由红黄蓝组成…

IDEA自定义配色方案

整体颜色无主题,都是自己调整的,突然看上去色系比较多,但是多看一会就能清晰分辨出各个颜色的用途,整体配色属于鲜亮方案,元素颜色对比比较明显,个人感觉半灰阶看着不舒服。 Java文件配色方案 Mapper.xml配…

2023华数杯B题不透明制品最优配色方案设计(思路+Matlab代码+论文)

目录 思路 Matlab代码 论文框架 思路 问题1:计算着色剂在不同波长下K/S与浓度的关系 首先,问题1要求我们计算附件2中三种着色剂在不同波长下K/S与浓度的关系,并将关系式与拟合系数填写在表格中。为了完成这一步,我们需要以下步骤: 了解光学模型:阅读文献【1】《计…

前端常用的超赞的配色网站

1.中国风配色 zhongguose.com 超美的中国风配色,网站号称收集了最全的中国色,还有中英文互译,非常贴心,五星好评。 2.uiGradients uigradients.com 做渐变配色专用的网站,色值什么的非常全。 3.Adobe Color CC co…

2023年华数杯B题不透明制品最优配色方案设计(思路+代码+论文,已第三次更新)

已第三次更新,今天下午应该能把三道题都更新完毕.晚上开始写论文,专栏中有思路和代码. 4号18:00前订阅专栏,论文无需二次收费 目录 问题二+代码 问题三+代码 问题四+代码 问题1+代码 要求计算着色剂K/S与浓度的关系,然后通过拟合得到函数关系式和拟合系数。首先,我们需要…

IAR配色方案及配置方法

前言 从事嵌入式开发基本都要和 IAR 这款集成IDE打交道,其默认都是浅色主题,且自定义的一些关键字没有高亮的功能,今天给大家分享一个暗色系的配色方案,并且可以高亮自定义的关键字. 修改IAR配色方案的方法 设置编辑器的配色 T…

论文配色方案

方案1(复古): 系列色——十六进制颜色码: 0780cf - 765005 - fa6d1d - 0e2c82 - b6b51f - da1f18 - 701866 - f47a75 - 009db2 - 024b51 - 0780cf - 765005 系列色——RGB颜色值: (7,128,207&#xff09…

消除WSL中ls Windows文件夹时背光配色的方法

消除WSL中ls Windows文件夹时背光配色的方法 产生原因 首先,Linux中ls命令是自带配色的,对于某些文件夹是绿色背景色块,其实是一种权限提示,即777权限。绿色表示不安全,当其他人的权限高于所有者或者所属组时就会变成…

科研绘图-配色指南

好的图形展示方式能够简明扼要地表达数据,而好的配色一方面能够突出数据的重点,另一方面能够使所有的数据和谐共存。好的配色是图的二次进化,能够赋予图片“生命”。 1,日常生活中使用的颜色 日常生活中,我们经常提到各…

【matlab】绘制云图 + 修改配色方案 + 保存配色方案

一、绘制云图 假设 x、y 为坐标向量,f 为各个坐标点所对应的函数值 的向量 1、需要根据 x、y 的范围进行划分,可以理解为建立坐标系或比例尺 X1和Y1 X1 linspace(min(x),max(x),100); %将坐标均分成100份 Y1 linspace(min(y),max(y),100);…

【转载】SCI论文配图配色方案参考网站

1. Flat UI Colors 网站介绍: Flat UI Colors是一个免费、高颜值的扁平化设计调色板,采集了13种色彩、14个调色板、280种颜色,支持在线切换HEX、RGB、RGBA,点击色块即可复制或吸取色值。 参考网站 2. WebGradients 网站介绍&…

MATLAB周边第四期-MATLAB优雅绘图配色

1 写在前面 该系列为MATLAB周边应用,同时包含了一些相关技巧,欢迎私信一起交流问题,更多的好玩周边可查看往期的推文。有问题或者需要其他建议的话,非常欢迎后台私信交流,共同进步,如若出现违反学术道德的…

界面设计配色方案说明图一(含RGB配色表)

这些配色案例图是过去从互联网上收集到的,开发工具界面时可以借鉴配色。希望对读者有帮助。 R G B 值 R G B 值 R G B 值 黑色 0 0 0 #000000 黄色 255 255 0 #FFFF00 浅灰蓝色 176 224 230 #B0E0E6 象牙黑 41 36 33 #292421 香蕉色…