软件项目需求调研中的5W+1H定律案例分析
转:http://www.educity.cn/se/620915.html
对于软件的需求调研活动,虽然曾经写过三篇相关的需求管理文章,出发角度是从整体的需求管理过程考虑;在引入CMM(二)需求管理KPA活动的基础上,列举了如何进行需求调研前的需求管理计划活动;在失败的项目中,找出规范和管理软件需求过程的关健点及需求关联的模型架构(这些可以参考以前写过的《CMM需求管理实践经验记录谈》、《从CMM角度考虑需求管理计划》、《如何用CRC模型来确定需求》)。一直以来,感觉自己在经过几个项目试验的基础上对于软件的需求管理应该是有一定的基础和经验了,然而在最近参与的一个大型项目过程中,在新加坡项目经理的引导与帮助下,对于软件需求调研又有了更深一层的体会和认识;总结出需求调研中的5W+1H定律,在此把自己的一些过程和经验描述出来,希望能与各同仁一起分享与讨论。
项目背景:一个中型的企业信息化项目,其中乙方的项目经理是一个拥有PMP证书的资深项目管理人员。甲方的项目经理是一个有着丰富项目实施和管理经验的新加坡项目管理人员。(在这里需要补充的时,在调研产生冲突过程中,外籍人员如何用自己的经验和技巧,让乙方完全可以接收)
项目成员:甲方:外包项目经理、外包项目管理人员。乙方:项目经理、系统分析员、界面制作人员
工作内容:项目需求阶段的活动,对于系统的需求,甲乙双方与最终用户能达成一致,甲方作为外包管理者,主要是对乙方项目组的项目进度、项目阶段成果进行跟踪与验收,以保证项目在预期的时间内完成预期的工作任务。
过程描述:项目启动后,乙方的项目经理列了一份详细的需求调研时间表、调研阶段成果目录清单、界面成果等的计划内容,可以用一个
“赞”字来形容;从计划上看,乙方的项目经理计划真的是完美无缺;在与用户进行业务需求调研的活动中,乙方不仅记录下目前用户现有的业务流程,包括目前流程的局限性,流程的执行性等方面,还为用户进行了将来系统流程的规划,的确是一个不错的开始。可是在乙方提交其阶段的需求分析文档和界面时,却发现二者存在了种种的冲突和矛盾,我们无法将需求分析文档与界面结合在一起。此时,乙方的项目经理解释是因为文档比界面细,所以二者存在一些理解上的差异。而我们甲方却总觉得有些不太对劲,但因为同样存在着对用户流程细节的不熟悉,所以我们也提不出具体的问题,直到有一天,跟着乙方一起做用户的需求活动后,从乙方项目经理的提问方面,我们终于明白为什么他们会做出这样的文档和界面。
首先,乙方项目经理对用户的提问是没有序列的,我们所谓的序列就是项目经理的逻辑是否清晰,除了问及目前的流程外,最重要的引入项目(即新的软件系统)的目的,所需达到的效果,可以对用户辅助的东东,而这些乙方的项目经理一字未提与问,只记录用户所说的过程、局限和要求。这样,乙方项目经理在分析与规划系统的需求时,就没有一个明确的目的性和方向性,这里就要引入第一个W定律---WHY定律。WHY就是为什么用户要引入系统,引入新的信息系统对用户有什么帮助,在总体工作效能上如何实现一个最终的结果?WHY定律是要求在需求开始时,项目经理就应该明确的,这个项目是为了改进用户工作效率;提高部门间的协作机制;加快对客户反应的体系服务;提升企业的竞争力等等。有了这么一个WHY引入思想,项目经理就可以理清用户最终要的是可以提供给他们什么样的系统,在系统的定位和建立上,就有一个明确地最终目标。
其次,有了一个总体的目标性,从各业务流程的要求入手,引入第二个W定律---WHAT定律,WHAT则是这个系统要做什么?实现什么?就是乙方项目经理提出的各业务流程问题、流程局限性问题、系统要解决的问题等,在这个WHAT的基础上,把系统划分成各功能模块,逐步弄清模块流程需求、功能需求、结构需求。引入WHAT定律可以让我们了解到系统的初步需求。
再次,引入第三、四、五个定律---WHO、WHEN、WHERE定律,这个阶段其实就是需求细化阶段,在WHAT定律的基础上,细分系统的用户需求:分析什么人,在什么时间,什么阶段可以或必须操作这个功能,结合前面的WHAT定律,理清系统的流程阶段划分,记录并分析系统功能实现的细节,在这个阶段就可以产生系统需求的用例图(Use Case),作为下阶段设计的依据。
最后,就是所谓的1H定律---HOW定律,就是怎样实现系统了,在前面的WHY、WHAT、WHO、WHEN、WHERE基础上,我们已经搭建了一个非常好的系统需求基础框架,如何在这些用户需求的基础上,分析系统的需求,如何进行需求规格的分析与下阶段的设计、实现工作,就是HOW TOACCOMPLISH THE SYSTEM了。
在需求阶段引入这5W+1H的定律,在一定程度上保证了系统需求的准确性,也使得项目经理或需求分析人员可以非常有序的有条理的开展需求挖掘和调研活动,这样的安排用户在配合上也非常清晰,知道如何与项目人员配合。其后,在我们的建议下,乙方改进了工作方式,理清了一些工作序列,不过在最终文档的提交上,乙方的项目经理为了迎合我们的需求,一直对需求文档的格式与内容进行修改,没有保持需求分析中应该有的从粗到细的阶层分析,也导致其需求分析中的不确定性因素较多,后期的设计工作展开不顺,这些算后话,希望能在以后的外包管理方面,就存在的这些问题进行其它的分析和讨论。
软件项目需求调研中的5W+1H定律案例分析的更多相关文章
- A_Pancers团队作业4—基于原型的团队项目需求调研与分析
任务1:实施团队项目软件用户调研活动. (1)用户调研对象:我们的项目软件是基于安卓系统的音乐播放器,以设计出操作简单的音乐播放器为目的,所以本次用户调研的对象主要以身边的老人为主,对他们听音乐,听戏 ...
- 实验八 <FBG> 基于原型的团队项目需求调研与分析
<FBG>团队项目原型设计:http://www.cnblogs.com/ymm3/p/9012534.html GitHub的链接地址:https://github.com/FBGfbg ...
- 实验八 《Coderxiaoban团队》团队作业4:基于原型的团队项目需求调研与分析
实验八 <Coderxiaoban团队>团队作业4:基于原型的团队项目需求调研与分析 项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 实验八 团队作业4:基于 ...
- 《BUG创造队》第四次作业:基于原型的团队项目需求调研与分析
项目 内容 这个作业属于哪个课程 2016级软件工程 这个作业的要求在哪里 实验八 团队作业4:基于原型的团队项目需求调研与分析 团队名称 BUG创造队 作业学习目标 (1)体验以原型设计为基础的团队 ...
- 《Exceptioning团队》第四次作业:项目需求调研与分析
一.项目基本介绍 项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 作业链接地址 团队名称 Exception 作业学习目标 1.探索团队软件项目需求获取技巧与方法2.学会 ...
- 《ABCD组》第四次作业:项目需求调研与分析
<ABCD组>第四次作业:项目需求调研与分析 项目 内容 这个作业属于哪个课程 http://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https:// ...
- 《hello--world团队》第四次作业:项目需求调研与分析
项目 内容 这个作业属于哪个课程 2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验八 团队作业4:基于原型的团队项目需求调研与分析 团队名称 <hello--w ...
- 《AlwaysRun!团队》第四次作业:项目需求调研与分析
项目 内容 这个作业属于哪个课程 http://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daiz ...
- 《The One!》团队作业4:基于原型的团队项目需求调研与分析
项目 内容 作业所属课程 所属课程 作业要求 作业要求 团队名称 < The One !> 作业学习目标 (1)体验以原型设计为基础的团队软件项目需求获取技巧与方法.(2)学习利用UML模 ...
随机推荐
- base64 和 Blob 相互转换
Base64 to Blob function dataURLtoBlob(dataurl) { var arr = dataurl.split(','), mime = arr[0].match(/ ...
- SQLServer OpenRowSet 导入数据
今早上同事要求从SQLServer2008导出一部分数据到SQLServer2000中作为演示/测试数据,开始也没想多,直接去SQLServer2000的企业管理器中,用了数据导入的功能.以为完事了, ...
- GCD基础
一.GCD介绍 1.what is GCD? Grand Central Dispatch 中枢调度器.用很简单的方式实现了极为复杂繁琐的多线程编程.异步执行任务的技术之一. 2.GCD存在于li ...
- linux下导入、导出mysql 数据库命令
一.导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径):1.导出数据和表结构:mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql#/usr/lo ...
- Jmeter查看结果树
取样结果: Thread Name: test 1-2 线程名称:测试1 - 2Sample S ...
- HDU - 6513 Reverse It (SYSU校赛C题)(组合数学+容斥)
题目链接 题意:给定一个n*m的矩阵,可以选择至多两个子矩阵将其反转,求能形成多少种不同的矩阵. 任选一个矩阵有$C_{n+1}^{2}C_{m+1}^{2}$种方法,任选两个不同的矩阵有$C_{C_ ...
- 每天一个linux命令:【转载】cd命令
Linux cd 命令可以说是Linux中最基本的命令语句,其他的命令语句要进行操作,都是建立在使用 cd 命令上的. 所以,学习Linux 常用命令,首先就要学好 cd 命令的使用方法技巧. 1. ...
- Java 并发:volatile 关键字解析
摘要: 在 Java 并发编程中,要想使并发程序能够正确地执行,必须要保证三条原则,即:原子性.可见性和有序性.只要有一条原则没有被保证,就有可能会导致程序运行不正确.volatile关键字 被用来保 ...
- python3.x 类和对象
python同样支持类和对象.在python3.x中没有了经典类,只有新式类,默认创建的就是新式类.具体的新式类与经典类的不同在python3.x中已经没有意义了. 类的定义和实例化 python定义 ...
- flask第十四篇——重定向
我们都知道京东的url是www.jd.com,但是当你输入www.jingdong.com时候,你会发现地址自动跳转到了www.jd.com,这种技术手段就叫做重定向. 重定向分为永久重定向和临时重定 ...