collabNet与CMM对应.doc_第1页
collabNet与CMM对应.doc_第2页
collabNet与CMM对应.doc_第3页
collabNet与CMM对应.doc_第4页
collabNet与CMM对应.doc_第5页
已阅读5页,还剩160页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

绪论本章内容如下:l 引言l 致读者l 怎样使用本手册l 本书中的约定l 相交付图表l 对读者的建议l CDP和2002萨班斯法案l SourceForge和敏捷开发引言今天,许多组织正致力于审查过程方法,以努力提高他们的整体效率和生产力。将应用开发外包的发展趋势,需要更强有力的开发框架。组织正在为内部和外包开发项目,包括成本管理,时间进度安排和质量保证这几个方面,建立有效的做法。在当前的商业背景下,开发过程的完善变得日益重要。一个成熟的过程框架,除了能改善项目的实施,还能有有助于寻找新的商机、开辟新的市场同时有利于减少项目外包所支出的费用。然而,在多数情况下,组织总是使用过时的、不合适的或是过于复杂的过程。通常,这样只会降低效率而不是提升效率。现有的工具通常不支持开发过程,仅仅支持那些现有的预定义的开发方法。并且,这些工具,只有通过较大花费的定制,才能满足组织的特殊需要。SourceForge Collaborative Development ProcessTM(CDPTM)提供了一个实用、灵活的解决方法。这个方法使得开发过程得到改善,除去了那些与过程改进方法论相关的多余的开销。这个手册,含有大量的内容,覆盖种种的过程模型、具体的实例和软件产品。虽然介绍的内容出自各个出处,但支持一个共同的目标:为组织提供的工具、过程和优质方法,需要快速地将方法论转换成开发实体。下面给出本手册中主要资料的来源以及它们之间的关系的简短描述。SourceForge Collaborative Development ProcessCDP是由一群具有较高的VA软件工程、质量保证和产品管理水平的专业人士,经过多年开发的一个综合全面的生命周期模型。CDP中详述的产品、过程和质量标准是由专业团队在开发高质量软件积累的大量实践经验中总结出来的。并且,CDP平衡了许多世界级的软件开发组织使用的最佳实践方法。VA软件产品开发组织,在开发SourceForge企业版和其他内部产品时,遵循CDP开发模型。VA软件开发商转包的外包开发商也遵循CDP开发模型。这使得软件具有良好的可见度,高质量的保证以及有效的进行时间进度和成本管理。VA根据CDP在内部的使用情况以及对第三方的过程改进模型(例如,软件工程学院能力成熟度模型)不断地改进CDP同时也不断地增强SourceForge的功能和其他软件工具。CDP是一种综合的,首尾相连的生命周期模型,适合于配置在这种组织中。这种组织刚刚开始整个过程。然而,CDP也被设计成这样一种模式。它能够为组织提供每一级别的过程建立。即,组织可以将CDP应用在某一特定方面,以能够较好地补充现有的过程框架。SourceForge企业版在CDP过程中被广泛地使用。即便如此,它还是可以根据需要以及组织现有的过程框架进行定制。软件工程学院能力成熟模型SEI软件成熟度模型(SW-CMM)是一种框架。这个框架描述了高效软件过程的关键组件。从一个特别不成熟的模型到一个成熟的模型,SW-CMM定义了过程成熟的5个级别从级别1到级别5。每个级别的成熟度模型由一系列关键处理组成(KPAs)。每个级别定义了一系列活动以及何时执行这些活动。在预先定义的成熟度级别上,这些活动能够帮助组织建立满足目标的过程。SW-CMM的关键前提是,过程的成熟等同于提高组织,实现符合目标成本开销、时间进度、功能和产品质量的要求的能力。SW-CMM提供一些列与成熟级别相关目标的框架,而不是提供实现他们的具体方法。CDP提供这样的方法,在与SourceForge组合使用时,支持与实现目标相关联的至少SW-CMM成熟级别2或3。CDP的每个阶段定义了一个或多个过程,这些过程等同于SW-CMM级别2或3KAPs。本手册中的第二章提供了一个使用CDP和SorceForge实现SW-CMM级别2或3的一个概述。在CDP章节中提供了具体的SW-CMM说明。清单被包括在各阶段的末端以保证要求的活动被完成。这个是重要的,那就是我需注意SW-CMM不是CDP所必须的组件也不是基于SW-CMM的CDP。那些参考是提供给那些准备SW-CMM鉴定的用户,也是为那些有兴趣使用SW-CMM框架或积极地想利用SW-CMM进行内部过程改进的用户准备的。SourceForge企业版SourceForge企业版是VA开发的王牌集成软件开发产品。SourceForge集成了开发工具和实时度量和报告。它提供过程使能这一特点,例如集中文档管理,可探索的需求和任务管理,编档保存能力,涉及与项目有关的通信和大范围内的管理可见度,并能进行项目性能控制。SourceForge是CDP的一个关键组件。当使用CDP来引导完成SW-CMM目标使用SourceForge也是一个关键因素。在本手册中,使用SourceForge是一个最佳的方法来实现CDP和SW-CMM过程。SourceForge提供了一个完整的工具集来支持CDP以及实现SW-CMM级别2或3。然而,有时,非SourceForge工具可以替代专用的SourceForge。例如,一个组织或许已经拥有一部分遗产、商业管理文件或错误最终系统,这些已经是一部分重要的投资。或者一个组织有其能满足公司特定需要的内部的开发体系,而这些需求SourceForge并未涉及。在此情况下,在CDP中,对特殊过程的描述需要进行更改。此外,SourceForge被巧妙地设计成一个可扩展的系统。SourceForge可以集成第三方或内部的开发工具。这个可以由用户自己完成或与VA专业服务机构合作完成。致读者CDP是为软件开发设计的,可以实现多种工程。CDP可以用于内部开发,也可以在外包项目中使用。以下用户会从本手册中获益,包括,软件开发人员、测试人员、系统工程师、质量保证人员、产品管理员、商业分析员、过程改进专家、信息技术管理人员(对应于Sarbanes-Oxley Act of 2002),管理内部开发或外包任务以及功能的人员。涉及其他的领域如,产品市场、技术支持、培训、销售工程师和专业服务的专业人员也会从本书中受益。软件开发是由不同类型的组织为了种种不同的目标和用户来完成的。CDP定义的过程是用来,帮助工作于产品开发,软件工程,系统工程,IT,研发机构以及其他类似的机构的专业人员开发软件产品。注意,查阅产品不仅涉及到将要被打包的或者是将要出售的产品,同时也涉及到将要由内部或外部用户使用的或软件计划产品。这个是重要的。参考用户涉及到最终产品的用户,即产品是否表现出它最后的功能。例如,你的完成的工作产品可能只是一个大的软件产品中的一个组件。这个通常发生在嵌入式软件系统的开发中。在这些开发中,你的用户可能是公司中的另一个负责集成软件或专用硬件设备的团队。你的产品的用户可能是公司中的一个个人或团队,也可能是全世界无名的几百万用户。CDP的各个阶段描述了为不同类型用户生产各种产品的生产模式。活动和可交付的描述是为由大多数读者的撰写。有着不同目标开发产品的用户可以适当地对内容进行选择。一些活动或可交付的产品可能不适合你开发的产品。如果是这样的话,你可能希望更改CDP以符合你的特殊需要。如何使用本手册本手册是根据典型的软件生命周期进行组织的。每个阶段由一系列活动组成,当完成时表现为产品开发中的一个主要的里程碑。CDP中各阶段定义如下:1. 产品定义2. 设计3. 开发4. 准备发布5. 发布6. 确认设计贯穿整个生命周期的原则也包括描述在CDP各个阶段使用的概念和活动。根据下面的框图所示,CDP是一个连续的过程,在开发项目分析过程中伴随着数据和知识的收集,同时为下一级提供输入。这样,就实现了一个持续改善连续过程的模式。图2SourceForge集成开发过程在每章中,定义了各个阶段的原则和总体目标。各个阶段具体的输入和输出包括所有必需的和推荐的过程、活动、文件和其他资料的详细描述。流程图描绘出了工作流过程,也为使用SourceForge来进行特定的CDP过程开发的用户提供了指导性的优质方法,同时也包括了许多必需文件的可定制模板。为了对SEI CMM感兴趣的用户,指令也被包含进来。同时,也为了那些使用SourceForge和CDP来支持实现CMM软件级别2或3目标的用户。约定印刷格式下列表格显示了本指南中使用的特殊字体。编号在各个阶段中可交付的全部的活动和可交付的文档用数字来识别。在流程图和对应的各阶段可交付描述中的活动和可交付的文档用相同的数字标识。活动和可交付的文档可通过阶段编号和可交付编号来识别。例如,在11页的图三中的文档B可进行如下标识:1.2.DocumentB编号前面的十进制数说明这个文档,在阶段1或产品定义阶段是可交付的。在十进制后跟随的小数说明,该文档是产品定义阶段第二个可交付的描述。模板当习惯使用模板识别时,编号包括第三个数字。这个数字通常表示文档修订编号。例如,上述的文档B的模板会像下述标识:1.2.4. Document B数字4表示模板的第四次修改。放在编号第一位的数字7用来表示,贯穿整个生命周期原则的模板。例如,培训工作表的模板标识如下:7.8.1 Training Worksheet工作流过程本手册中的工作流过程遵循工业流程图标准,描述如下。显示流程图所有的工作流程过程以横向的“泳道”流程图格式显示。每个“泳道”表示与一个特定工作组相关的任务。为了统一流程图,同时也为了照顾组织中任务分配的差异,本手册中的流程图最多只有5个“泳道”。关于每个工作组和他们推荐功能的描述,请参看建议所有者的注释。下述图给出了一个以“泳道”格式显示的流程图的例子。图3工作流程图的例子流程图表示法在CDP中的工作流程过程使用下列的流程图表示法。活动和可交付的文档各个阶段工作流程过程图中的活动和可交付的文档可以通过编号来识别。为活动和可交付文档提供的活动和模板可以用下述符号来识别:SourceForge推荐使用的符号标识如下:为同行审查或软件质量保证人员审查可交付文档提供的符号如下:各个活动或可交付的文档、推荐的内容和完成标准的描述和依赖其他活动或可交付文档的描述,项目也需具备。对于同行审查的项目,也包括同行审查的方法。为了满足特殊组织需要,在哪个合适的地方,定制可交付的文档以及使用SourceForge的建议在每章节的末尾给出。SourceForge版本在这个版本CDP手册中使用的SourceForge版本是SourceForge企业版4.2。阶段可交付图表在CDP各阶段包括在本阶段中完成的活动和可交付文档的图表。这个图表出现在各章的开头,对各章的内容进行扼要的概述,以便引导读者。图4阶段可交付视图的例子例图指出在阶段1,产品定义阶段中的活动和可交付的文档包括商业必要条件文件,技术约束文件,和剩余项目展示。纳入阶段工作流流程图的项目,在相应阶段交付章节进行了详细的描述。推荐给读者的注释在任何过程方法论中合适的给个人或团队分配任务都是关键。当在内部使用VA软件时,CDP为组织内的个人和功能团队定义了具体的职责。然而,个人和功能团队的责任在不同的组织间可能会有很大的不同,但是必须遵循基于工作组方法论的定义的极限限度。因此,为了提供对应于CDP产品活动的一定程度的指导意见的职责,同时还为组织这一级别修改留下了足够的空间,推荐读者注释,仅限于5个通用的类别。推荐给读者的内别定义如下:l 软件工程:软件工程类是指所有的工作人员主要从事技术活动有关的软件开发。这可以包括开发人员,系统工程师,发布工程师,技术管理人员以及其他工程技术人员。l 软件测试:软件测试该软件测试类是指所有的工作人员主要从事软件质量和测试有关的活动。这些活动可以包括执行软件测试,编写测试相关的文件,如测试计划,测试用例,测试脚本,软件测试管理人员,以及其他软件测试活动。l 软件质量保证:软件质量保证类不同于软件测试类,但他们往往交替使用。软件测试的工作人员主要从事测试活动旨在确保软件质量高,而软件质量保证类则通常适用于工作人员进行的广泛的各种质量管理活动。领先的过程改进措施和进行定期审计质量的各种交付活动是由软件质量保证队伍管理的例子。其他责任往往也与软件质量保证类相关包括:确保流程的定义以及每个产品开发阶段遵循这些定义。这样以确保所有阶段的入境和出境的标准得到满足,并验证整个产品的质量,包括文档,打包,培训,和支持工程的过程。l 软件产品管理:软件产品管理类别,也被称为项目或计划管理,是指所有对产品和项目开发进行全面管理的工作人员。有些组织中指那些商业分析师。具体活动可包括定义产品需求,项目规划,进行市场和风险的研究,管理跨职能的依赖性,管理产品的发布,以及其他管理职能。为了达成本文件中的流程图和建议读者的注释意图,当某项活动或交付属于所有权的软件工程,软件测试,或软件质量保证,不是显著地属于其他类,一般将它划分到软件产品管理这一类。分配给软件产品管理的关键的例子有,产品营销,技术支持和培训。这并不意味着软件产品管理部门负责交付活动和这些职能;只是软件产品管理,作为整体开发项目的管理者,应负责确保其实现。l 其他:在某些情况下,额外的类别将被使用。如当,当需要一个超出上述功能组的定义的特别的活动时。例如,这个活动是高级管理人员批准的重大产品相关文件,如商业需求文档。你还可以定义其他类别,用这些类别来你的组织中的其他功能小组。当这些小组执行软件开发和维护工程集成任务。重要的是你要记住,这些分组都是一般的功能分组。这些分组,可能适合也可能不适合你的组织。他们应该仅仅被看作是建议,并应根据需要修改,以最适合你的组织结构。除了上述定义的功能组,进行CMM或其他过程改进的目标的组织通常创建一个单独的小组,致力于组织过程改进活动的管理。软件过程组:软件工程过程组是由软件工程,软件测试,软件质量保证,软件产品管理,以及类似的功能组成的一个团队。这个小组的目标是管理组织的过程改进活动。软件工程过程小组应作为软件项目开发的核心成员。这些代表作为顾问,以确保组织制定的过程被理解和遵循,确保这些过程的价值不断地被衡量,确保过程相关的活动与其他组织进行很好的协调。CDP和2002萨班斯法案在2003年,5月27日,美国证券和交易委员会(SEC)通过了新的规则,来引导企业如何遵循财务报告的相关要求。l 管理人员必须确认公司发表的财务报告l 管理人员必须描述和评估他们内部控制的有效性l 第三方审计员必须证明这些调查结果l 违反这些规定的CEOs和CFOs会入狱对于具有领先的信息技术(IT)行业研究公司,萨班斯法案和其他的商业规则会直接影响IT业务,而不仅仅是IT的支持。管理关键业务和支持系统的专业人需要准备通过安全审查。要想或得成功,需要制定新的企业政策,实施过程和构建IT系统来支持这些政策和程序。对于首席信息官,所面临的挑战将是审计,今天许多组织滞后在这些领域。CDP中描述的过程可以极大地帮助CIOs和其他IT专业人士实现政策的审计以及实现符合萨班斯法案的财务报告要求的过程。影响IT的驱动l 提高开发有更高的安全,更强大的验证和更深的审计线索的系统的信心l 建立标准l 制作文档及通讯管理计划的一部分l 执行一项全面的内部审计控制框架,并完成审计控制模拟SourceForge企业版提供了一个遵循的基础框架IT组织今天面临的挑战是日益增长的全球分布式开发团队和由外包开发引入的复杂性的最新趋势。同时,萨班斯法案已经增加了IT的复杂性。管理层关心的是如何成功地、有效地执行方案。2002萨班斯法案已经严重影响了报告的标准。IT主要负责大部分的数据,这也组成了财务报告。IT及它相关过程产生财务报告。因此,IT过程的有效性是及其重要的并且必须予以核查。SourceForge企业版提供了一个总体开发框架,在管理应用软件开发生命值周期方面,可以帮助IT组织,实施一致和可靠的过程控制。CDP这些方面提供了最佳方法。这些方面包括实施可靠和可重复的过程以及确保所有应用开发的数据是完全存档和可审查的。SourceForge和CDP的实施,如下述:l 一个可用于内部开发和外包项目的安全平台l 不同工具和项目数据的集成l 管理的可视性和纳入所有开发工作的控制l 各阶段软件开发的管理l 手工任务的自动化l 过程执行遵循的原则l IT应用软件的可回溯性和可审查性SourceForge提供了一个基础来管理和捕获所有与应用软件开发项目有关的信息。SourceForge能够捕捉活动,过程通知,状态通知,变更记录,报告,下载,讨论,文档,问题跟踪,版本控制,任务,提交的代码以及项目管理活动中的变化。信息存档和编制索引提供了,追溯和审查SourceForgeForge中所有条目的能力。此外,协作抓获通信提供的历史背景和明确的记录。这些记录记录了是谁,什么,在那里,如何,何时和为什么改变活动的现状,文档或已提交的代码。SourceForge和敏捷开发在2002年年中进行的土星开发,VA软件公司开始采用基于极限编程的敏捷开发过程。土星是完全重新设计的基于J2EE的SourceForge。在土星之前,从需求定义阶段一直到维护阶段,VA软件开发团队一直遵循一种更传统的瀑布模型。虽然这种模型在许多组织中,在许多开发过程中使用,但是鉴于可重复构建和SourceForge开发(一个多年期项目),VA团队认为他们需要一种方法,以便更灵活和快速地跟踪需求的变化。他们选择了XP的方法,并在必要情况下修改它,以满足团队和项目特定需求。CDP是围绕着传统的“瀑布模型”的方法,许多地方可以适应敏捷方法。这份文件描述了VA所遵循敏捷开发过程,其中包括工程,产品管理,用户界面设计,质量控制和文档化。先决条件这份文档假设读者对XP有一个基本的知识,如12个XP原则和敏捷开发的概念(如,反复,用户故事,速度等等)。对这些知识的详细介绍已经超出本手册讨论的范围,在本手册中只提供相对粗糙的定义。对XP不熟悉的读者应该去研究下它的原则。过程1 用户需求:在VA的XP开发过程中第一步是产品管理者(XP用户)起草用户需求。用户需求应当从典型用户的角度编写。他们是书面形式的故事,或用户要完成的任务,而不是具体的要求。举例来说,在主要任务管理器网页上SourceForge有一个基于用户的任务列表,而不是一项具体要求。用户可能的需求,告知卡梅伦,其需要更新他的任务列表并希望其能从单一接口输入变为多输入。这使得开发团队能够容易地进行功能实施。这样能以最有效的方式来解决用户问题。最终用户要求的产品也被包含在用户需求中。SourceForge的使用:产品管理类起草一个或多个用户需求文档,并将它们传递给文档管理机构,以便于供工作期间审查会议参考。在完成所有的讨论和团队成员的纳入被完成后,将为每个用户需求建立一个跟踪文件并创建原始用户需求文档。2 发布规划:在完成候选用户需求后,产品开发团队开会来仔细审查各个用户的需求,并估计实施所需要的时间。这些都是发布规划目的一个高层次的估计,更详细的估计将稍后进行。我们的目标是建立一个更加实际的评估。这个实际的评估能够根据发布,将实施任务分配在各个时间单元中。基于上述评估,产品开发团队建立了发布计划。SourceForge的使用:高层次评估文档存储在文档管理器中。3 迭代计划:迭代式开发是敏捷开发的一个重要概念,其目标是提供一个稳定和可预见的开发过程,同时也能够捕捉需求的变化。VA产品开发团队通常遵循两个星期的迭代周期。在每次迭代开始时,团队再次开会来审查用户的需求。每次都比上次更详细,明确任何有疑问的问题,对实施任务进行更精确的评估并计算实施速度(将所有资源分配给已接受的用户需求)。上述的评估也将分发到每个开发人员手中。(结对编程将稍后讨论。)在迭代计划会议的最后,若干要点将被添加进来,在下个迭代中将要被实施的用户需求也被确定下来。这份清单得根据上次迭代中的速度来确定。SourceForge的使用:在规划阶段,所有的候选用户需求将被添加到早期的发布跟踪器中。我们将发布跟踪器配置在XP自定义字段中,如,“迭代”,“点”,“验收日期”,“单元测试的HTTP名称”。在分配时间点并且确定了某次迭代的用户需求后,原则就被应用到这些领域中。4 结对编程:敏捷开发的另一个概念是结对编程。结对编程提高了代码的质量和一致性,并确保所有小组成员可以工作在应用的任何模块中。VA产品开发小组结对频繁,并且,在每天中,没对工作在不同的用户需求空间中。在许多情况下,由一对开始某一用户需求,而由另一对最后完成它。一个共性的问题是形成一个对形成的基础。VA利用SourceForge SOAP APIs开发出一个模型。这个模型可以随机产生新配对。这个配对模块可从SourceForge Tapestry站点上下载,网址是 :/sf/。SourceForge的使用:由于对的频繁轮换,所以不把跟踪用户需求的任务分配给个人或对。当一对开发人员,开始工作在一个用户需求空间上时,他们将用户需求状态改变为开发状态。在任何特定的时间,跟踪日志的数量应与对的数量相等。当工程完成后,他们改变跟踪器的状态,以等待验收。5 自动化的构建和测试过程:在整个开发周期中,所有活动的构建和测试是自动的并且是连续的完成。这将有利于稳定,即总构建始终是可用的,并且减少了在周期结束时,质量保证需要的时间。为每个用的需求,质量保证和工程编写了一个自动验收测试。VA使用HttpUnit和JwebUnit来完成这些测试。质量保证提供了测试案例,工程则编写脚本并对其进行版本控制。测试用例也被附加到用户需求工件上。每当进行代码检查,第一阶段构建也被自动触发,同时也运行单元测试。如果构建或单元测试失败,SourceForge中自动创建一个错误。如果通过了前一阶段,代码将被提交到后续的阶段,在所有支持平台(操作系统,数据库和应用服务器)中每6小时构建一次。接着,代码被自动上传到SourceForge文件发布系统中。关于VA自动构建和测试过程的技术细节将在附录中给出。SourceForge的使用:SourceForge在开发,构建和测试过程中,被广泛地使用。所有代码将被登入到SourceForge CVS库。当一个代码登记完成某一用户需求,为了便于回溯,开发人员将创建一个与用户需求相关的的跟踪器。在自动构建和测试过程基础上,以下情形可能会出现:1)构建失败,在SourceForge日志中创建一个错误日志。构建的日志文件也被以附件的形式包含进来。跟踪器应该根据各个构建(例如,操作系统,数据库等)的特点进行定制。这决定了具体配置报告的次数。整个团队监视这个跟踪器。每个构建的所有日志文件,也会被自动地传递给文档管理器。2)构建通行证和代码将会被包含在后续的阶段中,以便于将其自动上传到SourceForge文档发布系统中。这样也给组(如,质量控制,文档化和产品营销)提供最新的,稳定的构建。6 验收测试:除了自动单元测试,在迭代过程中,VA还拥有日常验收会议,以确保实施了用户需求的特定功能。这些会议还被用来确认用户接口的正确实施以及验证是否正确地完成用户文档。每次会议期间,小组使用最新的主机来审查待验收的用户需求。该小组检查用户需求描述的功能,测试几个同能之间的交互,确认用户接口的正确性,并寻找任何可识别的错误。所有的问题都将被登记在该领域中。文档的审查通常是放在随后的迭代过程中进行。这样以便有时间来完成它。SourceForge的使用:如果一个用户需求被接受,则应将相应跟踪器的状态改变为接受同时接受日期也应该被加入到“验收日期”字段中。若不接受,在开发过程中,应将跟踪器的状态应该修改到之前的一个状态,以便于进一步的开展工作。在接着的验收会议中,将会被再次审查。7 质量保证测试手册:由于自动地构建和测试过程,质量保证团队需要的测试手册数量被大大地减少了。在开发周期的末期,最终版本的发布阶段,质量保证从整体角度测试整个应用,并侧重于探索性测试和复杂活动的整合,而这并不是针对用户需求。QA也测试安装和所有的依赖平台。SourceForge的使用:在质量保证阶段,SourceForge跟踪器被广泛地用于错误追踪。报告也用于记录发现和解决错误的数量。当QA确认了最终的设计,(如已准备好发布,质量报表以及相关的文档),这时会将文档传递给文档管理器。优点对开发组织和用户,利用SourceForge和敏捷开发方法进行具有很多好处。对开发组织来说:l SourceForge是与过程无关的,因此,它可以方便地根据组织选择的任何版本敏捷开发过程,进行定制。l SourceForge APIs允许自动地并集成你的设计和测试系统。VA已经这么做了。l 不断地设计和测试模型使得QA的任务最小化,并且产品的质量也在不断提高。对用户来说:l 利用跟踪器管理用户需求使得内部用户(如,销售和领域专家)能够捕捉用户他们用户的需求。l 不断地设计和测试过程,包括每个用户需求的确认测试,确保了高质量,稳定的设计总是可用的。(外包用户是一个XP概念,这个概念是说对于投入和决策,这些客户和代理总是可用的。拥有一个外包用户有助于最大限度地减少前期文档设计。)l 基于浏览器的SourceForge接口使得文档便于访问。第二章 跨生命周期原则本章包括以下信息:l 筹备活动l 跨生命周期原则l 软件工程工作组的角色和责任l 建立和管理你的SourceForge工程l 建立和管理你的软件过程数据库l 同级审查过程l 软件质量保证的审查l 管理你的产品路线图l 培训计划l 模板和组织政策筹备活动在您任何软件开发项目开始之前,为了确保您的组织准备管理项目有效进行,有一个最低限度的活动应被管理。如果你或你的团队对于源代码是新人,第一个重要项目是为了确保所有将使用它的工作人员获得足够的用户培训。所有工作人员应在日常活动中舒适使用编写源代码的工具。在SourceForge公司4.2版用户指南中为新的和有经验的SourceForge的用户提供了一个极好的参考依据。 VA软件公司的专业服务组织也提供了全面,充分定制的培训计划,以帮助新用户快速实现熟练程度。新的CDP项目如果这是您第一个遵循的CDP准则项目,重要的是要审查了全套的CDP材料,包括本手册,SourceForge的最佳做法,和随之而来的一系列文件范本和清单,然后开始您的项目。工作中大多数的过程,活动,交付将详细说明在适当的CDP阶段,工作前良好的了解整个生命周期,将极大地在规划您的项目、训练你的工作人员、确保必要的管理和其他筹备工作中帮助您。特别注意50页开始的跨周期原则一节,因为它描述的概念和活动,均适用于所有阶段的CDP产品,如建立一个软件工程过程组、设立了一个软件过程数据库、管理方法的行动项目、正规化您的同级审查和软件质量保证功能。如果您使用的是SW-CMM作为一个工艺改进框架,审查了SourceForge和软件能力成熟度模型,一个促进SourceForge合作发展的过程使你熟悉SourceForge和CDP是用来支持SW-CMM的目标。全面和早期的审查CDP的材料也将帮助你识别您可能希望定制的任何地区,以更好地满足你的组织的特定需求。VA软件专业服务组织可以帮助您在对任何与进程相关的定制中识别,开发,部署,并培训您的员工。SW-CMM说明SW-CMM需要所有工作人员在履行其指定的活动中接受培训。培训计划的基础上的CDP和完成的工作人员负责处理有关活动将满足许多具体要求二级和三级的SW-CMM的培训 。VA软件公司的专业服务组织提供这样一个培训计划,还定制计划以满足特定需求的组织。见SourceForge和软件能力成熟度模型,一个补充满足过程活动特殊SW- CMM的要求SourceForge协同开发过程培训计划。子CDP项目如果您有在先前的项目中遵循CDP准则,并正准备开始新的,现在是时间来从你的最近的一个项目开始审查您的组织的进程数据库可能已经完成的更新。这也是您的软件工程过程组或负责管理您的组织的过程改进活动的人一个很好的检查时间。软件工程过程组应该能够回答任何进程有关的问题,记录和处理任何反馈给你可能有关您的成功和挑战您以前的项目,为您的团队提供任何新的程序或其他CDP产品的内容培训,并确保您的活动与其他的组织协调。软件工程过程组也应该能够提供分析以前的项目经验基础上过程中变化的建议。跨生命周期原则大多数的CDP产品中过程,活动和交付讨论它们在发生CDP阶段详细描述。下面的过程,在CDP开始最早的概念阶段使用广泛。因此,重要的是花一些时间尽早准备必要的参与者,工艺和材料。你可能希望在开始你的第一个项目建立这个过程,或者您可能会在它们的发展与您的项目产品定义阶段重叠。所有的本部分需要在退出产品定义阶段前用到这个进程,且会在CDP阶段反复使用。软件工程过程组软件工程过程组是一个团队组成的负责软件工程,软件测试,软件质量保证,软件产品管理,和类似的功能。这样一个小组的目标是积极管理组织的进程改善活动。组织追求的目标与SW-CMM、CMMI、ISO 9000国际标准、及其他正式过程改进框架需要保持这样一个工作组,许多组织追求更多的个性化或非正式流程改善的目标往往建立类似的团队,致力于管理其过程改进活动。在你开始第一个CDP项目前,一个软件工程过程组或类似团队必须建立。这个团队的特殊责任和团队大小应该根据你的组织的过程改进而改变。在一些组织中,一个人可能足够监督你的过程管理活动。其他活动可能需要更大的一群人以确保所有关键职能领域和分担进程有关责任的活动。重要的是确定在项目的规划阶段负责进程改善的个人或团队,因为这个人或团体在每一个项最早阶段将提供项目成员的进程有关的活动指导。可能包括的一些软件工程过程组的核心职能:l 识别该组织将坚持的SW-CMM、CMMI、ISO9000或国内定义的一些标准。l 获得支持组织进程改进举措的必要的管理赞助。l 为组织确定过程改进计划。l 建立一个组织内沟通关键相关活动的方法。l 建立和维持一个为获取组织进程材料的软件过程数据库或类似的方法。l 在每个开发项目中作为一个关键成员参与。l 作为顾问以确保组织所设立的进程被理解和遵循。l 阶段性的评估组织进程的价值,当需要时进行修改。l 和该组织的其他成员协调每个工程的过程改进活动。SourceForge工程 在开始你的第一个CDP开发项目之前,首先要做的是建立一个SourceForge项目来管理你开发项目的时间表、文档、活动列表和其他文档。许多SourceForge工具和文档如追踪器,任务管理器,以及供应链管理资料库在CDP的后期才用到。然而,在项目规划阶段建立一个SourceForge项目比完成项目计划后再建立更利于存储初步规划文件、项目管理的行动、并促进团队成员之间的沟通。在早期建立这个项目还促进从最初的概念阶段到结论阶段的项目连续性。如果你确定如果您确定在产品定义阶段,该项目将不会继续下去,SourceForge项目将仍然提供了可以用来在评价您下次发展项目时存放的有益的规划数据。在开始您的项目开发的产品定义阶段,你的SourceForge项目应该包括以下内容: 本手册的每章为你在进入和退出每个CDP产品阶段提供了关于SourceForge项目的建议,如果你有使用SourceForge工具和完成特定活动需要的帮助,请参阅SourceForge企业4.2版用户指南或联系您的VA软件公司的代表。软件过程数据库 软件工程过程组的一个主要任务是建立和维护软件过程数据库。这个数据库是在集中的位置收集和管理所有组织过程相关的材料。维持一个集中的数据库可以使项目成员快速简单地获取正确的过程模板、准则和其它所需材料以完成他们的任务。软件工程数据库可能包括以下内容:l 库包括组织标准、准则、范本、核对本和其他标准材料。这些标准材料可以由CDP提供,CDP定制满足您的组织具体需求或其他的组织开发的材料。l 完成的范本、核对本和其他材料来自于当前或先前的项目。l 估计软件规模、效果、开销和其他参数。l 关于软件规模、效果、开销和其他参数的实际数据以用于评估未来项目。l 通过结投入-产出分析活动完成同级审查和软件质量保证报告。SourceForge文档管理器为确立和维持软件过程数据库提供了一个绝好的资源。SourceForge软件过程数据库单元提供给CDP助于建立和定制数据库。请参阅247页的“用SourceForge文档管理器管理你的软件过程数据库”的最佳实践获取更多指导和建议。同级审查同级审查是贯通于CDP每个阶段的关键元素,应用于几乎所有的文档、软件代码。建立稳健的同级审查有很多好处,包括在各种职能领域收集相关的投入、找出产品的缺陷和促进机构间的协调。同级审查的效果通常很高的贡献于成功的项目。同级审查有几种形式,根据文件的重要性、需要的审评者的数量、审评的时间和审评过程使用的软件和其他工具。SourceForge文档管理器通过“分配审查”方式实现里全面的文件审查。其他方法包括跨职能会议(通常用于对组织有广泛影响的关键文档,如:产品计划)、代码审查(用语审查软件代码的缺陷)或“伙伴审查”(在只有有限的审查时间时有效)。 请参阅249页的“用 SourceForge管理您的同级审查过程”关于这些方法的描述以及关于使用SourceForge支持同级审查过程的建议。同级审查图标贯穿CDP手册中,所示的同级审查标志将表明那些文档需要同级审查。还包括建议的同级审查方法。软件审查质量保证 CDP定义的软件质量保证功能是为全员指定的各种质量监督活动。领先的过程改进的倡议和进行定期审计,及时完成,遵循产生的质量和过程大量交付是软件质量保证团队完成活动的例子。在剩下的CDP材料中,软件质量保证专指这种定期的质量审查职能。它并不是指从事软件测试活动的全员,虽然在不同组织中所使用的术语可能有所不同。 除了同级审查,软件质量保证审查是贯穿CDP各个阶段最普遍的活动。在一些组织,例如大型航空航天和国防承包商,一组专门进行质量审计和类似的活动的人员作为全职存在。在其他不需要全职软件质量保证组织或成本效益不高的组织,审计职能通常根据需要分配给其他职能部门。 情况中,软件质量保证审计开始于产品定义阶段,所以重要的是要确保适当的工作人员确定和准备履行这一职能。请参阅257页的“用 SourceForge管理您的软件质量保证”关于完成软件质量保证审查方法的描述以及关于使用SourceForge支持同级审查过程的建议。软件质量保证图标贯穿CDP手册中,所示的软件质量保证标志将表明那些文档需要质量审查。应该注意的是软件质量保证审计进行了一系列没有相关的具体成果的活动和过程,如有效的分包商日常管理。相关的产品计划模板和软件质量保证审计清单为每个CDP阶段提供全面的活动清单,交付,和进程的审计建议。管理你的产品路线图捕捉产品要求明确,深入,准确地是任何软件开发组织的一个基本目标。CDP建议持续需求的管理过程,和产品特殊要求过程同步进行,详细考虑维持工程阶段的产品定义。持续需求的管理过程能够使全员处于经营战略上考虑。市场分析、产品管理或类似的角色的持续研究并分析改善产品供应和组织的改进方法。然后他们可以定义和保持独立处理个人产品需求的高水品产品战略。这种高水平产品战略在CDP中是指产品路线图。根据产品路线图,每个项目的产品定义阶段将创建产品具体需求文档。这些需求文档。这些需求文档达到了越来越大的详细程度,直到他们最终转化成产品开发人员编码和测试产品使用的详细技术设计手册。在真个提出需要和开发新产品的过程中,产品路线图可能根据需求的改变不断的更新。在产品路线图和待开发的产品中可能有个1-N关系。通过变化的过程控制,关键需求确定的产品路线图可以在发展过程中的大量时间和确定的产品相关联。请参阅280页的“用 SourceForge跟踪器管理产品需求”获取用SourceForge管理您的产品路线图和产品特殊需求最佳实践的额外指导和建议。培训计划 培训全体成员是产品周期中重要的管理活动。提供高效的培训计划有利于您开发项目的成功导致更高效的生产力,促进团队人员的稳定。每个开发项目对于项目有特殊的培训需求,如领域内编码技巧培训、测试方法,新的硬件和软件平台的使用。组织可能将不得不需求独立于任何具体的发展项目或共享一个以上项目培训。CDP提供了一个使用SourceForge管理具体和更广泛的组织培训需求的模型。在CDP模型中,培训组协调每个开发项目的培训需求并在组织层面上规范相关活动的标准。每个培训活动的活动和交付通过使用任务管理器完成,所有人员培训活动的记录和评估的记录保持在SourceForge的组织培训项目中。请参阅260页的用 SourceForge管理您的组织培训计划获取用SourceForge管理您的培训活动最佳实践的额外指导和建议。模板和组织政策CDP描述了很多关于计划、开发、测试、释放和支持您的软件产品的建议过程。许多模板,清单,抽样政策,和其他类似的材料提供给您使用。这些都是旨在提供准则,但预计一些修改可能会是必要的,然后才可以在您的组织有效地使用它们。 在您开始您的CDP指导方针下第一个项目前,并在其后的任何子项目开始前,重要的是要确保必要的模板,政策和其他材料是针对特定需求的组织,审查和批准了适当的利益相关者,并放到您的软件过程数据库中。特别是,这些政策涉及跨生命周期的活动的,如您的发展和进行的项目计划应在开始你的第一个项目前完成。任何政策包括开展活动的早期阶段,如您分包商管理或所有产品定义阶段交付的附加模板也应该完成。其它模板很组织政策当它们变得必要时可以被定制和完成。建议一个完成以上条目的计划在软件过程数据库中用任务管理器创建和管理。这将使组织对进程相关活动的状态保持高度可见性。SW-CMM说明 SW-CMM要求管理大量活动的组织政策。 CDP材料中有关于组织政策所需要的符合2级和3级的例子。一般它们都位于本章或管理每项活动的最家做法说明过程部分。标准外的筹备和跨生命周期活动在产品定义阶段开始前,本部分描述的准备应该被完成。你可能希望您的项目管理准备活动在外部审查会议优先于产品定义阶段。外部审查会议应该由影响组织的关键人员召开。基于您是否开始您的CDP准则第一个项目,选择适当的标准以确保所有外部标准得到满足。筹备和跨生命周期活动模板下表提供了筹备和跨生命周期活动模板快速参考。所有模板都在本手册内的CD和以下网站提供:/cdp/ 表14.筹备和跨生命周期活动模板请参照10页的“编号” 关于编号公约获取额外信息。第三章 产品定义阶段本章包括以下信息:l 产品定义阶段综述l 产品定义阶段工作流程图l 产品定义阶段投入l 产品定义阶段活动和交付l 产品定义阶段外部标准l 使用SourceForge支持产品定义阶段l 产品定义阶段模板产品定义阶段综述 产品定义阶段综述的主要目标是详细定义和记录所有的产品需求,使工程和技术人员创建详细的产品设计数据。总结这个阶段,应该完成产品的业务、技术和调度要求,为产品设计阶段详细设计形成基础。 进入产品定义阶段,需要一个引人注意商业案例作为项目的开始。可以的话,先前项目的历史数据也是必须的,因为它在持续改进过程和发展的生命周期见形成了一个基准。产品定义阶段的管理的活动:l 进行技术和时常研究l 查明、分析逼供内最终确定产品要求l 估计与项目有关的规模、效果、成本和组织影响力l 识别和选择分包商l 建立高层次的计划和时间表l 开发综合需求文档l 建立跟踪项目的机制 本阶段产生的材料为未来产品开发的技术和非技术活动提供了基准;因此用足够的时间和精力高质量完成它是至关重要的。 下图表明了完成产品定义阶段的必要的交付。完成每个活动的交付和评论过程定义在下面的各节。图6.产品定义阶段的交付产品定义阶段的工作流程下图阐述了产品定义阶段的工作流程建议的最好的实践。图7.产品定义阶段的工作流程请参阅11页的“工作流程”的流程图符号的详细描述。产品定义阶段的投入进入产品定义阶段需要以下投入:准备活动正如跨功能影响章节中所描述的,开始产品定义阶段前建议优先进行一系列准备活动。这些措施包括为了管理项目进行的编写标准过程、工作人员的培训、SourceForge项目的建立等。先前工程的投入-产出分析数据度量和分析先前项目的成就和面临的挑战是持续过程改善的关键因素。可以的话,先前的数据应该在开始新的项目前收集和审查。关于收集测量和分析投入-产出数据的信息请参阅第8章的持续工程阶段的内容。商业案例 商业案例是开发产品的一个令人信服的理由。商业案例一般来自产品路线图并作为开始产品定义阶段的依据。商业案例将在业务需求文档中扩展。SourceForge项目产品定义阶段前创建的SourceForge项目现在应该填入你建立的材料。产品定义阶段的活动和交付 在产品定义阶段流程示意图中所有活动和交付由数字定义。每个项目提供了说明每项活动或成果、建议的内容和验收标准并依赖于其他活动和交付。每个活动的同级审查或软件质量保证审查的建议是确定的。为特殊需求组织的定制被恰当的表达,建议使用每节末尾SourceForge也在其中。图标模板给出的活动和交付被上面图标表示,请参阅13页的“活动和交付”了解SourceForge建议活动的所有图标列表。1.1. 业务需求文档适用范围:软件产品管理软件需求文档作为继续定义和开发产品的原因和标准。它的创建应当在投资大资源前作为审查新产品思想或者对原有产品进行显著调整时的管理。通常,业务需文档应该在产品路线图中界定的组织长期产品战略所驱动。业务需求文档的使用者通常是发起、支持或/和创建项目的管理团队。这个团队在整个CDP材料阶段作为管理审批队伍。业务需求文档应该

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论