本周选读《构建之法》第8章——需求分析。由于有团队项目初期调研阶段做调查问卷的经历,这一章节中很多知识点我都比较有体会。对我而言,这一章节最有价值的内容就是厘清了关于需求分析的两个误解和近10个行之有效的调研方法。

第一个误解有关需求的内涵。需求不仅仅来源于用户(软件直接使用者)的需要,还可以是企业为维持生存、追逐利润的商业模式,或者开发者在考虑到代码迁移、架构演化、平台变化时提出的技术上的需求。另一个误解有关需求分析的实现。做需求分析是一个循序渐进、应时而变的过程,不只是简单地将用户所表达的要求作为最终目标,根据邹欣老师的介绍,我将需求分析再分以下四步:

1.捕捉需求。目标用户可能并没有准确表达自己的想法,甚至都没有意识到自己的需求,在这种情况下调研团队必须运用策略引导目标用户清晰地表达自己的期待,并从中分析、提取、总结出实质性需求。对于来自不同类别(根据情况有不同分类标准)的用户所提意见,调研者应从五花八门的回复中提取共性。

2.量化需求:对各种需求进行分类和优先级判断,预估满足需求的时间和资源成本、最后期限等等。

3.验证需求:通过与利益相关者的沟通、对利益相关者的调查,验证当前需求分析的准确性,并不断修改完善。对于利益相关者的范围,邹欣老师也考虑得比较周到。虽然知道软件在实际使用过程中会涉及到各方人员,但我一般都把利益相关者局限在用户这个群体。事实上,利益相关者包括最终用户、客户(不一定直接使用,但购买了或根据合同规定接收软件的人)、市场分析师、监管机构和开发团队。  另外我认为,竞争性需求分析这一小节已经说明,竞争者也应该被纳入到利益相关者中。

4.管理需求:在软件开发过程,来自外界和内部的需求都随时可能发生改变,比如甲方的要求改变、法律法规改变、第三方资源增加或减少、开发团队技术选择的变化等等,都需要及时的审核及合理的取舍。

对于竞争性需求分析这一节,我还想做一点补充。技术的突破可以让用户尝试到以前从来没有意识到的便利或愉快体验,比如说虚拟现实和增强现实的游戏。普通大众虽然在影视作品中见到过概念产品,但没有亲身接触过。对于这些不明确自身需求的用户,容易让他们培养使用习惯,但这种市场对这种颠覆性创新产品的检验会更加严苛,因为 一般而言它们与利益相关者的迫切利益连接不够显然,用户和客户用在考虑取舍的时间就相当有限了:因为目前对我来说这个东西可有可无,要还是不要只是一个念头的事。另一方面,不一定要依靠技术的突破,需求分析过程中敏锐的洞察力也可以牵引出用户潜在的迫切需求,从而提供让用户耳目一新的感受。

邹欣老师在8.3节提出的众多用户调研方法都在实际应用中有比较显著的功效。分类如下图:

我想指出的是,在做用户调研——尤其是定量调研——的过程中也需要重点考虑用户(被调研者)的体验。比如我们团队项目都有使用的问卷调查,题目数量不能过多,防止答卷者疲乏,所提问题要易于理解又不能有过于明显的倾向性,答案选项必须能比较好的描述用户的想法等等。又比如A/B测试,测试者需要从被测试者的交互行为中正确分析和总结出结果,并且被测试内容不能引起用户过度的方案,否则就南辕北辙了。

PS:1.推荐书中提到的电影《社交网络》(大卫·芬奇导演作品),这部讲述Facebook诞生历程的电影虽然三分真实七分杜撰,但仍然可以让观众一睹扎克伯格创建社交王国之初的独到眼光和远见,很好地切合了人类学调查这个部分。

2.A/B测试实例。Outlook邮箱。右上角有试用Beta版。这种三分栏预览界面让我感觉很拥挤,我以为换成Beta版本就会变成以前的二分栏,然而并没有╰(*°▽°*)╯对我来说,两个版本没什么区别,因为我只会用到最基础的功能。

点击试用Beta版后

《构建之法》需求分析 读书笔记 Week6的更多相关文章

  1. 软件开发-MSF方法(《构建之法》读书笔记2)

    MSF-微软解决方案框架,是一套大型系统开发指南,它描述了如何用组队模型.过程模型和应用模型来开发Client/Server结构的应用程序,是在微软的工具和技术的基础上建立并开发分布式企业系统应用的参 ...

  2. 《构建之法》教学笔记——Python中的效能分析与几个问题

    <构建之法:现代软件工程>中第2章对效能分析进行了介绍,基于的工具是VSTS.由于我教授的学生中只有部分同学选修了C#,若采用书中例子讲解,学生可能理解起来比较困难.不过所有这些学生都学习 ...

  3. 读书笔记 Week6 2018-4-12

    Chap 24 重构 读书笔记 一.需求的变更 单纯就科目学习中的小项目来说,目标在一开始便被明确下来,即可定义一份严谨的列表来描述功能.故在原来的编程经历中,只要上交了程序便一切都没事儿了,也没有重 ...

  4. MSF《构建之法》阅读笔记5

    第七章 MSF MSF是一种软件开发方法,MSF原则包括1推动信息共享和沟通,2为共同的远景而工作,3充分授权和信任,4各司其职,对项目共同负责,5交付增量的价值,6保持敏捷,预期和适应变化,7投资质 ...

  5. 《构建之法》阅读笔记06-项目经理PM

    软件团队里除了能写代码.测试代码和画图做设计的成员,还有一类角色,不做上面这些事情但也很重要,我们叫他们项目经理--PM. PM 的M 就是 Manager: P有这几种: Product Manag ...

  6. 软工读书笔记 week 9 ——《构建之法》

    软工读书笔记  week 9                 ——<构建之法> 最近的三周我们正式开始我们的项目.然后我也把<构建之法>中的相关章节再拿出来读了一番.以下是一些 ...

  7. 软工读书笔记 week 5 ——《构建之法》

    本周主要对<构建之法>中的一部分进行阅读. 一.软件与软件工程究竟是什么? 本书的概论部分就指出“软件 = 程序 + 软件工程”.而我们这门课的名字就叫“现代软件工程”.其实在上课之前,我 ...

  8. 《构建之法》CH5~6读书笔记 PB16110698 第九周(~5.15)

    这段时间我阅读了<构建之法>的大部分章节,包括个人技能.软件测试.用户体验和需求分析等相关内容.之前的个人作业和结对作业结束后,我们的工作重心终于转向了团队项目,作为团队中前端组的组长,我 ...

  9. 《构建之法》第四&十七章读书笔记

     <构建之法>第四&十七章读书笔记 一.         前言 再次阅读<构建之法>,愈发被其中生动有趣的举例吸引.作为一本给予软件工程学生的书籍,其不以枯燥的理论知识 ...

随机推荐

  1. Codeforces 488D Strip (set+DP)

    D. Strip time limit per test 1 second memory limit per test 256 megabytes input standard input outpu ...

  2. SqlServer表名称定义

    每一个数据表 添加一个 扩展 属性:Description  填写表描述. 查看是否所有表都添加的Sql如下: SELECT a.name AS name, g.[value] FROM sys.ta ...

  3. HDFS学习笔记一

    一,HDFS是什么,HDFS有什么用,HDFS怎么用 HDFS:Hadoop Distribute File System 分布式文件系统 HDFS可以保证文件存储的可靠性, 二.HDFS的设计原则 ...

  4. css字体的样式与分类用法总结

    字体的样式 color 设置文本的颜色(前景色) ,它会应用到元素的所有边框,除非被 border-color 或另外某个边框颜色属性覆盖. <style> .box1 { color: ...

  5. 【转载】MySQL count(*) count(1) count(column)区别

    MyISAM 引擎把一个表的总行数存在了磁盘上,因此执行 count(*) 的时候会直接返回这个数,效率很高 InnoDB 引擎执行 count(*) 的时候,需要把数据一行一行地从引擎里面读出来,然 ...

  6. 第8篇NFS PersistentVolume

    一.部署nfs服务端: k8s-master 节点上搭建了 NFS 服务器,也可以在部署节点搭建,原理一样 (1)安装nfs服务: yum install -y nfs-utils rpcbind v ...

  7. reduce 好东西

    reduce()方法可以搞定的东西,for循环,或者forEach方法有时候也可以搞定,那为啥要用reduce()?这个问题,之前我也想过,要说原因还真找不到,唯一能找到的是:通往成功的道路有很多,但 ...

  8. Python3.5-20190504-廖老师的2-if elif else continue break

    条件判断: if 条件1: 代码块 elif 条件2: 代码块 else 条件3: 代码块 brith = input("请输入出身年月:") if  brith > 200 ...

  9. windows10 配置SSH连接Github、配置SSH Key

    由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以,需要设置SSH key. 第1步:创建SSH Key.在用户主目录下[我的电脑是C:\Users\ad],看看有没有.ssh ...

  10. FTPClient TLS 与 FTP 进行数据传输异常:Remote host closed connection during handshake

    环境:java JDK 1.8.org.apache.commons-net-3.6.jar.端口已放开 FTPClient ftpClient = new FTPClient(protocol, f ...