构建之法之需求分析

人们求助于软件解决问题,那么软件团队如何准确而又全面的找到这些需求呢?

一.软件需求

1。获取和引导需求:软件团队需要找到软件的利益相关者,了解和挖掘他们对软件的需求,引导他们表达出真实的需求;

2.分析和定义需求:

3.验证需求

4.在软件产品的生命周期中管理需求

也可以从不同的角度划分:

1).对产品功能性的需求

2)。对产品开发过程的需求

3)。非功能性需求

4)。综合需求

5)软件产品的利益相关者

二。获取用户需求的方式——用户调研

1.焦点小组

2.深入面谈

3.卡片分类

4.用户调查问卷

5.用户日志研究

6.人类学调查

7.快速原型调研

8.A/B测试

三。竞争性需求分析的框架

1.N(Need,需求)

2.A(Approach,做法)

3.B(Benefit,好处)

4.C(Competitors,竞争)

5.D(Delivery,推广)

四。功能的定位和优先级

1。杀手功能:OCR文字识别技术,可以在屏幕上取词解释,拥有独家权威词典,等等。

2.外围功能:良好的界面设计,在各个平台都能解释。

3.必要需求:单词短语释义的准确性(如果达不到这一点,用户就不会来使用)。

4.辅助需求:可以做各种皮肤(这也许能让一些用户更喜欢这个软件,但不是决定因素)。

资源有限,对待不同功能的舍去方法:

1)维持——以最低成本维持此功能

2)抵消——快速地达到“足够好”,“和竞争对手差不多"

3)优化——花大力气做到并保持行业最好

4)差异化——产生同类产品比不了的功能或优势(任务我有,人有我优)

5)不做——砍掉一个功能也是一个办法,我们并不一定要做到所有功能

五。计划和估计

1.目标,估计和决心

在开始估计之前,我们要分清这几个概念:

目标:表明一个希望到达的状态

估计:以当前了解的情况和掌握的资源,要花费多少人力物力时间才能实现某事

决心:保证在某个时间之前完成预先规定的功能和质量

2.找出估计后面的假设

3.提高估计能力的招数

1)快速原型发——用于一两个先锋去探路

2)估计扑克牌

3)划拳估计法

4)T恤尺寸法

4.分而治之

分而治之的办法——WBS(Work Breakdown Structure)

做好WBS的几个要点:

1)保证所有子节点覆盖了全部父节点包含的内容

2)保证各个子节点不要相互覆盖

3)叶子结点要保证足够小,能在一个里程碑中完成。在通常的软件项目中,叶节点的成本最好不要超过两周。如果团队成员从常理出发,认为叶节点不宜在分下去,那就可以停止。

4)从结果出发构建 WBS,而不是团队的活动出发。

时间: 2024-10-06 22:09:18

构建之法之需求分析的相关文章

《构建之法》需求分析 读书笔记

后悔没有早点读完这章,回想团队项目刚开始时做的需求分析,深深感到我们实在太天真.太理想.毕竟没有理论指导,按习惯做调研是容易碰钉子的,不过现在项目还未正式启动,亡羊补牢,为时未晚. 我们踩中了哪些坑? ①未能充分引导用户表达需求 我们采用了问卷调查的方式,但没有做进一步的深入调研.问卷调查有其好处--简单方便.调查速度快.数据易统计,但也有固有的弊端,那就是容易形式化,不易让受调查者充分表达自己的观点.问题或是诉求.出于节约受调查者时间的目的,题目基本设定为多项选择,这会有什么后果呢?填问卷的人

再读《构建之法》——学习软件工程需求分析

软件需求是软件存在的意义,需求分析则是软件工程的基石所在.在<构建之法>一书中,详细地阐述了软件需求分析的过程及其注意事项,令我收获良多. 该书将需求分析分为四个步骤:"获取和引导需求","分析和定义需求","验证需求"和"在软件产品的生命周期中管理需求".对软件的需求,也分为四种"对产品功能性的需求"."对产品开发过程的需求"."非功能性需求"和&quo

《构建之法》学习(8)——需求分析

<构建之法>学习(8)--需求分析 1.软件需求   1.1如何准确而全面地找到需求 获取和引导需求 软件团队需要找到软件的利益相关者,了解和挖掘他们对软件的需求,引导他们表达出对软件的需求 需求还可以来自各种管理机构 需求不仅来自外界,还可以来自软件企业本身 需求还可以来自技术团队本身 有些需求的目的是要"更好地了解用户的行为和需求" 分析和定义需求 验证需求 在软件产品的生命周期中管理需求 1.2软件需求的划分 对产品功能性的需求 对产品开发过程的需求 非功能性需求 综

构建之法——读书笔记(8)

<构建之法>第十&十一章 主要讲述了在软件设计前期的需求分析问题上的方法和实践经验,分为"典型用户和场景"以及"软件设计与实现". 其中第十章大部分内容包含: 用户的分类(典型用户可以包括以下内容: 1. 名字(越自然越好) 2. 年龄(不同年龄和收入的用户有不同的需求) 3. 收入 4. 代表的用户在市场上的比例和重要性(比例大不等同于重要性高,如付费的用户比例较少,但是影响大,所以更重要 5. 使用这个软件的典型场景 6. 使用本软件/服务的

构建之法阅读笔记05

2017.5.20 今天阅读的是<构建之法>第8章需求分析的阅读笔记,我们如果要开始做一个软件,最先要进行的就是需求分析,我们应该充分的了解我们这个软件是否具有前景,我们为用户提供的服务是不是用户所需要的,这一章详细的叙述了如何进行需求分析. 首先是获取和引导需求,我们应该找到软件的利益相关者,了解挖掘他们对软件的需求,引导他们表达出真实的需求.然后分析和定义需求,对各个方面的需求进行规整,定义需求内涵,从各个角度将需求量化,然后估计实现这些需求所需要的时间和资源,确定各个需求的优先级.紧接着

读《构建之法》有感

构建之法,超越软件,不至于代码: 由于一直没有拿到书,又看不惯电子书,所以就一直没写阅读笔记,在对自己略感失望之余,我沉心静气地做出计划,安排时间,意外的是3天时间就读完了,略感欣喜之余,也越发深刻的感受到「阅读和思考」的重要性. 这本书有别于传统理论教材晦涩难懂,阅读性差的特点,通过一种活泼生动,别开生面的方式将「软件工程」这门学科讲得系统全面,令人印象深刻.因为是专业的学科类书籍,所以其中技术方面的知识的重要性不言自明. 开篇提到的现实世界中软件工程师的职业发展与教科书上经典的瀑布模型刚好相

构建之法读后感2

1.专业 2.但是不迂腐,很接地气 3.但是不屌丝,很有情怀 由此可见,<构建之法>是一本当代软件工程大学教育急需的好书. 本人在大学上的软件工程课用的也是较老的课本,讲的是瀑布式的环节,带着对这门课残留的记忆参加实习的时候,最大的不适应就是对需求变化的反感,当时还不知道"迭代"这个词,只觉得做事情是要"谋定后动"的,"庙算多者胜",怎么能大概了解下需求就开始动手呢?"需求分析"难道不该做的认真.准确.达到一劳永逸

《构建之法》阅读笔记(1)

<构建之法>第一章阅读笔记 大马哈鱼洄游模型 软件工程按照经典的瀑布模型 1. 需求分析 2. 设计阶段 3. 实现阶段 4. 稳定阶段 5. 发布阶段 6. 维护阶段 事实上在现实世界中,软件工程师的职业发展与瀑布流程刚好相反 毕业进入公司(或者实习生),开始学习并维护一些已有的软件(维护阶段),主要由自己的师傅(Mentor)带领 能够在项目中改一些 Bug,然后发现发布小规模的更新版本(稳定/发布阶段),联系重构,开始和其他同事打交道 有机会负责重写一个较小的模块,没有多少文档,自己要写

关于 《构建之法》

1.关于<构建之法>: 看了第一章,关于<构建之法>的概述,通过一定的软件流程,在预计的时间内发布好的软件,软件工程对于开发一个好的软件很重要,在开发中,程序很重要,软件开发流程也很重要. 软件具有:复杂性,不可见性,易变性,服从性,非连续性.还有其他特性. 软件工程的目标:创造“足够好”的软件. 构建之法的目标: 研发出符合用户需求的软件: 通过一定的软件流程,在预计的时间内发布“足够好”的软件: 能证明所开发的软件是可以维护和继续发展的. 可行性分析->项目立项->