每日一博 | 项目需求分析定义的灵魂拷问
[导读] 项目开发,一般都是按照需求驱动开发整个开发过程的。需求是开发的源头,即便是自己DIY一个小东西,心中所想也是一种需求,所以一个项目是否成功,需求分析做的是否到位也是至关重要的。七夕情人节刚过完了,想来有的盆友或许深思倦怠,今天来分享一篇轻松的文章吧。
从搞笑开始
客户想要一款集美丽、智慧于一身的机器人,理想很丰满,可是现实很骨感。项目中不同的角色对这个需求理解各不相同,而表现传递的信息又有可能会大打折扣,所以最后交付造出来的产品与客户想要的相去甚远。
那么问题出在哪里呢?我以为需求失真是罪魁祸首!
-
客户自己对需求理解失真
-
设计人员对需求理解失真
-
需求文档对需求描述失真
-
开发人员对需求设计失真
-
.......
那么对于需求的定义在项目的成功执行,就显得尤为重要了。再看一个关于小龙女形象的经典段子:
这不是终极版本,来看下颠覆三观的终极失控版本:
注:图片来源于网络,纯属调侃搞笑,不带任何歧视,侵删
所以对一个成功的项目而已,需求的作用就显得尤为重要了。
需求的SMART原则,SMART依次英文含义为聪明的,SMART对于需求而言,有哪些度量维度呢?
S:Specific 明确的 M:Measurable 可度量的 A:Achievable 可实现的 R:Realizable 可实现的 T:Traceable and Testable 可追溯及可测的
Specific明确原则
明确原则主要涵盖这样一些要点:
-
需求描述的正确性?描述的需求本身必须是正确的界定某个功能,如果本身就是一个错误的描述,则设计实现就一定是错误的!需求描述的内容是否是需求方(可能是最终客户或者来源于市场产品管理人员)。这项需求真的是需求方所需吗?或者部分所需?或者完全错误? -
需求描述的唯一性?好的做法是将需求拆分成一个个条目,每一个条目描述一项明确精准的需求,相互之间不存在包含关系。 -
需求条目是否在项目的范围内?有的需求可能天马行空,超出了项目预期的范围的事情时有发生。 -
需求描述时否明确了该项需求的前提条件或者约束?
Measurable可度量原则
可度量,我的理解是体现精确性:
-
需求描述的精确性?需求不要用模棱两可的描述,比如不可使用左右,上下,可能等,而尽量用精准的数字去描述。比如需要描述响应时间,推荐描述为响应时间须满足: -
需求描述的客观性?需求描述应采用客观描述语言,忌讳采用具有主管色彩的词汇,比如需求一个产品经理要求设计的UI界面,美观大方,容易操作,这样的需求是非常不易度量的,相信很多盆友或许又遭遇过这样的需求,也一定是非常恼火的。这样的需求你让设计咋整?一千个读者眼中就有一千个哈姆莱特,这样的描述太过主观,最后一定是撕逼扯皮的结局。
Achievable 可实现原则
凡是写入项目需求规格书中的条款理论上就是一份技术合同,需求方就是甲方,项目团队相当于乙方。所以界定需求是需要与甲方反复沟通,反复确认的,否则一旦写入规格书,临了发现臣妾做不到!最后又不免撕逼扯皮!
要实现需求规格书的可实现原则,并不是简单成员坐在一起,拍拍脑袋想想就定下来,这里对于一些具有挑战的技术难点、技术指标是需要做技术预研的,否则可实现就变成了觉得可实现,而非客观上真的可实现!对于是否可实现,可以提出这样些问题:
-
项目团队是否具有这样的技术? -
关键技术指标能否满足要求? -
项目资源配置能满足要求? -
可实现是原则不是描述如何实现!需求描述的就是功能性或非功能性的要求,而不要描述设计方案! -
.......
双T可追溯可测原则
可追溯原则:
-
后向追溯:所有的需求条目,理论上应有甲方(需求方)的源头 -
后向追溯:所有的需求条目,都应有设计能对应保证,都应测试用例可验证。
可测试原则:
-
需求条目,需要应尽量具有可测性 -
需求阶段,理论上测试人员就应该参与讨论,从测试的角度来进行核定。
不良需求描述栗子
无法追溯(无标号)
按下急停开关,系统须停机。(这里其实还不精确,应描述在多少时间内停机) 不可测
SR-1:系统须永不崩溃。 不精确
SR-2:系统应向用户提供快速反馈。(多快?) 无测量公差
SR-3:LED灯应闪烁间隔100毫秒(应定义正负偏差) 过于复杂
SR-4:按红色按钮将激活功能A,按蓝色按钮应使LED 1 闪烁而不是LED 2点亮,点亮LED 2通过黄色按钮实现。(应拆分) 描述实现
SR-5:按下按钮W将导致两个16位整数值相加,然后…
需求描述方法
实际项目中,不同的公司实际落地都各有各的特点,这里大致列举一些常见做法:
-
文档描述法:属于常规方法,很多公司采用这样方案描述项目需求。 -
UML 用例法:利用UML用例图描述需求,这种方法比较直观,比如下图 -
敏捷项目管理,采用用户故事描述(user story)
总结一下
项目开发,需求阶段是一个至关重要的阶段。如果在需求阶段不做足确认工作,需求分析描述做的很随意,开发过程及交付时不免掉进各种坑里。
本文辛苦原创,如喜欢请点赞/在看/分享支持,不胜感激!
—END—
本文分享自微信公众号 - 嵌入式客栈(embInn)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
uBlock 1.34.0 发布,支持多浏览器的高效过滤工具
uBlock1.34.0现已发布。uBlock 是一款支持多浏览器的高效过滤工具,快速、有效且简洁,它不仅过滤广告,屏蔽广告的功能是通过支持 Adblock Plus 过滤规则语法实现的,支持自定义过滤规则。 该版本更新内容大致如下: Closed as fixed tag name 中带有特殊字符的元素的picker故障 在“设置”窗格中将 CNAME-uncloaking 作为隐私选项公开 无法为 implicit strict blocking添加显式异常 element picker 中建议使用无效的网络过滤器 在弹出窗口中使用 +/- 表示是否阻止了 3-p frames Notable commits without en entry in the issue tracker 修复 no-scripting switch 不适用于基于 SVG 的文档的问题 将 CodeMirror 升级到 5.59.2 修复'adsbygoogle' neutered script 仅在需要时插入程序化 cosmetic filterer 的代码 更新说明:https://github.c...
- 下一篇
理查德·斯托曼:为了自由,我决定写一个 GNU 操作系统
开源人物志02|理查德·斯托曼:为了自由,我决定写一个 GNU 操作系统 作者:周荔人 本文获公众号「开源青年」授权转载 “打印机事件”以后,理查德斯托曼觉得:软件本该共享。 “如果我喜欢一个程序,我必须与其他喜欢它的人一起共享它。软件销售商想分割用户并统治他们,让每一个用户同意不与其他人共享软件。我拒绝以这样的方法破坏与其他用户的团结。” 他担心如果专有软件成为社会主流,会出现少数强力人物统治计算机工业的局面。 这种局面早在1949年奥威尔的小说《1984》里早有描写。 “BIG BROTHER IS WATCHING YOU” 《1984》是英国左翼作家乔治·奥威尔于1949年出版的长篇政治小说。 在这部作品中奥威尔刻画了一个令人感到窒息的恐怖世界,在假想的未来社会中,独裁者以追逐权力为最终目标,人性被强权彻底扼杀,自由被彻底剥夺,思想受到严酷钳制,人民的生活陷入了极度贫困,下层人民的人生变成了单调乏味的循环。 为了捍卫自由,我决定写一个操作系统 斯托曼可不想让这种事情发生。 但现实中的斯托曼却面临两种抉择:加入一家专有软件公司或者离开这个黑客圈子。 面包与理想。 或者,斯托曼想,...
相关文章
文章评论
共有0条评论来说两句吧...