软件开发过程中里程碑的应用(共9页).docx
精选优质文档-倾情为你奉上 北京理工大学 论文题目:软件开发过程中里程碑的应用 姓 名 蔡 林_学 号 _ 班 级_ _2013 年 5 月 3 日摘 要“里程碑“设于道路旁边,用以记载里数的标志。(指的是标志公路及道路里程的碑 石,每一公里设一块)在项目管理中我们也借用了“里程碑”的概念。里程碑是一个目标导向模式,它表明为了达到特定的里程碑需要完成的一系列活动。里程碑式开发是通过建立里程碑和检验各个里程碑的到达情况,来控制项目工作的进展和保证实现总目标。借用我公司自主研发的“宽带接入综合网管系统项目”来简单介绍一下,里程碑管理在我们公司的实际应用。关键词:里程碑、管理模式、应用目 录 2.3里程碑管理的优势.5 2.4里程碑管理的风险.5 3.1划分若干子项目,设立里程碑检查点.6软件开发过程中里程碑的应用第一章 前 言“里程碑“设于道路旁边,用以记载里数的标志。标志公路及道路里程的碑 石,通常每一公里设一块.在项目管理书PMBOOK中,借用了“里程碑”的概念,来标注项目的进度。一般来说,在项目开始时项目经理都会对开发项目进度制定一个详细的计划。通常情况下,这需要采用一些具体的开发模式技术,最常用的技术是网络和里程碑计划。以任务导向,以工作分解结构(WBS)为基础,以目标分解结构(OBS)为基础。实际软件开发过程中,管理模式选择不当将极容易造成进度失控,也将会导致另外两个严重问题: 一是质量无法控制,二是时间无法控制。因为,项目进度的延迟总是在快到计划结束的时刻暴露出来,结果是谁也不知道到底什么时候才能够结束项目。模式的确定将直接关系到项目的成败第二章 里程碑式管理2.1里程碑的概念 里程碑是一个目标导向模式,它表明为了达到特定的里程碑需要完成的一系列活动。里程碑式开发是通过建立里程碑和检验各个里程碑的到达情况,来控制项目工作的进展和保证实现总目标。 软件开发项目生命周期中有三个与时间相关的重要概念,这三个概念分别是:检查点、里程碑和基线。检查点是指在规定的时间间隔内对项目进行检查, 比较实际进度与估算计划之间的差异,并根据差异进行调整。我们可以将检查点看作是一个固定“采样”时点,而时间间隔根据项目周期长短不同而不同。里程碑是 指一个具有特定重要性的事件,通常代表项目工作中一个重要阶段的完成。在里程碑处,通常要进行检查。基线则是指一个配置在项目不同时间点上通过正式评审而 进入正式受控的一种(里程碑)状态。 三者的关系是:重要的检查点是里程碑,重要的需要客户确认的里程碑,就是基线。2.2里程碑的选择 简单的说里程碑是完成一个阶段工作后可以看到部分结果的检查点。一般来说,在软件开发过程中,我们都会经过一定的流程或阶段,例如信息搜集阶 段、需求分析阶段、系统设计阶段、系统开发和系统测试阶段。每个阶段都会产生交付物,每一份交付物的完结说明我们已经完成了一个阶段的工作,一般情况下我 们是在确认这一份工作成果后才会进入下一个阶段的工作。因此,每一份交付物将就是开发过程中的里程碑。 里程碑(基线、基点)是一个软件配置在开发周期内的某一特定时刻、正式的事件,它也就是阶段性目标。里程碑是团队阶段性工作完成的标志,对于任 何一个里程碑都应该给于认真的检查、审定和批准。在里程碑中间应要设置大量的检查点,这些检查点应要细分到一旦检查点出现问题不至于在进度上失控。 2.3里程碑管理的优势 使用里程碑式模式还有一个好处,就是将大项目分成若干里程碑式的重要阶段时,可在各重要阶段之间预留有缓冲时间。众所周知,一个软件开发项目最怕的就是前松后紧,缺乏监控,很多问题和缺陷,发现得越早,解决起来越容易,成本越低,反之亦然。使用缓冲时间,可以很好的在项 目未来实际执行进度和预计进度之间取得平衡。一般来说,在项目中我们需要为意外,保留总开发1/3的时间,即“缓冲时间”。缓冲时间有助于一个项目适应 意料之外的事件,例如缓冲时间可以用于弥补进度延误,或者是技术困难或是由于疏忽而忘记把任务写入进度,或者是未料到的难题而形成的时间损失,这种应付突 发事件的缓冲时间在开发和稳定化过程中是每一个主要里程碑的一部分。 2.4 里程碑管理的风险 众所周知,里程碑是项目进度控制中的一个极为重要的概念,也正因为如此,人们也易于过于依赖里程碑,反而使项目进度落空。里程碑陷阱表现为人们在软件项目的里程碑被设定以后,认为“目标管理是只问结果,不计过程”,从而忽视对过程的监控而导致项目里程碑不能按期达到,当然,通常,陷阱的产生往往是由于管理人员经验不足,未能够合理的选择里程碑。 将里程碑的间隙设置过大,等发现问题,已经来不及改正了。第三章 程碑式的管理在软件开发项目中的应用 软件开发项目是比较典型的项目类型,有着项目几乎所有的特性,例如:独特性、时间、资源的有限性、目标的明确性等。各个软件开发团队常常选择里程碑式管理,来完成项目。作为一个技术负责人,我们的团队也常常选择里程碑管理。在此我借用我公司自主研发的“宽带接入综合网管系统项目”来简单介绍一下,里程碑管理在我们公司的实际应用。项目目的是为了满足运营商在日常维护服务中,可以使用一套设备来分别对不同的各家设备提供商,提供的宽带接入设备进行管理和维护。一方面可以降低运营商维护人员的维护难度,另一方面可以降低维护成本,统一维护标准。当然,既然有需求就有竞争,所以项目开发的进度将直接关系到销售,而是否能够有足够的市场销售,也就体现了项目的成败。项目计划在2011年3月30日正式启动,计划6月30日完成项目验收。里程碑一般是项目中完成阶段性工作的标志,不同类型的项目,里程碑也不同。其精髓首先是将大项目划分成若干个子项目或若干个子阶段;其次,是通过每一阶段对各人员角色职责的考核和监管,以保证开发过程的进度和质量。 3.1划分若干个子项目,设立里程碑检查点 项目进度是以里程碑为界限,将整个开发周期划分为若干阶段。根据里程碑的完成情况,适当的调整每一个较小的阶段的任务量和完成的任务时间,这种方式非常有利于整个项目进度的动态调整,也利于项目质量的监督。 在里程碑式的开发模式下,因为按子项目或子阶段来划分里程碑,每一个子项目都会经过一定的稳定化阶段。当再进入到第二个子项目的时候,就是基于 前一个相对稳定的子项目基础之上,这样就将风险或错误的累加分散到最低。以局部的进度控制和质量控制来保证整体开发过程的稳定,使得质量和进度得以很好的 控制,这就是里程碑式的开发模式优秀之处。 这个项目中,我们选择设立了14个里程碑。在实际管理过程中,也实际起到了巨大的作用。通过(图3-1)我们可以看到,在项目的中期,曾经出现过巨大的偏差,由于我们的及时发现,制定了纠偏计划,通过资源调整和计划微调,最终及时赶上进度。没有影响用户交付。保证了项目的成功 图 3-13.2每个具体的里程碑应与具体角色相关联 里程碑模式也可以称作项目实施进度管理模式,一但开发项目立项确定,需要做的第一件事情就是确定项目进度的里程碑。在里程碑中应清楚地定义每一个阶段的开始时间、结束时间、负责人和阶段的提交成果。 因此,里程碑是项目经理进行开发进度控制的主要依据,里程碑一旦确定,各相应负责人应确保按时交付成果,这样既便于明确各个角色责权范围,也有 利于按时完成任。例如每个具体的里程碑与开发组某一具体的人员角色相关联,达到某个里程碑表明对此负有主要责任的人员角色完成了任务。因此,基于里程碑的 软件质量控制必然会演变成对角色的质量控制,这样才能真正达到对软件质量的控制.在项目执行中,我们选了15项交付成果,分别对应到14个里程碑中,每个交付成果都要明确到人。职责清晰,避免了扯皮和拖沓。 图3-2通过(图3-2)我们就能看出,预算工作量和实际工作量还是有一定区别的,由于各项交付成果计划明确,所以我们及时地发现了偏差,调整了各项投入,保证了项目的资源的有效利用。3.3确保里程碑有可验证的标准 我们经常看到许多项目进度中,都像模像样地设立了里程碑。但实际上,最大的问题就在于许多里程碑没有设定相应的验证标准。在软件开发项目中设立 的里程碑,其作用是在项目进行时确认进度用的,没有设定验证标准就等于没有里程碑管理。因此,需要给出一个清晰的验证标准,用来验证是否达到里程碑。 图3-3通过(图3-3)我们能看到,在项目的实际执行过程中,的确出现了部分的缺陷和偏差。由于我们合理的设置了验证标准,及时地发现问题。又通过问题,及时发现了我们的设计问题、人员能力问题、经验问题等,这些问题的发现又能够及时有效的避免,项目后续过程中类似问题的产生。提高了项目进度和效率。保证了软件开发项目的成功第四章 总 结项目管理是一门学问,里程碑管理只是其中的一个很有效的工具。很多管理方式我们虽然没有学习但是也在实际应用,适当的培训和总结可以让我们的管理能力在理论、实践、理论、实践中循环上升不断提高。不要怕我们的项目会有问题,一个好的管理模式可以帮我们降低风险,增强我们对风险的预制和规避的能力。提高了这些能力,我们就能就更好的、更快的、更低成本的、更有效的完成软件开发项目,创造出最大的项目价值。参考文献:1、 哈佛商学院出版公司、 王春颖 商务印书馆 (2009-07出版)2、 郭宁 人民邮电出版社 (2011-08出版)3、 杨丰 北京大学出版社 (2010-06出版)专心-专注-专业