读《有效需求分析》

最近在一个技术群里看到张逸大佬强力推荐一本关于需求分析的书《有效需求分析》,于是在 Kindle 上下单了,读完后有一种相见恨晚的感觉。

本书特点

从书中的一些案例可以看出,作者擅长 ToB 软件的需求分析,如果您是从事的 ToB 软件的相关工作,那阅读本书时会有更多的共鸣。

书中有大量的案例,阅读起来不仅不枯燥,反倒觉得挺有意思,特别是一些日常生活中例子,能引发我们更多的思考。

每一个章节都有能落地的产物输出,所有的产物整合在一起就是完整的需求文档,可以让你不仅知道一些理论,还知道怎么落地。

我们常见的问题

1、辛辛苦苦开发的系统,跟客户演示的时候达不到客户的预期;

2、上线后,客户反复提出“变更”,从客户视角来看是功能没有按要求完成,从开发的视角感觉客户在百般刁难;

3、边界难以控制,已经按照“要求”完成了,客户还不断提出新的东西。

读完这本书可以立即解决这些问题吗?答案肯定是不能,但能给我们带来启发和思考,能让我们在解决这些问题的路上往前迈进一步。

书中的内容不少,本文只是我结合自己的认知把觉得重要的点展开来说说。

什么是需求

什么是需求?书中给出了一个非常精炼的回答:现实和期望之间的差距。就是中间这个差距需要我们去思考、调研,这是一个迭代的过程,直到最后达到期望甚至超过期望,如果用了一些错误的方法,或者被客户牵着鼻子走,最后结果可能还不如现实。

方案不是需求

开篇例举的一个生活中的小例子充分说明了什么是需求,什么是方案:

晚上小孩吵着说要吃饼干,最后给了点面包,小孩吃完就乖乖睡着了,在这里吃饼干是方案,需求是小孩的肚子饿了,当没有饼干时,可以使用第二种方案,给他吃面包也可以解决这个需求问题。

如果客户的接口人稍微懂点技术,在做需求调研时就很容易提出方案级的需求,这时就需要警惕了,需要用一些问题来深挖背后的真实需求,比如:

  • 为什么会有这样一个项目,是因为同行业都有?还是因为内部管理需要?

  • 这个系统是哪些角色的人用?能解决他们什么问题?

  • 没有这个系统的时候现在是怎么来解决这些问题的?

  • 用户使用这功能的频率是多少?这功能如果做砸了,对谁影响最大?

如果能挖到真实的需求,就可以根据情况来制定最优方案了。如果我们“完美”地满足了客户提出的“方案级需求”,最终的结果未必能让客户满意,客户通常善于发现问题,提出问题,但给出的方案往往不能完美解决问题。

在公司的内部其实也存在着这种问题,比如项目团队的同事在遇到产品满足不了的功能时,需要给产品提需求,经常看到的需求描述是:

  • 在某某功能模块添加一种按钮类型;

  • 在某某地方需要多一种搜索条件的配置。

这些都是方案,而不是需求,项目的同事根据自己的理解和认知完成了从需求到方案的转换,而这个方案很多时候并不是最优。

所以每每收到这种“需求”时,会马上跟项目的同事反复确认客户到底想要什么,了解到真实背景后,才能结合产品的功能给出合适的解决方案。

干系人

任何企业准备上一套系统有各种各样的原因,可能是为了提高生产效率、提高协同办公效率,也可能是为了做一些政绩。所以针对不同的场景,我们首先需要找出这个系统的相关干系人。

识别干系人有几个重要的判断标准:

  • 是否是关键部门复杂人?

  • 是否对项目有一票否决权?

  • 系统上线是否对大量的使用者产生负面影响?比如:工作模式改变等

  • 识别出的人员是否与项目有直接关系?

如果能够准确的识别关键关系人,还需要对关系人进行分析:

  • 同一类如果有多个干系人,需要选出最有代表性的一个;

  • 不同干系人之间是否有利益冲突;

  • 干系人的专业背景、兴趣爱好(方便日后沟通);

  • 不同的干系人在各自角色上希望项目能解决什么问题?

  • 对项目的落地有什么担心?

做项目不光是要做好事,关键还要能搞定人,能让重点干系人感受到系统的价值,项目就容易成功。

我认为项目的前期最核心的就是上面两个步骤:挖出核心诉求和找出重点干系人。剩下的就是分解需求进行开发实现了。不同的团队对需求分解和开发实现肯定都有适合自己的方式和方法,具体可以去阅读本书,下面说说在项目需求调研过程中经常会忽略的非功能性需求。

非功能性需求

非功能性需求通常指,安全性、性能、扩展性、稳定性等等,这些非常重要,但也是最容易被我们忽视掉的。

非功能性需求针对不同的客户或系统会有不同的侧重点,比如:

  • 费控系统对计算的准确性要求高,接口需要做幂等处理等等;

  • 客户是集团性质的企业,而且系统是全员使用,并发量大,性能上有较高的要求;

  • 一些合资企业,系统需要进行多语言支持,可能还会进行跨地域部署;

  • 事业单位、政府机构对 UI 层面会有独到的见解;

  • 公检法司的项目中会对安全性要求比较高,包括可能有些数据列需要加密。

这些非功能性的需求在调研阶段应该和功能性需求一起同步进行,根据客户的特征进行分析和识别,最终作为开发交付的一个检查项进行检查。

上面列举的都是和系统本身相关的一些要求,除此之外,还有很多的外在因素也是在前期调研时就应该考虑的,比如:

  • 客户希望上线的时间节点?

  • 如果功能较多,能不能进行分期交付?

  • 客户有没有明确的技术上的要求,比如不能使用 Windows 部署,或者开发语言只能使用 Java?

  • 有没有历史系统需要做数据迁移?如果有需要达到什么样的目标,是整体切换还是需要双系统并存一段时间进行逐步替换?

  • 是否需要和第三方系统进行对接?如果需要,需要知道第三方系统的接口人信息以及接口规范。

现在各种各样的书籍琳琅满目,感兴趣的书买了,就有机会去阅读,这是我一直以来的一个观点,做需求每个项目负责人都有自己的方法,但多读书学习一些方法和技巧,没准哪天就能用上了。再说了,多读书,往上可以提升我们的格局和眼界,往下也能夯实和固化我们的能力。

希望本文对您有所帮助!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/303665.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

超时锁定计算机,就会发现多了一个控制台锁定显示关闭超时选项

小技巧:锁定屏幕方法多在临时要离开电脑时,可用CtrlAltDel组合键、WinL组合键或在开始菜单中单击用户头像选择“锁定”手动锁屏;或借用“屏幕保护设置”设定自动定时锁屏。1. 探寻自动锁屏时间修改离开电脑一段时间后Windows 10会自动锁屏,但…

android数据存放map_ES6 的新鲜玩意儿——集合set、map、WeekSet、WeekMap

es6新增了Set、Map、WeekSet、WeekMap 四种数据结构。C#中有HashSet和Dictionary,HashSet和Dictionary都是范式集合,但是es6不支持接口开发,所以也就不存在范式。Set 是存唯一值的集合,Map是存键值对的集合。WeakSet、WeakMap分别…

大牛领导单独找我聊了两句:搞框架的同时别忘了算法

前言程序数据结构算法,好的算法能让程序更高效的运行;在当今数据信息时代,数据分析和数据处理肯定是避免不了,而算法便成为了很多公司门槛级的要求,特别是大厂;赶紧搞起来,说不定离进大厂就只差…

C#使用iTextSharp操作PDF文件

概述html文件怎么转成PDF文件?有的招聘网上的简历导成DOC文件,不能直接使用,这样造成很大的困扰,那么它还有一个格式,那就是html格式。将文件导出成html格式,然后再转成PDF文件,这样便可以直接使…

springboot 历史版本文档_Springboot看视频学太慢?来看看这份阿里深入实践Springboot文档...

前言:之前 Spring Boot 2.2没能按时发布,是由于 Spring Framework 5.2 的发布受阻而推迟。这次随着 Spring Framework 5.2.0 成功发布之后,Spring Boot 2.2 也紧跟其后,发布了第一个版本:2.2.0。关于Spring Boot的性能…

51CTO技术沙龙4月23日第四期:如何快速定位******

人 在江湖飘,哪能不挨刀?没有跟***打过交道的运维人员能有多少?恐怕工作时间长的朋友大多都遇到过。我们除了做好防御之外,也可以尝试着像“盗梦空间”那 样了解******的动向。也可以从追踪***到挖掘***隐藏技术。当然&#xff0c…

计算机软件损坏基本维修,学习修电脑基础没有用?客户电脑开机不显示,维修差点被坑!...

原标题:学习修电脑基础没有用?客户电脑开机不显示,维修差点被坑!电脑故障分为硬件故障与软件故障,硬件故障指的是硬件损坏,软件故障指的是系统损坏,硬件故障还可以分为真坏与假坏,真…

cass小插件集合_插件|如何精准提取CASS方格网高程点?

CASS的方格网土方计算时,在格网上会内插很多高程点,下图所示的黄色、蓝色和洋红色的高程点。怎么能批量提取这些点呢?CASS方格网截图CASS升级到10.1之后,增加了一个菜单:工程应用-注记生成数据文件。这个功能可以将文字…

使用.NET开发的数据库小工具 DbTool

数据库小工具 DbToolIntroDbTool 一个支持 DbFirst、ModelFirst 和 CodeFirst 的数据库小工具。DbFirst 是根据数据库中的表信息生成代码中的 Model,以及生成数据表结构文档ModelFirst 是根据数据表信息或者数据表结构文档生成创建数据库的脚本CodeFirst 是指根据 m…

古登堡是垂直搜索引擎吗_网站排名,提高内容输出频率,就一定要对排名好吗?-SEO...

如果你在长期做百度SEO一定会有这样一个明显的感觉,通过每天大量的输出相关性的内容,实际上是有利于提高网站的抓取频率与整站的权重。 而对于百度搜索引擎而言,对方也确实有这么一个考量,用于衡量一个网站的活跃度与覆盖搜索需求…

Windows环境下Dapr入门

Dapr是Distributed Application Runtime(分布式应用运行时)的缩写。它是一个可移植的、事件驱动的运行时。下面介绍如何在Windows平台安装Dapr:安装Dapr CLIDapr CLI是使用Dapr相关功能的主要工具,您可以使用它来以Dapr Sidecar的…

linq查询不包含某个值的记录_【翻译】C#表达式中的动态查询

当您使用LINQ来处理数据库时,这种体验是一种神奇的体验,对吗?你把数据库实体像一个普通的收集,使用Linq中像Where,Select或者 Take,这些简单的使用就能让代码可用了。但是,让我们考虑一下这里是…

计算机二级ppt为客户制作演示文稿,计算机二级ppt真题:制作介绍北京ppt

1.演示文稿题1具体如图示。2.【打开】文件夹,选择【PPT素材.docx】,点击【选择】选定所有格式类似的文本(无数据),点击【段落】,调整【大纲级别】1级。选择【蓝色文本】,点击【选择】选定所有格式相似的文本(无数据)&a…

牛气!.NET5电商平台轻松承接10亿GMV,只因做对了这个!

自从京东和唯品会转了Java..NET就一直缺乏高并发电商案例,.NET5能做高并发电商吗?必须的!这里为大家分享一家上市电商公司项目案例:纯.NET5电商平台,轻松承接双11当天近10亿GMV!系统架构为.NET5微服务Docke…

项目进度计划甘特图_项目管理进度计划表制作及甘特图绘制方法

全文总计1995字,需阅读5分钟,以下为正文:甘特图(Gantt Chart)又称横道图,它通过图示形象地表示特定项目的活动顺序与持续时间。Excel 2007/2010中, 通过堆积条形图实现。下面以Excel 2010为例来说明绘制步骤上图A列为某…

Android添加单元测试的方法与步骤

一、修改配置文件AndroidManifest.xml <?xml version"1.0" encoding"utf-8"?><manifest xmlns:android"http://schemas.android.com/apk/res/android"package"cn.ycmoon.test.activity"android:versionCode"1"an…

这套前端可视化框架,让数据栩栩如生!

AntV&#xff0c;蚂蚁出品&#xff0c;前端数据可视化&#xff0c;有这一套就够了&#xff01;随着大数据的发展&#xff0c;人们越来越多地使用数据分析来解决问题。为了提高数据分析的效率&#xff0c;各种先进的数据可视化工具应需而生&#xff0c;可以直接根据指定的数据源…

文件的搜索

which 显示一个可执行文件的完整路径&#xff1b; [rootberyl ~]# which ls alias lsls --colortty /bin/ls whereis 搜索一个可执行工具及其相关配置、帮助 [rootberyl ~]# whereis ls ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz find […

WPF ListBox样式去掉默认选中效果

次用到ListBox的时候&#xff0c;鼠标悬浮时&#xff0c;ListBoxItem的默认样式太丑了&#xff0c;设置了ItemTemplate也不管用&#xff0c;像这样的&#xff1a;经过几次尝试后&#xff0c;终于解决了这个问题&#xff0c;记录一下&#xff0c;以后就不用到处百度找了。。。其…

win8计算机安全模式,WIN8如何设置按F8进入安全模式

Win8/win10系统想进入安全模式就不是太容易的事了。之前的Win7和XP等系统可以通过在开机时按F8进入安全模式选择菜单。有什么方法可以设置让Win8/win10系统按F8直接进入安全模式菜单。下面学习啦小编向大家介绍让Win8/win10系统通过这种老办法按F8进入安全模式的方法&#xff0…