配置管理创新案例 论文.docx
《配置管理创新案例 论文.docx》由会员分享,可在线阅读,更多相关《配置管理创新案例 论文.docx(11页珍藏版)》请在冰豆网上搜索。
配置管理创新案例论文
配置管理创新案例
1.概述
配置管理是通过技术或行政手段对产品及其开发过程和生命周期进行控制、规范的一系列措施。
配置管理的目标是记录产品的演化过程,确保开发者在研发生命周期中各个阶段都能得到精确的产品配置。
为提高企业项目开发管理的水平,增强企业自身的竞争力,企业引进配置管理工具SVN进行配置管理工作,并重点对配置管理工作中的版本控制、变更控制、产品发布三大模块进行学习、实施与完善;最终实现研发输出成果的完整性、一致性、可控性、追踪性,使产品极大程度地与用户需求相吻合。
2.创新点之版本控制
1.
2.
3.
2.1.概述及作用
在项目开发过程中,绝大部分的配置项都要经过多次的修改才能最终确定下来。
对配置项的任何修改都将产生新的版本。
由于我们不能保证新版本一定比老版本“好”,所以不能抛弃老版本。
完整保存开发过程中成果的所有版本,即可以形成“时间的记忆”,避免发生版本丢失或混淆等现象,并且可以快速准确地查找到配置项的任何版本。
2.2.缺少版本控制造成的常见问题
Ø并行开发过程一致性差。
项目周期短,任务重,则并行开发成为必要之选。
但缺乏版本控制,则极易出现工作重复,成果参考上层阶段文件版本错误等问题,且测试一致性的失衡风险就会经常发生。
Ø成果复用率低。
缺乏版本控制,成果演变过程、细节记录缺失,导致成果的复用性降低,且成果既有版本问题解决成本增加。
Ø项目可追溯性差。
缺乏版本控制,则历史记录数据就会缺失,而历史数据是反映软开发队伍的能力的标尺,没有了这个标尺,就无法对项目开发过程有一个清醒的认识。
最终成果版本杂乱,追溯困难。
Ø版本冗余,误用风险高。
测试版本冗余,测试误用;组件因为缺乏有效的管理手段,往往会在产品发布时却无法确定该版本所有的组件,或者向用户提供了错误的版本。
Ø既有版本维护性差。
对于特定客户出现的问题,无法重现其使用的版本,只能到用户的现场才能进行相应的调试工作。
由于应用软件的特点,各个不同的客户会有不同的要求,开发人员要手工地保持多份不同的拷贝,即使是相同的问题,但由于在不同地方提出,由不同人解决,其做法也不尽相同,程序的可维护性越来越差。
这些都会延长实施的周期,同时意味着人力物力的浪费。
Ø无法进行规范化的测试工作。
软件测试易陷混乱风险。
软件测试是多人共同协力进行的复杂工作,缺乏测试文档可追溯性。
2.3.版本控制实施与收益
企业借助配置管理工具SVN实施版本控制以来,取得显著效果,成果版本记录条理清晰,历史数据保存完整,可追溯还原研发历程。
1.
2.
2.1.
2.2.
2.3.
2.3.1.具体实施过程
1)搭建服务器/客户端形式的配置管理环境。
引进配置管理工具SVN,VisualSVN及TortoiseSVN分别为服务器端和客户端。
项目输出成果放在服务器上为大家所共享,开发人员在客户端从服务器上将相关成果内容checkout(检出)到本地,进行修改,改动结果最终commit(提交)到服务器上。
项目建库及结构划分,并进行项目用户添加及权限配置;同时进行必要的配置管理工具基本操作培训。
2)《配置管理规范》制定、发布。
进行配置管理流程的简要描述、权限配置概述及规范说明。
3)监督项目成员进行配置管理工具规范操作。
例如:
重点进行checkout(检出)→commit(提交)操作的强调与督促;编制增加日志(log)强制填写的钩子脚本,强制项目成员进行版本信息填写。
4)制定配置管理配套模板。
模板涵盖:
配置项清单、基线建立申请单、配置审计报告(配置审计检查单)、配置状态报告、发布审计单等。
5)项目配置管理计划(基线计划)制定。
配置管理员制定项目相应的配置管理计划,确定项目配置管理软硬件资源、配置项及其标识、版本控制管理、数据管理、基线计划、变更管理、配置状态统计、备份计划、配置审计等。
周期短、任务量小的项目只制定简要的基线计划进行版本控制。
6)依配置管理规范及计划开展配置管理工作。
2.3.2.实施版本控制的收益
Ø开发工作模式改进
配置管理工作SVN实现项目输出成果的共享,研发成员可根据自己的权限查阅任何相关资料;
有效的管理工作空间,各个成员的具有独立的工作空间,并能记录其变更集和整个生命周期中的完整变更历史,并行开发过程提高效率;
可进行异地开发,研发成员通过自动或手动同步不同开发地点的存储库,为地理分布的开发团队提供很好的支持。
Ø时间上全程跟踪记录
配置管理工具SVN将会自动记录每个更改细节和不同时期的不同版本。
一定程度可以解决冗余问题、事务性问题、并发性问题。
Ø任何时间任何版本均可有效追溯
根据配置管理工具SVN自带ShowLog(查阅日志)、Revision(修订号)功能,可有效追溯成果所有历史数据。
具体实施操作详见附件《TortoiseSVN基本操作培训课件》四、五节。
Ø提高成果复用率
成果演变历程清晰,变更记录、追踪记录保存完整,成果任何一版本均可进行再利用。
大大缩短了产品研发生命周期。
Ø较少版本冗余,降低误用风险
所有项目输出成果只留一个服务器拷贝,便于集中管理,减少冗余,加上工具的全程跟踪记录,可以随时查看不同时期文档的内容,相互比对。
Ø测试版本清晰,优化测试流程
测试人员根据申请测试程序的Revision(修订号),直接在服务器上查阅下载程序,并将测试相关报告文档实时上传至服务器。
3.创新点之变更控制
3.1.概述及作用
项目开发的一个显著特点就是易于改变。
变更控制的目的就是为了跟踪每一个变更的创造者、时间和原因,从而加快问题和缺陷的确定;并且防止配置项被随意修改而导致混乱。
现项目配置管理变更控制对象为:
配置项(基线、非基线)、权限。
3.2.缺少变更控制造成的常见问题
项目输出成果可随意进行更改,且变更无追踪记录,阶段文件不能准确定型,后一阶段参考引用困难或引用版本有误,加重研发人员负担,工作失衡且浪费时间。
对于复用的代码进行了必要的修改或改进,却只能通过手工的方式将发生的变更传递给所有复用该软件的项目,效率如何可想而知。
且记录不完成,变更差异对比不显著。
另外由于缺乏进行沟通的必要手段,各个开发人员各自为政,编写的代码不仅风格迥异,而且编码和设计脱节,往往会导致开发大量重复的难以维护的代码。
3.3.版本控制实施与收益
1.
2.
3.
2.1.
2.2.
2.3.
3.3.1.变更控制流程
Ø非基线配置项变更
非基线配置项为非产品组成元素的工作成果包含评审类文件、管理类文件(如立项文件、会议纪要等)、外部文件、参考资料等。
由项目经理控制变更。
Ø权限变更管理
使用配置库的过程中需要变更配置库管理权限,项目经理应向配置管理员提出申请。
配置管理员进行权限的变更,并将变更结果以电子邮件方式通知项目经理及项目相关人员。
Ø基线配置项变更:
已基线发布的基线配置项,任何人都不能随意修改,需依据图3-1所示流程进行。
图3-1基线配置项变更控制流程
3.3.2.实施变更控制的收益
Ø成果各版本间差异明晰。
项目成果变更必然会产生大量版本的,严格控制成果变更,能有效记录各版本的变更项;差异对比简单方便。
现借助配置管理工具自带的diff(比较差异)或是Diffwithpreviousversion(与前一版本比较差异)进行成果差异的对比查阅。
针对软件源代码,借助Blame(追溯)可查阅软件的各个版本,完整的再现软件生成历程,并且版本对比差异时,可高亮的标识出修改处,减轻研发成员负担,明了清晰的查阅代码所做修订。
(功能操作于培训课件中均有体现)
Ø软件程序复用率提高。
改进了之前通过手工方式记录变更信息,运用服务进行软件代码变更的记录,记录完整且工作效率提高,却只能效率如何可想而知。
Ø软件程序维护成本降低。
设计人员可进行并行开发,可实时了解其他模块程序的发展,避免开发重复,且版本易于查找,便于现场维护。
4.创新点之产品发布
1.
2.
3.
4.
4.1.概述及作用
研发输出成果定型,产品通过配置管理平台发布至生产进行小试及批产,以及成果的后续的变更均于配置管理平台执行。
研发输出成果定型,产品通过配置管理平台发布至生产进行小试及批产,以及成果的后续的变更均于配置管理平台执行。
完善的产品发布,可以方便地回溯任意版本,为不同的用户定制应用程序的版本,促进系统的快速部署,提供发布版本内容的审计能力。
4.2.缺少产品发布造成的常见问题
项目进行生产发布,需将纸质生产文件移交生产技术部,同时拷贝生产文件电子版,浪费办公资源及人力资源,且耗时较长,效率低下。
小批量试产过程中,生产文件会进行不定时变动,需不断地进行变更后生产文件的移交,文件繁多且杂乱,电子版存储繁杂。
4.3.产品发布的实施与收益
1.
2.
3.
4.
2.1.
2.2.
2.3.
4.3.1.产品发布的实施
图4-1产品发布流程
4.3.2.实施产品发布的收益
直接通过配置管理平台SVN,进行生产文件的发布工作,无需进行纸质文件的移交及电子版文件的拷贝,节省办公资源的同时节省时间成本。
产品发布后,生产文件的变更流程可在服务器中实时地记录,且可通过配置管理平台SVN直接传达变更信息。
例如:
之前需有专人进行产品生产文件的纸质打印整理,扫描、备份、移交工作,变更后文件需重复进行上述工作。
现只需通过配置管理平台进行即可,减轻项目成员负担,节省人力成本且发布及时,显著提高工作效率。
5.社会效益和经济效益
(一)缩短用户的产品开发周期
企业研发实施配置管理,同时采用配置管理工具SVN,这对开发资源进行版本管理和跟踪,这样大大提高了成果的复用率,还便于同时维护多个版本和进行新版本的开发,最大限度地共享项目开发成果。
通过配置管理可以提高开发效率和产品质量,避免了产品开发沟通不够、开发无序的混乱局面,大大缩短了产品的开发周期。
(二)提高产品开发管理的水平,控制了研发管理成本
1)改进研发成员的开发工作模式
配置管理方案引入可以有效地改进研发成员的开发模式和过程,提高企业研发能力成熟度的级别,并且控制了研发的管理成本。
2)引进配置管理方案后,研发成员可以:
●有效的管理工作空间,各个成员的具有独立的工作空间,并能记录其变更集和整个生命周期中的完整变更历史;
●支持并行开发模式,提高开发效率;
●支持异地开发,研发成员通过自动或手动同步不同开发地点的存储库,为地理分布的开发团队提供很好的支持;
●项目生存周期中的变更记录与追踪,优化测试流程;
●完善的发布管理,可以方便地回溯任意版本,为不同的用户定制应用程序的版本,促进系统的快速部署,提供发布版本内容的审计能力。
3)加强项目管理能力
通过配置管理的辅助工具SVN,项目负责人可以方便地查看项目进展情况以及员工工作情况;
4)量化工作量考核
传统的开发管理中,工作量一直是难以估量的指标。
靠开发人员自己把握,随意性过大;靠管理人员把握,主观性又太强。
采用配置管理后,系统能够客观的记录员工的工作内容和质量,可以作为工作量的衡量指标。
5)规范测试流程
配置管理方案引用后,可以有效地跟踪和处理项目的变更,完整地记录测试人员的工作内容,测试有了实实在在的工作,测试人员根据修改描述细节对每一天的工作做具体的测试。
对测试人员也具有相应的可考核性,这样环环相扣,有效地增强了对测试的管理。
6) 加强协调与沟通,增加团队竞争力
使用配置管理辅助工具SVN保存公司的所有知识财富,加强了项目成员之间的沟通,做到有问题及时发现、及时修改、及时通知,却又不会额外增加很多的工作量,大大提高了开发团队的协同工作效率。
(三)保护企业的知识财富
从整个企业的发展战略来说,如何在技术日新月异、人员流动频繁的情况下,本公司的知识库及经验库,把个人的知识及经验转变为公司的知识和经验,这对于提高工作效率、缩短产品周期以及提高公司的竞争力都具有至关重要的作用。
采用科学的配置管理思想,辅之以先进的配置管理工具,可以帮助用户在内部建立完善的知识管理体系。
1)配置库
开发成果是开发人员脑力劳动的结晶,也是公司的宝贵财富,长期开发过程中形成的各种对象就像一个个零件一样,是快速生成系统的组成部分。
SVN为研发成果管理提供了一个平台和仓库。
(2) 业务及经验库
通过配置管理辅助工具SVN,可查看完整的开发日志,用文字记录开发的整个过程,不会因某人的流动而消失,有利于公司积累业务经验。