《构建之法》需求分析 读书笔记 Week6
本周选读《构建之法》第8章——需求分析。由于有团队项目初期调研阶段做调查问卷的经历,这一章节中很多知识点我都比较有体会。对我而言,这一章节最有价值的内容就是厘清了关于需求分析的两个误解和近10个行之有效的调研方法。
第一个误解有关需求的内涵。需求不仅仅来源于用户(软件直接使用者)的需要,还可以是企业为维持生存、追逐利润的商业模式,或者开发者在考虑到代码迁移、架构演化、平台变化时提出的技术上的需求。另一个误解有关需求分析的实现。做需求分析是一个循序渐进、应时而变的过程,不只是简单地将用户所表达的要求作为最终目标,根据邹欣老师的介绍,我将需求分析再分以下四步:
1.捕捉需求。目标用户可能并没有准确表达自己的想法,甚至都没有意识到自己的需求,在这种情况下调研团队必须运用策略引导目标用户清晰地表达自己的期待,并从中分析、提取、总结出实质性需求。对于来自不同类别(根据情况有不同分类标准)的用户所提意见,调研者应从五花八门的回复中提取共性。
2.量化需求:对各种需求进行分类和优先级判断,预估满足需求的时间和资源成本、最后期限等等。

3.验证需求:通过与利益相关者的沟通、对利益相关者的调查,验证当前需求分析的准确性,并不断修改完善。对于利益相关者的范围,邹欣老师也考虑得比较周到。虽然知道软件在实际使用过程中会涉及到各方人员,但我一般都把利益相关者局限在用户这个群体。事实上,利益相关者包括最终用户、客户(不一定直接使用,但购买了或根据合同规定接收软件的人)、市场分析师、监管机构和开发团队。 另外我认为,竞争性需求分析这一小节已经说明,竞争者也应该被纳入到利益相关者中。
4.管理需求:在软件开发过程,来自外界和内部的需求都随时可能发生改变,比如甲方的要求改变、法律法规改变、第三方资源增加或减少、开发团队技术选择的变化等等,都需要及时的审核及合理的取舍。
对于竞争性需求分析这一节,我还想做一点补充。技术的突破可以让用户尝试到以前从来没有意识到的便利或愉快体验,比如说虚拟现实和增强现实的游戏。普通大众虽然在影视作品中见到过概念产品,但没有亲身接触过。对于这些不明确自身需求的用户,容易让他们培养使用习惯,但这种市场对这种颠覆性创新产品的检验会更加严苛,因为 一般而言它们与利益相关者的迫切利益连接不够显然,用户和客户用在考虑取舍的时间就相当有限了:因为目前对我来说这个东西可有可无,要还是不要只是一个念头的事。另一方面,不一定要依靠技术的突破,需求分析过程中敏锐的洞察力也可以牵引出用户潜在的迫切需求,从而提供让用户耳目一新的感受。
邹欣老师在8.3节提出的众多用户调研方法都在实际应用中有比较显著的功效。分类如下图:

我想指出的是,在做用户调研——尤其是定量调研——的过程中也需要重点考虑用户(被调研者)的体验。比如我们团队项目都有使用的问卷调查,题目数量不能过多,防止答卷者疲乏,所提问题要易于理解又不能有过于明显的倾向性,答案选项必须能比较好的描述用户的想法等等。又比如A/B测试,测试者需要从被测试者的交互行为中正确分析和总结出结果,并且被测试内容不能引起用户过度的方案,否则就南辕北辙了。
PS:1.推荐书中提到的电影《社交网络》(大卫·芬奇导演作品),这部讲述Facebook诞生历程的电影虽然三分真实七分杜撰,但仍然可以让观众一睹扎克伯格创建社交王国之初的独到眼光和远见,很好地切合了人类学调查这个部分。
2.A/B测试实例。Outlook邮箱。右上角有试用Beta版。这种三分栏预览界面让我感觉很拥挤,我以为换成Beta版本就会变成以前的二分栏,然而并没有╰(*°▽°*)╯对我来说,两个版本没什么区别,因为我只会用到最基础的功能。

点击试用Beta版后

《构建之法》需求分析 读书笔记 Week6的更多相关文章
- 软件开发-MSF方法(《构建之法》读书笔记2)
MSF-微软解决方案框架,是一套大型系统开发指南,它描述了如何用组队模型.过程模型和应用模型来开发Client/Server结构的应用程序,是在微软的工具和技术的基础上建立并开发分布式企业系统应用的参 ...
- 《构建之法》教学笔记——Python中的效能分析与几个问题
<构建之法:现代软件工程>中第2章对效能分析进行了介绍,基于的工具是VSTS.由于我教授的学生中只有部分同学选修了C#,若采用书中例子讲解,学生可能理解起来比较困难.不过所有这些学生都学习 ...
- 读书笔记 Week6 2018-4-12
Chap 24 重构 读书笔记 一.需求的变更 单纯就科目学习中的小项目来说,目标在一开始便被明确下来,即可定义一份严谨的列表来描述功能.故在原来的编程经历中,只要上交了程序便一切都没事儿了,也没有重 ...
- MSF《构建之法》阅读笔记5
第七章 MSF MSF是一种软件开发方法,MSF原则包括1推动信息共享和沟通,2为共同的远景而工作,3充分授权和信任,4各司其职,对项目共同负责,5交付增量的价值,6保持敏捷,预期和适应变化,7投资质 ...
- 《构建之法》阅读笔记06-项目经理PM
软件团队里除了能写代码.测试代码和画图做设计的成员,还有一类角色,不做上面这些事情但也很重要,我们叫他们项目经理--PM. PM 的M 就是 Manager: P有这几种: Product Manag ...
- 软工读书笔记 week 9 ——《构建之法》
软工读书笔记 week 9 ——<构建之法> 最近的三周我们正式开始我们的项目.然后我也把<构建之法>中的相关章节再拿出来读了一番.以下是一些 ...
- 软工读书笔记 week 5 ——《构建之法》
本周主要对<构建之法>中的一部分进行阅读. 一.软件与软件工程究竟是什么? 本书的概论部分就指出“软件 = 程序 + 软件工程”.而我们这门课的名字就叫“现代软件工程”.其实在上课之前,我 ...
- 《构建之法》CH5~6读书笔记 PB16110698 第九周(~5.15)
这段时间我阅读了<构建之法>的大部分章节,包括个人技能.软件测试.用户体验和需求分析等相关内容.之前的个人作业和结对作业结束后,我们的工作重心终于转向了团队项目,作为团队中前端组的组长,我 ...
- 《构建之法》第四&十七章读书笔记
<构建之法>第四&十七章读书笔记 一. 前言 再次阅读<构建之法>,愈发被其中生动有趣的举例吸引.作为一本给予软件工程学生的书籍,其不以枯燥的理论知识 ...
随机推荐
- HDU 6464 /// 权值线段树
题目大意: 共Q次操作 操作有两种 操作一 在序列尾部加入f[i]个s[i] 操作二 查询序列第f[i]小到第s[i]小之间的总和 离线操作 把序列内的值离散化 然后利用离散化后的值 在线段树上对应权 ...
- shell中#*,##*,#*,##*,% *,%% *的含义及用法
介绍下Shell中的${}.##和%%使用范例,本文给出了不同情况下得到的结果.假设定义了一个变量为:代码如下:file=/dir1/dir2/dir3/my.file.txt可以用${ }分别替换得 ...
- windows自动关机(任务计划程序 + exe文件)
需求:windows系统自动关机 的需求: 相关工具:win10系统中,使用windows自带的任务计划程序 和 windows自带的关机 exe文件 完成此需求 exe文件位置:C:\Windows ...
- Shell02---变量
Shell02---变量 1. shell变量概述 1. 什么是变量 变量是Shell传递数据的一种方法,简单理解:用一个固定的字符串去表示不固定的内容,便于后续引用. 2.变量命令规范 变量定义时名 ...
- windows下如何使用Git上传代码
首先,在使用Git的同时,我们需要拥有码云账号,在官网注册即可(官网:https://gitee.com/). 注册结束后创建一个代码仓库,最好和要上传的文件夹名字一样: 1.首先在电脑上安装wind ...
- 【记录】Idea "Cannot resolve symbol 'SpringBootApplication'" 错误&“找不到主类”错误
初学,有一个Spring Boot的demo需要用Idea打开.我选择导入(Import Project选项)文件,出现如题错误,且yml文件格式也不正确显示(叶子). 后面细看目录,发现一个main ...
- ubuntu openssl 生成密钥对
一般情况下ubuntu和mac系统都会自带openssl,安装之前先测试一下,打开终端,输入openssl,如果出现以下画面,即已安装. root@jiang:/home/kevin/work/ope ...
- 【leetcode】931. Minimum Falling Path Sum
题目如下: Given a square array of integers A, we want the minimum sum of a falling path through A. A fal ...
- 【leetcode】421. Maximum XOR of Two Numbers in an Array
题目如下: 解题思路:本题的难点在于O(n)的复杂度.为了减少比较的次数,我们可以采用字典树保存输入数组中所有元素的二进制的字符串.接下来就是找出每个元素的异或的最大值,把需要找最大值的元素转成二进制 ...
- c#获取MAC地址和IP地址
一获取mac地址 1.先添加system.management的dll组件2.添加引用 public string GetMACAddress(){string MoAddress = "& ...