为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

是你在控制项目

2011-11-19 7页 pdf 412KB 21阅读

用户头像

is_035738

暂无简介

举报
是你在控制项目 是你在控制项目,还是项目在控制你? 使用生命周期自动管理工具来管理项目 软件与系统开发是一件麻烦不断的事情,经常延期、超出预算与满足不了某些功能。 这是由于软件与系统开发有太多的细节需要跟踪,所以项目很难控制。使事情更糟的 是,在当今的条件下,预算被大大地缩减-却还要更快更好地完成项目。管理者们必 须准时交付项目,同时还要使团队提高生产率。怎样才能做到这些呢? 一种解决方案是对不断变化的系统需求、代码变更、任务分配与项目进展进行跟踪。 但是,如果采用手工方式,这需要一定的训练、组织—和很长的时间—来维护、跟踪 ...
是你在控制项目
是你在控制项目,还是项目在控制你? 使用生命周期自动管理工具来管理项目 软件与系统开发是一件麻烦不断的事情,经常延期、超出预算与满足不了某些功能。 这是由于软件与系统开发有太多的细节需要跟踪,所以项目很难控制。使事情更糟的 是,在当今的条件下,预算被大大地缩减-却还要更快更好地完成项目。管理者们必 须准时交付项目,同时还要使团队提高生产率。怎样才能做到这些呢? 一种解决是对不断变化的系统需求、代码变更、任务分配与项目进展进行跟踪。 但是,如果采用手工方式,这需要一定的训练、组织—和很长的时间—来维护、跟踪 与沟通所有相关的信息。实际上真正需要的是一种商业化的产品开发生命周期管理系 统来对那些关系到项目成败的重要细节进行跟踪。幸运的是,这种方案已经出现在市 场上了。 项目失控的原因 根据 Standish 集团的报告,项目开发失控的问题在某些行业是普遍存在的。在 2000 年,只有 28%的软件项目按时、在预算内且功能完整地被完成—而在大型项目中,成 功率还要低。(见图 1),比起从前成功率已经有了很大的提高。当 Standish 集团在 1994 年首次研究这个问题的时候,软件开发就如同陷入了沼泽—只有 16%的软件项 目被列为成功。(见图 2) 使事情更复杂的是,软件的功能是逐步被实现的:对美国公司来说,平均只有 67%的 用户需求在最终产品中被实现。(见图 3)同样的研究显示,平均有 45%的项目超出 了预算,并且比计划时间超出了 64%。(见图 4) 图 1 与图 2 :项目的成功仅仅依靠运气,而没有成为必然时,情况还要更糟。当公司逐步采用商 业化的工具来管理、监视与控制开发生命周期的时候,成功率得到了提高。 *数据来源于 Standish 集团。更多信息请访问 http://www.standishgroup.com。 2000 软件项目的成功率 49% 23% 28% Challenged - Late, over budget and below specs Failed - Cancelled or never implemented Succeeded - On time and on budget with full functionality 软件项目成功率* 1994 - 2000 31% 49% 23% 28% 16% 53% 0% 10% 20% 30% 40% 50% 60% Challenged Failed Succeeded 1994 2000 49%-被质疑的-延期、超过预算与未完成要求 23%-失败的-取消了或未实施 28%-成功了-按时、在预算内,完成全部功能 被质疑的 失败的 成功的 什么地方出了错? 导致项目失败或延期的最关键因素是不完整或变化的需求、需求描述和任务的优先 级。 在任何项目中,变化都是必然存在的。客户的期待会随着与他们竞争产品的发布而变 化,从而引起功能模块的增加。随着项目的进展,时间进程会被拖延,导致一些 功能被削减。在严酷的市场条件下—或项目主办者的反复无常—会导致人员或优先级 被重新安排。 例如,失去一个师也许会对项目的进程产生巨大的影响。项目小组不仅失去了一 个人的经验与生产能力,也需要时间与精力来找人替代他。需要寻找新的开发人员, 并需要培训以便适应相关的工作—这些都需要时间。无论何种情况,都能够对工作进 行重新分配而不对进度造成严重的影响。无论是需求不完整,不清晰—或由于人员的 变动—都会产生一系列的影响。 沟通—或缺乏沟通—是项目成功与否关键的因素。开发的努力往往由于优先级的变化 而被白白地浪费掉。缺乏沟通会使工作失去重点或忽略变化了的需求。一个看似简单 的变更会引起不可预见的性能不稳定、新的缺陷或功能缺失。如果这是一般项目管理 者常见的问题,那么这很可能成为大项目负责人的灾难。 在当今激烈竞争且充满变数的市场中,有效地管理需求、变更与优先级会对项目的预 算、进程与成功产生无法估量的影响。做为公司或项目的管理者,重视这些因素就意 味着他们正向改进问题迈进一步。(见图 5) 软件项目最终实现的功能* 1994 - 2000 67% 61% 0% 25% 50% 75% 100% 实现的功能与预期的功能的比率 1994 2000 软件开发项目逾期、超预算* 1994 - 2000 189% 222% 145% 164% 100% 125% 150% 175% 200% 225% Cost OverrunsTime Overruns 1994 2000 图 3 :由于缺乏明确的方向与对开发过程的 控制,软件功能通常是一种折中。商业化的 工具可以帮助消除模糊的定义—减少这种折 中的必要。 图 4 :预算与发布时间可以是随意更改的吗? 随着市场竞争的日趋激烈,发布时间与预算也 变得越来越重要。清晰的计划—对变更所影响 成本的了解—能够使项目重新得以控制。 时间逾期 预算超标 步骤 1 :定义与管理需求 通过明确清晰地列出用户的需求,会为开发指明方向。需求管理为开发任务提供了侧 重点与逻辑流程,为开发提供了框架。在前期花费时间来定义产品需求会相对容易, 当产品发布时间邻近时,就能够保证产品达到目标与符合市场需求。 好的需求通常能定义产品的功能—与怎样实现这些功能—通过把要实现的目标分解成 能被完全理解的细化部分。细化的程度可由开发团队的大小、经验与项目的复杂度而 定。 例如,新的美国政府法规需要软件程序符合某种易用性标准。因此许多软件供应商就 得马上升级他们的用户界面,使之符合这些标准。任何公司包括政府在短期内都有一 个符合这一目标的清单。当一个需求写道“用户界面必须满足第 508 条标准,”为完 成这一目标,缺乏具体的实施细节是无法满足开发团队的要求的。一个好的需求说明 应该包括如下细节:“用户界面应该支持大字体与高对比度的色彩。”根据开发团队 的大小与经验,也许还要对这一需求进一步细化,包括达到这一目标的具体方法,列 出需要支持的字体与定义高对比度的颜色。作为一项原则,这些都要被清楚地面说 明。 一些商业化的需求管理工具允许用户嵌入(或连接)支持文档、图表、模板或执行文 件,为需求提供更详细的开发说明或开发选项。(见图 6)。例如为使开发团队更容易 理解,可以使用一组符合规范的软件界面样图与不符合规范的界面样图进行对比。 商业化的需求管理工具通常包括一般开发情况的模板,甚至包括建议或使用指南,就 像 Microsoft Office 用于生成传真封面的模板与 PowerPoint 的模板。大多数的需求管 理工具也允许用户定义他们自己的模板,生成特定的视图或报告。这些工具在某种程 度上可以使需求的管理与组织更加结构化,使团队或项目小组更容易理解这些需求并 与公司的管理方法、开发、质量管理流程协调一致。 步骤 1: 定义与管理需求 ‰ 用户需求 ‰ 系统需求 ‰ 资源 步骤 2: 与需求建立关联 … ‰ 任务 ‰ 代码变更 ‰ 测试 步骤 3: 对变化进行控制 ‰ 更新需求 ‰ 商业压力 ‰ 技术进步 图5:对这三个基 本步骤的遵循是保 证项目成功的关 键。 好的工具也包括报告功能,能够帮助管理与预测进度,显示那些需求已经被满足及还 有那些未被解决。 步骤 2 :联接需求、任务、代码变更与测试 一旦需求管理系统能够支持公司的流程,项目的系统需求被清楚地定义与沟通,下一 步地工作就是把任务分配、变更代码与测试结果与需求相关联。做得好的话,这种关 联可以对整个流程进行跟踪。这些工作都可以通过商业化的工具来实现。(见图 6) 把任务与需求关联起来,然后把任务分配给团队或个人来完成可以帮助管理者跟踪项 目进度。如果一项任务比预期的时间长,分析需求与任务之间的关系可以发现这种延 期还将影响那些开发进程。然后,根据具体情况重新排列需求、项目时间表以保证每 个工作小组都有相当的工作量。许多需求管理工具都支持基于需求的任务分配方式。 例如 Telelogic DOORS 与 Telelogic SYNERGY/Change 的集成就可以完成这项功能。 通过把版本控制、代码变更与需求管理集成起来,项目管理者通过分析他们之间的关 系就可以使生产率得到提高。首先,把所有代码变更与需求和任务关联起来;然后, 当测试发现产品不能按预期的方式工作时,开发人员可以通过需求跟踪到相应的源代 码版本,从而决定从何处进行修改与重新分配任务。最后,当需求真正变化时,就很 容易决定使用那一版本的代码或对那些代码进行修改以满足新的需求并确定由谁去完 成。 通过市场上的商业化工具,测试与测试结果也能够与需求和代码变更建立关联。使用 这种系统,测试与测试结果可以与一组特定的需求和代码相关联。无论是在测试之初 发现问题还是在代码已经被变更多次的后期发现问题都能够很容易地找出错误所在。 当发布日期接近时,就很容易决定那些未达到的需求应该推迟完成或保留在下一个版 本中来完成。 图6:Telelogic DOORS, 一种商业化的需求管理自 动化工具,支持嵌入对象 如图表与文件、对相关需 求的跟踪联接、测试与代 码变更 步骤 3 :对变化进行控制 虽然许多公司在开发的早期就力图使需求描述与项目的范围固定下来,但这并不是一 件容易而且明智的事。随着商业环境的变化与技术进步,竞争压力或政策也随着变 化,为了成功地发布产品,需求、项目范围与发布时间也常常需要更改。(见图 7) 无论面临的选择是为了更快地把产品推向市场而不得不减少一些功能,或是由于为符 合新的政府标准而推迟发布产品、甚至终止项目,真正的困难在于作出最佳的决策。 这不是一件轻松的事。 在需求、任务、进程、变更请求与配置之间建立相互的关联可以为变更影响分析提供 有价值的依据。通过分析它们之间的关系,就可以确定时间与需求的变化对技术问 题、开发团队、项目进程与发布时间的影响。 系统选型 没有那一种工具是万能的,可以解决组织开发的所有问题。好的项目管理技巧、合理 的开发流程、称职的工程师、现实的预期与团队成员间良好的沟通是最重要的。 通过严格的训练、精密的组织、创新、时间与努力,使用电子表格与用户自己的数据 库,单一的工具也能够象使用自动化工具那样对系统的可跟踪性进行维护。但是通过 集成的、数据库驱动的工具来变更与更新系统的关系可以为项目组每个成员提供更全 面的信息。 需求 : - 驱动任务 - 驱动测试 - 与代码变更相关联 代码变更 : - 与需求相关联 - 使完成任务的结果 - 触发测试 任务 : -由需求驱动 - 进行代码变更 测试 - 由需求驱动 - 由代码变更触发 图7:需求变化后, 任务也需要进行相 应的调整。测试也 需要重写以保证与 新的需求相一致。 与需求不一致的代 码变更需要重新修 改。如果使用手工 方式进行跟踪,则 很快就失去控制 了。 通过把需求与任务相关联,你能够确信所有的开发任务都已经被清楚地定义并且与需要的功能 相关联。通过把需求同代码变更相关,可以容易地确定那些代码需要被最终编译-或在发现错 误后重新编译。通过把需求与测试相关联,可以容易地发现那些需求已经被满足并且还有那些 需要改进。 当今强大的需求管理与自动化工具可以帮助用户控制产品开发的整个生命周期。集成 了项目管理、需求管理与开发流程的思想,这些工具可以支持流畅的沟通并能帮助完 成项目的目标和管理项目进程—包括应对各种变化。 自动化的、集成的系统很容易监控进程并决定那些需求一定要被实现—通过那一行代 码—那些需求可以以后再考虑。要解决的问题被清楚地定义后,就可以在项目的早期 分配好资源来保证项目的成功。当需要做变化时,用户可以知道那些源代码会受到影 响,并且改变这些源代码会影响那些需求。变更驱动的任务分配可以自动把任务分配 给具体的人员,保证任务的实施。 例如,当测试团队在软件中发现了错误,他们无需在成百上千行代码中进行查找。生 命周期自动化管理工具提供需求与源代码之间的关联,所以通过需求查找问题会很快 地定位到有问题的代码。好的工具提供所有源代码的变更历史记录,包括代码在何时 被变更、变更的内容及根据何种需求进行的变更。在产品发布时,这种需求与源代码 之间的跟踪性消除了需要最终决定编译那些源代码的困惑。 Telelogic 生命周期自动化管理的解决方案 Telelogic 公司提供一种集成的解决方案,把企业级的需求管理工具 Telelogic DOORS 与变更管理工具 Telelogic SYNERGY 集成起来。这种集成把需求与变更请求、任务与 源代码控制结合到一起,为开发团队提供自始至终的可跟踪性、影响分析、验证与实 时状态报告。(见图 8) 通过动态的跟踪报告,用户可以对从生成需求到实施的整个过程进行跟踪,并且用户 可以在 DOORS 里生成,查询与修改变更请求。例如,用户能够生成报告来显示与变 更请求的相关需求、任务与文件。 测试 变更与配置管理 可视化软件开发文档 需求管理 测试 变更与配置管理 可视化软件开发文档 需求管理 图 8 :自动生命周期 工具,如 Telelogic SYNERGY/DOORS 的 集成可以通过建立需 求、设计、测试与变 更管理和源代码控制 的联接来加速开发流 程。通过把流程与工 具结合起来,可以容 易地预测项目进度从 而避免不必要的花 销。 这种集成使得变更流程成为自动化,变更请求表可以被预先自动填入需求信息和变更 请求、任务、代码的相关联接。实时的需求状态信息可以使用户知道需求的实施状 态,项目的进展情况与需求变更后会对项目造成的影响。 例如雷神(Raytheon)导弹系统公司使用 DOORS 与 SYNERGY 作为达到软件成熟度 模型第 5 级的关键工具。这表明雷神(Raytheon)的开发流程与工艺已经达到了软件 成熟度的顶级。通过 DOORS 与 SYNERGY,作为国防的供应商能够建立完整定义 的、可重复的流程使得由变更所引起的错误减少到最小,并可以向客户展示他们能够 满足客户需求的能力。 通过使用商业化的解决方案来演示概念,并赢得了建造联合攻击战斗机(Joint Strike Fighter)的后,洛克西德马丁(Lockheed Martin)把 DOORS 作为标准的工具。 自动跟踪功能帮助他们跟踪从分析到建模甚至测试的各阶段与需求的关联关系。在建 立原型样机阶段,他们要求所有的分包商都使用 DOORS 作为需求管理工具。 其它的国防供应商也依赖 DOORS 及相关工具,因为他们需要严格的报告与可跟踪 性。一个供应商使用 DOORS 来输入与跟踪变更请求,另一个供应商使用 DOORS 来 保证需求与设计的一致性。一个领先的航空公司使用 DOORS 来自动收集测试报告, 使得测试时间由几个月减少到几个星期。 自动化工具 魔鬼总是存在于细节当中。象 DOORS 与 SYNERGY 这样的生命周期自动化管理工 具,可以管理流程中复杂的细节从而帮助开发小组获得成功,并使每个人都能集中精 力于最终的目标:使客户满意。 关于 Telelogic DOORS: 需求管理工具的领导者 Telelogic DOORS 是需求管理市场上的领先工具。使用 DOORS,用户可以编辑、跟踪 和管理项目中建立起来的所有需求,以保证最终产品符合所有定义的客户需求。 关于 Telelogic SYNERGY: 基于任务的变更管理 Telelogic SYNERGY 在 Yphise 2003 年报告中被称为市场上最先进的变更和配置管理 系统,是用来在软件产品开发生命周期中跟踪变更,保证配置完整性的项目工具,它 支持并行和分布式开发团队,从而提高效率和质量。
/
本文档为【是你在控制项目】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索