对软件研发过程中用户需求 研发设计 项目测试 交付实施测试等流程监督管理

上传人:n**** 文档编号:54908882 上传时间:2018-09-21 格式:PDF 页数:29 大小:956.45KB
返回 下载 相关 举报
对软件研发过程中用户需求 研发设计 项目测试 交付实施测试等流程监督管理_第1页
第1页 / 共29页
对软件研发过程中用户需求 研发设计 项目测试 交付实施测试等流程监督管理_第2页
第2页 / 共29页
对软件研发过程中用户需求 研发设计 项目测试 交付实施测试等流程监督管理_第3页
第3页 / 共29页
对软件研发过程中用户需求 研发设计 项目测试 交付实施测试等流程监督管理_第4页
第4页 / 共29页
对软件研发过程中用户需求 研发设计 项目测试 交付实施测试等流程监督管理_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《对软件研发过程中用户需求 研发设计 项目测试 交付实施测试等流程监督管理》由会员分享,可在线阅读,更多相关《对软件研发过程中用户需求 研发设计 项目测试 交付实施测试等流程监督管理(29页珍藏版)》请在金锄头文库上搜索。

1、软件项目管理流程总结1. 风险评估 2. 成本预算 3. 客户沟通的过程 4. 需求分析 5. 面向对象程序设计(略) 6. 开发管理 7. 产品交付一、一、风险评估风险评估 软件项目风险是指在整个项目周期中所涉及的成本预算、 开发进度、 技术难度、 经济可行性、 安全管理等各方面的问题, 以及由这些问题而对项目所产生的影响。 项目的风险与其可行性 成反比,其可行性越高,风险越低。软件项目的可行性分为经济可行性、业务可行性、技术 可行性、法律可行性等四个方面。而软件项目风险则分为产品规模风险、需要风险、相关性 风险、管理风险、安全风险等六个方面: 1.产品规模风险产品规模风险 项目的风险是与产

2、品的规模成正比的,一般产品规模越大,问题就越突出。尤其是估算产品 规模的方法,复用软件的多少,需求变更的多少等因素与产品风险息息相关: (1)估算产品规模的方法 (2)产品规模估算的信任度 (3)产品规模与以前产品规模平均值的偏差 (4)产品的用户数 (5)复用软件的多少 (6)产品需求变更的多少 2.需求风险需求风险 很多项目在确定需求时都面临着一些不确定性。 当在项目早期容忍了这些不确定性, 并且在 项目进展过程当中得不到解决, 这些问题就会对项目的成功造成很大威胁。 如果不控制与需 求相关的风险因素, 那么就很有可能产生错误的产品或者拙劣地建造预期的产品。 每一种情 况对产品来讲都可能致

3、命的,这些的风险因素有: (1)对产品缺少清晰的认识 (2)对产品需求缺少认同 (3)在做需求分析过程中客户参与不够 (4)没有优先需求 (5)由于不确定的需要导致新的市场 (6)不断变化需求 (7)缺少有效的需求变化管理过程 (8)对需求的变化缺少相关分析等 3.相关性风险相关性风险 许多风险都是因为项目的外部环境或因素的相关性产生的。控制外部的相关性风险, 能缓 解策略应该包括可能性计划, 以便从第二资源或协同工作资源中取得必要的组成部分, 并觉 察潜在的问题,与外部环境相关的因素有: (1)客户供应条目或信息 (2)交互成员或交互团体依赖性(3)内部或外部转包商的关系 (4)经验丰富人员

4、的可得性 (5)项目的复用性 4.技术风险技术风险 软件技术的飞速发展和经验丰富员工的缺乏, 意味着项目团队可能会因为技巧的原因影响项 目的成功。 在早期,识别风险从而采取合适的预防措施是解决风险领域问题的关键,比如: 培训、聘请顾问以及为项目团队招聘合适的人才等。关于技术主要有下面这些风险因素: (1)缺乏培训 (2)对方法、工具和技术理解的不够 (3)应用领域的经验不足 (4)对新的技术和开发方法应用不熟悉 5.管理风险管理风险 尽管管理问题制约了很多项目的成功, 但是不要因为风险管理计划中没有包括所有管理活动 而感到惊奇。在大部分项目里,项目经理经常是写项目风险管理计划的人,他们有先天性

5、的 不足不能检查到自己的错误。因而,使项目的成功变得更加困难。如果不正视这些棘手 的问题, 它们就很有可能在项目进行的某个阶段影响项目本身。 当我们定义了项目追踪过程 并且明晰项目角色和责任,就能处理这些风险因素: (1)计划和任务定义不够充分 (2)对实际项目状态不了解 (3)项目所有者和决策者分不清 (4)不切实际的承诺 (5)不能与员工之间的进行充分地沟通 6.安全风险安全风险 软件产品本身是属于创造性的产品,产品本身的核心技术保密非常重要。但一直以来,我们 在软件这方 面的安全意识比较淡薄,对软件产品的开发主要注重技术本身,而忽略了专利 的保护。软件行业的技术人员流动是很普遍的现象,随

6、着技术人员的流失、变更,很能会导 致产品和新技术的泄密,致使我们的软件产品被它公司窃取,导致项目失败。而且在软件方 面关于知识产权的认定目前还没有明确的一个行业规范, 这也是我们 软件项目潜在的风险。 7.回避风险的方式回避风险的方式 (1)以开发方诱导能保证需求的完整,使需求与客户的真实期望高度一致。再以书面方便 形成用户需求这一重要的文档,避免疏漏造成的损失在软件系统的后续阶段被逐步地放 大。 (2)设立监督制度,项目开发中任何较大的决定都必须有客户参与进行的,在该项目中项 目监督由项目开发中的质量监督组来实施。 (3)需求变更需要经过统一的负责人提出,并且要用户需求的审核领导认可,需求变

7、更应该 是定期而不是随时的提出,而且开发方应该做好详细的记录,让客户了解需求变更的实际情 况。 (4)控制系统的复杂程度,过于简单的系统结构,对用户来使用比例会有明显的折扣,甚 至造成软件寿命过短。反之,软件结构的过于灵活和通用,必然引起软件实现的难度增加, 系统的复杂度会上升, 这又会在实现和测试阶段带来风险。 适当控制系统的复杂程度有利于 降低开发的风险。 (5)从软件工程的角度看,软件维护费用约占总费用的 55%70%,系统越大,该费用 越高。对系统可维护性的轻视是大型软件系统的最大风险。在软件漫长的运营期内,业务规则肯定会不断发展, 科学的解决此问题的做法是不断对软件系统进行版本升级,

8、 在确保可维 护性的前提下逐步扩展系统。 (6)设定应急计划,每个开发计划都至少应该设定一个应急预案去应对出现突发情况和不 可遇知的风险。 回到目录 二、二、成本预算成本预算 1.成本预算方式成本预算方式 (1)自上而下的预算方法 自上而下的预方法主要是依据上层、 中层项目管理人员的管理经验进行判断, 对构成项目整 体成本的子项目成本进行估计, 并把这些判断估计的结果传递给低一层的管理人员, 在此基 础上由这一层的管理人员对组成项目的子任务和子项目的成本进行估计, 然后继续向下一层 传递他们的成本估计,直到传递到最低一层。 使用此预算方式, 在上层的管理人员根据他们的经验进行的费用估计分解到下

9、层时, 可能会 出现下层人员认为上层的估计不足以完成相应任务的情况。 这时, 下层人员不一定会表达出 自己的真实观点, 不一定会和上层管理人员进行理智地讨论, 从而得出更为合理的预算分配 方案。在实际中,他们往往只能沉默地等待上层管理者自行发现问题并予以纠正,这样往往 会给项目带来诸多问题。 自上而下更适用于项目启动的前期,与真实费用相差在 30% 70%之间。 Scrum 使用自上而下的成本预算方式,它不会立即精确地确定成本,而是以最大限度容纳 客户对未来产品要求所产生的变更。 (2)自下而上的预算方法 自下而上方法要求运用 WBS(Work Breakdown Structure,工作分解

10、结构)对项目的 所有工作任务的时间和预算进行仔细考察。最初,预算是针对资源(团队成员的工作时间、 硬件的配置)进行的,项目经理在此之上再加上适当的间接费用(如培训费用、管理费用、 不可预见费等) 以及项目要达到的利润目标就形成了项目的总预算。 自下而上的预算方法要 求全面考虑所有涉及到的工作任务, 更适用于项目的初期与中期, 它能准备地评估项目的成 本,与真实费用相差在 5% 10%之间。 注解:注解:WBS WBS是面向提交成果对项目的分解,从提交成果的列表可以确定每个提交成果需要执行的 活动。Scrum会对WBS进一步细化,把一个迭代分解为一个或多个的工作包,再把工作 包分解为细小的开发任

11、务(一般开发任务的开发周期在15个工作小时以内)。 2.确定项目支出确定项目支出 总体成本预算就是结合下列多个成本预算方式综合计算的开发成本: (1)零基数预算 在成本预算的初期应该使用零基数的计算原则, 而不可以使用类似于: 以上一年总体费用加 上 20% 这样粗略的方式计算项目成本。 (2)软硬件成本、物品成本 物品成本是指类似于:服务器(RAM 硬盘 CPU NIC 卡 RAID 簇)成本、维护成本、机房 租金、光纤通讯成本、软件成本等的成本。 计算成本时需要考虑组装硬盘需时的长短, 技术人员需要具备的质素, 产品供应商能否提供 保证质量,管理时是否需要额外的管理人员这些多方因素。 (3

12、)软件许可证成本 (4)外包成本当使用类似: 视频、 短信、 移动电信类服务、 门户网站等子项目时可以考虑以外包形式完成, 以降低开发成本。 (5)人力资源成本 计算人力资源成本时应该使用以最高和最低的工作效率估算平均效率的方式, 计算出人力资 源的平均成本。 (6)维修保养成本 回到目录 三、三、客户沟通的过客户沟通的过程程 从客户沟通的方向出发来看,软件项目可分为:需求识别、方案定制、项目实施、项目结束 等 4 个不同的阶段,各个阶段都具有不同的沟通重点。 1.需求识别阶段需求识别阶段 (1)文本沟通 在需求识别的前期,应该通过问卷、原型展示、界面展示、逻辑处理展示、准化文档模板等 方式进

13、行全方位多角度的分析,随时将不明确之处反馈给客户,以期待客户解答。并以文本 记录的方式建立需要分析书, 并要求客户审核需求分析书, 以达到需要分析与客户的真实期 望高度一致的结果。 (2)业务逻辑沟通 在进行业务沟通时,应该了解客户的行业语言,以促进业务分析的过程,越过应用需求和开 发之间的鸿沟。 沟通过程提倡以草图或者可视信息化的方式进行, 针对不同层面的企业用户 提供最适合的操作界面。以多角度的方式思考问题,要抓住需求重点,尤其是客户方领导所 关注的创新类和实用类需求。 (3)需求变更的规范化管理 需求变更在软件开发类项目中是可以理解的,但必须对需求变更做好规范化的管理,以避免 出现需求无

14、止境变更的风险。需求变更必须由统一的负责人提出,并且由用户需求的审核领 导者认可。需求变更的提出应该是定期而不是随时的,开发方应该做好详细的文本记录,让 客户了解需求变更的实际情况和开发方为之所付出的成本代价。 2.方案定制阶段方案定制阶段 该阶段项目的主要任务是与客户共同制定一个以前期明确的需求、 双方的资源、 项目开始的 阶段、实施的时间约定、项目费用限制等为基础的具有可操作性的项目计划,从本阶段开始 争取客户全面参与项目的管理,并以双方的共同利益考虑项目实施的具体计划与风险规避。 3.项目实施阶段项目实施阶段 在该阶段,软件项目团队应该与客户共同领导项目的实施。同时,项目团队应实时评估客

15、户满 意度,并通过持续改进的方式提高客户满意度,还应要求客户参加必要的培训,以及在必要时 检查项目产品。在出现客户的需求变更前,应主动与客户沟通交流,使客户充分了解项目的每 个环节,以及变更带来的影响,减少需求变更。如果出现客户需求变更,应与客户一起共同解 决由变更引起的成本、进度、质量变化。 4.结束阶段结束阶段 该阶段主要进行项目成果的移交,并把系统交付给维护人员,帮助客户实现商务目标,结清 各种款项。完成这些工作后应该进行项目评估,审核此项目的成果并总结项目经验。 5.售前人员注意事项售前人员注意事项 在产品型项目作为开发成果时,相关销售人员应该注意:对产品的推销不应该过分承诺。如 果过

16、分承诺,会给后续的项目实施带来困难;一旦承诺没有兑现,也会降低客户满意度,影响今 后合作。如果有附加承诺,一定要以文本形式记录,让实施项目经理知晓并传达给项目组成 员。注解:在软件项目中注解:在软件项目中,需要明确以下四种客户角色需要明确以下四种客户角色 A.要明确最终使用部门和用户,要去了解他们现有的工作方式,要让他们知道项目的目标 框架,知道项目要解决他们的哪些困难,但绝对不是全部困难,这样可以较好的控制项目范 围。 B.要明确需求的提出者,他或者他们要能够代表最终客户群体。提出产品需求的这类客户 要具有一定的技术、业务能力和权威,能够真正代表最终客户团队的意愿和想法,最好有IT 基础,能够用IT语言描述问题和需求,以利于双方的沟通、协作,避免产生歧义。 C.要明确做需求确认的中层领导,他要把握方向。软件开发项目是解决实际生产或者管理 问题,同时 也是领导系统建设的具体实现,做需求确认的客户领导,既要了解高层领导的系 统建设要点和方向,又要谙熟具体业务和生产管理实际。 如果是这样的客户领导来把 握和决 策,对企业软件开发项目的顺利进展作用非凡。 D.要明确谁来对成

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 咨询培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号