《构建之法》第8、9、10章读书笔记及读后感

第八章:需求分析

软件需求

人们(用户)的需求五花八门,作为一个软件团队要准确而全面地获取这些需求主要有以下四个步骤:

  1. 获取和引导需求。这一步骤也被叫做“需求捕捉”。软件团队需要为用户着想,设身处地,为用户引导出需求。
  2. 分析和定义需求。从各个方面获取的需求进行规整,定义需求的内涵从各个角度将需求量化。
  3. 验证需求。软件团队要跟利益相关者沟通,通过分析报告、技术原型、用户调查或演示等形式向他们验证软件团队对于这些需求的认知。
  4. 在软件产品的生命周期中管理需求。

对软件的需求,也可以从不同角度做以下的划分:

  1. 对产品功能性的需求
  2. 对产品开发过程的需求
  3. 非功能性需求
  4. 综合需求

软件产品的利益相关者

很多人或机构都是某个软件的利益相关者,软件团队在分析软件需求时要考虑如下这些利益相关者:

  1. 用户(或称最终用户)
  2. 顾客(或称客户)
  3. 市场分析师
  4. 监管机构
  5. 软件工程师

获取用户需求——用户调查

以下是几种常用的用户调研方法:

1.焦点小组

2.深入面谈

3.卡片分类

4.用户调查问卷

5.用户日志研究

6.人类学调查

7.眼动跟踪研究

8.快速原型调研

9.A/B测试

竞争性需求分析的框架:1.N(需求) 2.A(做法) 3.B(好处) 4.C(竞争) 5.D(推广)

第九章:项目经理

PM指的是项目经理

Product Manager:产品经理——正确地做产品。

Project Manager:项目经理——正确地做流程。

Program Manager:微软职位名称。

微软PM的来历

大部分公司的项目经理叫Project Manager,微软的经理叫做Program Manager。微软曾经是一个创业公司,两个创始人都是开发人员,招聘的新成员也大多是像他们一样的开发人员。查尔斯.西蒙尼超级程序员于1981年加入微软公司,并实施MP和SP改革,目的在于减少交流成本,实际上由于没有人想做SP,所以这次改革不了了之。后来,贾伯.布鲁门萨尔的程序员提出了Program Manager(PM)这一头衔,并成为了微软第一个PM。PM的出现让负责一个功能的开发/测试人员和相关的PM紧密合作,再有PM代表这一小组去和别的小组或客户打交道,大大降低了交流的成本,有专人负责开发/测试以外的许多事务和项目进行管理,让开发人员专注于技术方面的工作,实践也证明了这种改革利大于弊。

PM做开发和测试之外的所有事情

PM最大、最独特的贡献是带领团队达成最重要的目标,并保持团队的平衡。

牛人主导的项目,往往会大起大落;PM主导的产品中,"不犯大错“成了一个特点。

PM的能力要求和任务

  1. 观察、理解和快速学习能力
  2. 分析管理能力
  3. 一定的专业能力
  4. 自省的能力

第十章:典型用户和场景

典型用户可包括以下内容:

  1. 名字(越自然越好)
  2. 年龄(不同年龄和收入的用户有不同的需求)
  3. 收入
  4. 代表的用户在市场上的比例和重要性(比例大不等同于重要性高,如付费的用户比例较少,但是影响大,所以更重要)
  5. 使用这个软件的典型场景
  6. 使用本软件/服务的环境
  7. 生活/工作情况
  8. 知识层次和能力
  9. 用户的动机、目的和困难
  10. 用户的偏好

注意:团队做出来的软件不是为所有人服务的,要非常明确地定义谁是我们的用户

定义了最初的典型用户后,我们还要和这些典型的用户代表交流,理解用户,理解他们的工作方式和需要,然后再修改,细化典型用户。

用例:(很常用的需求分析工具)

使用用例的原则:

  1. 通过讲简单故事来传递信息
  2. 保持对全系统的理解
  3. 关注用户的价值
  4. 逐步构建整个系统,一次完成一个用例
  5. 增量开发,逐步构建整个系统
  6. 适应团队不断变化的需求

总结:读完这几章内容,发现软件需求分析很关键,它指引着团队要开发怎样的软件,如果分析错误将会花费工程人员大量的时间纠正项目,并重新工作,加大开发的难度。因此要把握好、准确而全面地获取用户的需求信息。PM做开发和测试之外的所有事情,带领团队达成最重要的目标,并保持团队的平衡,让开发人员专注于技术方面的工作。所以,我觉得PM的改革措施具有历史性意义,值得去借鉴。

时间: 2024-10-12 03:53:17

《构建之法》第8、9、10章读书笔记及读后感的相关文章

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

 <构建之法>第四&十七章读书笔记 一.         前言 再次阅读<构建之法>,愈发被其中生动有趣的举例吸引.作为一本给予软件工程学生的书籍,其不以枯燥的理论知识为核心,而是基于对知识和方法的引导.本次研读的这两章内容主要涉及了代码规范,两人结对与多人合作的团队方面等相关知识,从其中逐渐明白与人相处作业等方面的技巧与艺术.以下是我对这两章节的思考与疑惑. 二.        第四章<两人合作>. 本章主要涉及代码规范,极限编程,结对编程,两人合作不同阶段,

《构建之法》第4.17章读书笔记

<构建之法>第4.17章读书笔记 第四章 原文语句: 异常不能跨过DLL或进程的边界来传递信息,所以异常不是万能的. 提出问题: 1.什么是DLL?DLL是来解决什么问题的? 网上说法: DLL是Dynamic Link Library的缩写,意为动态链接库.在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中.当我们执行某一个程序时,相应的DLL文件就会被调用.一个应用程序可有多个DLL文件,一个DLL文件也可能被几个应

《构建之法》第8、9、10章读书笔记、读后感以及Sprint1总结

第八章讲述了软件需求的类型.利益相关者,获取用户需求的常用方法和步骤,竞争性需求分析的框架NABCD,四象限方法,还有就是项目计划和估计的技术. 其中软件需求分为: 1.获取和引导需求 2.分析和定义需求 3.验证需求 4.在软件产品的生命周期中管理需求 软件产品的利益相关者分别是 用户(或称最终用户).顾客(或称客户).市场分析师.监管机构.软件工程师 获取用户需求的常用方法和步骤为: 1.焦点小组 2.深入面谈 3.卡片分类 4.用户调查问卷 5.用户日志研究 6.人类学调查 7.眼动跟踪研

MySQL cookbook第10章读书笔记

1,使用load data和mysqlimport导入数据 1个ok,2个warning!!! 为什么会有warning,而且数据也没有load进去 2,指定数据文件位置 了解MySQL查找文件位置的规则. 如果load data语句没有local选项,MySQL读取数据文件将按下述规则在服务器所在机器上定位文件的位置: 文件的绝对全路径名(从文件系统的根开始),MySQL直接读取该文件. 给定的是文件的相对路径名,按照路径名的两种不同形式来解释和处理. 3,指定数据文件的结构 有一个数据文件但

阅读《构建之法》8到10章

第8章 四象限法是一种什么样的方法?如何在现实中运用好四象限法来分析软件的功能?杀手功能是否在四象限法占了很大的作用? 第9章.项目经理 才能成为一名合格的项目经理,要做好哪些方面,具备哪些能力? 第10章.典型用户和场景 一个软件应该满足各种用户还是专注于某种类型的用户呢?开发者又应该从什么方面去考虑软件服务的用户和类型?

阅读《构建之法》8 9 10章疑问

8章,计划与估计里,说到某著名公司的工程师,做软件预期的时间总是要延长很长的时间,这预期有什么用呢?是为了蒙混老板?还是为了激发工程师们潜力,使他们认真工作? 9章:什么样的人才能当PM,PM如果有很多人可以胜任,PM只有一个名额,没被选上的可能会不服,PM可能管理不了团队的某一些人.PM又该如何选择? 10章:我们程序开发员,要做各种程序,在典型用户里面,为什么是我们自己构思出来的,而不是用户调查出来的?毕竟程序员不是那行业的人,不可能完全符合实际用户的需求.这样做出来的程序是不是浪费时间呢?

构建之法第8,9,10章

第八章主要讲的是软件需求和分析,然而软件的需求要分为以下几步:1.获取和引导需求,讲的是软件工程团队需要找到软件利益相关的人员,了解和分析他们对软件的需求.2.分析和定义需求,是软件团队对各种需求进行分析和调整,从各种角度对需求量化.3.验证的需求,讲的是软件工程团队要跟相关者沟通,实时更近他们需求,并且通过报告,调查等方法向他们验证软件团队的认知.4.是软件产品的生命周期中管理需求,是软件工程团队在技术的发展的同时,也要对自我的能力的提升. 第九章主要讲的是项目经理的由来,本章首先讲的是PM是

《构建之法》8,9,10章读后感和总结

第八章:需求分析 需求分析,我觉得需求分析挺重要的,一个需求分析是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么.可以说,在软件工程当中的"需求分析"就是确定要计算机"做什么",要达到什么样的效果.可以说需求分析是做系统之前必做的.需求分析确定了整个团队的方向,那么怎么做好需求分析呢?有以下几个步骤:1.获取和引导需求:2.分析和定义需求:3.验证需求:4.在软件产品的生命周期中管理需求. 第九章:项目经理0

读《现代软件工程——构建之法》第8~10章

真心看不懂! 第八章  需求分析  8.2软件产品的利益相关者  8.4功能定位 问题:怎样才能高效率的广泛而深入地了解用户的背景.心理.需求等等? 第九章 项目经理 问题:作为一个PM,如何能让自己得到所有团队人员的支持?作为一个PM又该如何管理好自己的同事,使项目做的更好?(感觉这一点是很重要但又好怕自己做不好的,毕竟每个人都有每个人自己的生活.) 第十章 典型用户和场景 问题:如何能更进一步深层次的挖掘用户的需求?