



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、用项目管理的方式实施SCM引子SCM 是软件配置管理(Software Configuration Management)的简称,通常意义的配置管理系统是指包括流程、规则并提供标识、控制、状态统计、审核、过程管理等功能的系统。这个系统就像是一个软件产品生产流水线, 把各种角色的软件产品开发者组织到这条流水线的不同岗位,按照操作规范各就各位,每个角色根据产品设计书完成自己的任务,即做完自己负责的软件构件或者子系统后,提交给软件系统集成员进行组装,最终形成一个软件产品。要实施 SCM ,那首先得有SCM 流程、规则来约束,那么怎样来开发SCM 流程本身,制定 SCM 规则呢? SCM 软件配置管理
2、的目标就是要标识变化、控制变化、确保变化、报告变化。而对于 SCM 本身呢?是否也要实行自身的控制?是否也要进行管理?在实施 SCM 的过程中,最可怕是走一步看一步,没有计划,没有目标,没有管理。那么把“实施 SCM ”看作是一个新的项目,就容易理解得多了。项目启动作为一个项目启动必须要有充分的理由。这个理由就是配置管理的重要性,配置管理的目的,这个在前面已经介绍过。项目启动过程还包括分析项目干系人、可行性研究。项目干系人在引言里面已经分析过了。这里需要强调一点,就是根据各个公司的具体情况干系人可能还有更多,也可能在实施的过程中出现新的角色,即新的干系人。可行性研究可从三个方面来考虑:操作可行
3、性、技术可行性和经济可行性。操作可行性考虑用户(软件开发人员)是否容易接受这种管理方式和工具的使用,因为大家都是软件从业人员,相信还是很容易接受这种新的方式和工具的。主要是通过增加培训和与干系人的沟通使得实施更加容易。技术可行性,要求提供一个可以解决问题的方案。比如制订配置管理流程,任何人看了这流程就要能够理解, 并且可操作, 能够遵守执行的。 这一点比较容易忽视, 以为依据 CMM 、 RUP 上的东西写一写,搬过来就 OK 了,执行的时候才发觉,其实这样做的用处并不大。经济的可行性就是要度量这个解决方案给公司提高软件开发效率、 提高软件开发质量带来的好处,与花费的价值相比是否可取,就是是否
4、可以从此解决方案中获得最大的回报(老板的最终目的) 。比如在工具选择方面, Rational ClearCase 是目前市场上功能最强的配置管理工具,但其价格昂贵,公司决策人物是否支持?这么大的投资能获得多大的回报?都是需要谨慎考虑的问题。作为项目来实施软件配置管理对配置经理最直接的好处就是能否获得授权,以及获得可调配的有限资源,有可能会调整公司的现有组织结构来满足。关于公司组织构架的建议可以参看 IDEAL: A Users Guide for Software Process Improvement( )。在很多公司实施配置管理的时候,根本不会把它当作是一个项目来做,更惨的是,老板迫切想要
5、你做这件事,却又不授权给你,手头根本就没有什么资源可言,就会弄得个很尴尬的局面。项目计划SCM项目被批准启动后,就要进行项目计划了。无论是软件工程化要求,还是项目管理,或者CMM ,ISO 标准,都要求我们在做任何事情前,有详细的计划,而且要严格按照计划执行,保证执行的结果与计划的要求一致。实施 SCM 不可能一次计划、执行就可以建立起完整的配置管理系统,要经过不断的经验总结,改进现有的配置管理系统,才可以达到较为成熟的软件配置管理系统。对于SCM过程也是个循序渐渐的改进过程,不可急于求成,口出狂言。计划中至少包括以下几个内容:1、计划要达到的目标。这时候的目标不一定是非常完美的最终系统;2、
6、计划分阶段的进行,也就是划分milestone;列出在每个阶段所要达到的质量目标,取得什么样的成绩。比如初步的计划可以包括这两阶段:第一阶段:分析现有的系统,决定是否有必要实施SCM ,取得决策层的支持,尽量按照现有的工作方式制定基本的配置管理流程,选择工具,推行计划(包括schedule、培训、上线使用)。可列出这几点要达到的目标,在阶段结束时,用来检验执行情况,可为下一阶段的执行提供改进的基础。第二阶段:在第一阶段已经扫除了基本障碍,这一阶段主要是在原有的基础上汲取经验提高系统的管理能力。一是检验配置管理流程与开发流程间的适应性,找出可能影响开发效率的地方,加以改进;二是检查开发人员是否适
7、应目前的配置管理方式,缺少培训,导致开发人员无法理解?还是配置管理方式有问题?三是配置管理流程与配置管理工具的适应性, SCM 工具是否满足了 SCM 流程?注意工具是依据流程而设定,不要让流程来适应工具。万事开头难,按照计划有效的执行了这两步,那我们在配置管理方面就迈进了一大步,以后更进一步的完善配置管理也容易多了。3、界定范围和进度。界定范围往往是比较容易忽视的问题,比如,做实施配置管理的时候,你只要设计配置管理的流程和配合工具使用就行了,很有可能老板会要求你还要同时规范整个软件的开发过程,还有其他的流程,老板随时都会增加你的工作内容(小心哦)。当然, SCM 流程也是需要和其他的流程协作
8、的,但是这并不属于实施配置管理的内容。进度计划,主要是保证其他相关人员与你的配合协作。因为SCM 的实施影响到整个公司的开发团队,在实施的过程中,仍然在进行着项目、产品的开发。因此需要相关人员调整他们的计划以配合SCM 的实施。4、风险分析公司决策层对实施SCM 的支持是主要的风险。一开始,我们总是希望高层管理者马上决定投入(人员、工具、培训、实验设备等),但事实恰恰相反,实施SCM 本来就是消耗资源的活动,在高层管理者没有看到效果的时候,是不会大把大把的钞票集中到实施SCM上来的。而且多数高层管理者并不了解配置管理,所以你得把计划做的好一点,向他们“推销”你的计划,获得他们的支持。因此作为实
9、施SCM 的领头人,你必须忍受在缺少资源的情况下,继续进行你的计划,多与领导决策层交互意见,让他看到实施 SCM 的好处,给他尽可能大的希望。如果领导决策层在一段时间内看不到收益,很可能会撤消你的计划,那你近来的辛苦研究、计划也就白费了。项目执行有了计划,现在就要按照计划执行了,这里只介绍几个典型的内容。分析现状此阶段相当于需求分析。 任何新的技术方法应用到现有的环境都需要与现有的环境紧密结合才能有助于现有环境系统的发展。这里有两种情况:1、 软件企业目前没有配置管理系统(简单的说就是版本管理系统)。2、 软件企业已有版本管理系统,但是已经不能满足需要了。对于这两种情况,分别列出现有的需要和现
10、有系统的不足。到后阶段这些问题可以作为检验新系统的 checklist。解决方案提出有效的解决方案,不仅是说服决策层的有效办法,也是实施 SCM 的重要保证。实施配置管理,非常重要的是先定义好配置管理流程,然后在选择合适的工具。1、 制订流程可以参看 CMM ,RUP 等规范来制定自己的配置管理流程,但是必须要注意与本公司的具体环境结合,并不一定要求全面,只要能解决目前的实际问题就是最好的。初始阶段,可能版本控制(有可能会很复杂) 、变更控制是最重要的而且是急需要解决的问题,而配置管理报告、状态监控则不是那么急迫的问题,可以留待下一阶段再计划实施。2、 选择工具配置管理如果没有工具来辅助实现,
11、用句比较时髦的话来说就是“不可能完成的任务”。所以选择一个好的工具对于实现配置管理是非常有帮助的。在这里我只介绍一下我所使用过的配置管理工具CVS(WinCVS)/Bugzilla,Visual SourceSafe (VSS), Perforce/Bugzilla, ClearCase/ClearQuest。这些工具中只有CVS/Bugzilla 是免费的,而且CVS 的功能也比较强大,且可以在多种平台下同时使用,加上webcvs 或 cvsview 还可以提供Web 方式的访问。对于中小企业是个不错的选择。大多数软件公司和自由软件职业人大都会选用CVS。如果在 Window 平台下开发,而
12、且只是限于工作组级别使用VSS 是个简单易行的方法。我相信很少有人知道Perforce 吧。 License 价格为 $600 每个,不算贵。它有许多易用的功能,而且能与Bugzilla 结合使用跟踪bug。只不过它的使用风格却与一般的配置管理工具很不一样,习惯就好啦。中小企业可以使用,但对于很大的软件组织来说,就会显得有点力不从心了。在多数人看来 Rational ClearCase/ClearQuest 都是顶级配置管理工具了吧,只不过其 License 价格不是一般人能够接受的啊 L 。 ClearCase/ClearQuest 可以适用于目前多种流行开发平台,如果公司有财力的话,而且想
13、加强配置管理那就选用它吧,毕竟一分价钱一分货,当然它有它自己强劲的功能啦。据Rational 公司讲, ClearCase 的主要使用者是电信行业和银行业。有MONEY 的人啊,真羡慕!除了上面介绍的几种工具,还有其他使用比较多的有PVCS, CCC/Harvest 。以上的配置管理工具大致可以分为3 个级别:第一个级别为 简单的版本控制工具,是入门级的工具,例如:CVS, VSS ;第二个级别为 项目级配置管理工具,适合管理中小型的项目,例如:PVCS, Perforce ;第三个级别为 企业级配置管理工具,具有强大的过程管理功能,例如:CCC/Harvest ,ClearCase。具体选用
14、哪种工具,还是要看你们自己的软件公司的适应能力了,不能眉毛胡子一把抓啊。进行有效的培训在实施 SCM 的过程中,培训是非常非常重要的。培训少了,大家理解不了你实施的SCM;培训多了,势必会影响公司现有的项目进度。所以要选择适当的培训频率和培训内容。另外,要注意对配置管理的观念的培养,而不只只是教会他们使用SCM 工具。特别是你用新的思想(配置管理)和工具来改进现有配置管理系统(准确的说是版本控制工具)时候的培训,那更加要注意以前的系统和新系统的区别,要转变旧的观念。就像是要练就最上乘的武功,一定要忘记以前所学的武功才能达到最高境界。积累过程经验主要包括三点:1、SCM 流程为了配合现有的开发方
15、式或者改进现有的开发方式而做的改进,一定要文档化。2、把实施过程中经常遇到的问题做成 FAQ 供查询,以提供给新来开发人员最直接的经验,以及作为软件开发人员之间的典型范例。3、培训资料的更新, FAQ 的更新,为了更好的使用配置管理工具而自己开发的辅助工具的更新等,都需要及时的传递给使用配置管理系统的人员,最好的方式就是为这些资源创建一个资源库。比如搭建一个Web 方式的网站(部门的职责 )让使用者很容易的获得。项目控制可控制的过程管理在以上的过程(从项目启动开始),考虑把产出物(研究、计划文档)置于版本控制之下。当然开始只是个版本控制,架个简单的CVS 就足够,或者用VSS,简单快捷。用工具
16、管理起你自己的开发过程(实施SCM 的过程),这样你可以查看历史,其中每阶段的变化也反映了你在SCM 上的思想变化,从中可以看到你的思想越变越成熟了(当然你的计划、你的配置管理流程也会越来越成熟了)。正所谓要想管好别人,首先要管理好自己。进度控制、范围控制根据进度计划,在milestone 处检查和审核阶段性的成果。如果有新的需求,可能某个团队由于其他原因不能及时的参与实施SCM,就需要更新进度计划。如果老板又要你来做整个软件开发流程的话,你就得要求给你更多的时间和资源,更新范围计划。限制 SCM 项目范围的变化,有助于达到最初的目标,增强信心。项目收尾这一次的收尾只能说是达到了项目计划的预期目标,SCM 项目可以算是结束了。但是,流程是不断需要改进的,而且随着项目进度的不同,配置管理控制的程度也会不同,因此需要在总结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程款支付申请表的填写规范与标准
- 采暖散热器施工方案
- 星级酒店关系质量研究调查
- 2025年液碱行业现状分析:我国烧碱产量为3980.5万吨
- 江西省部分学校2024-2025学年高三上学期1月期末英语试题【含答案】
- 2024年普通⾼等学校招⽣全国统⼀考试上海语⽂试卷
- 装修成品保护施工方案
- 上海市安全员-C3证考试题及答案
- 清除路肩杂草施工方案
- 新风机组施工方案
- 专题02 光现象(5大模块知识清单+5个易混易错+2种方法技巧+典例真题解析)
- 支气管封堵器在胸科手术中的应用
- 北京市东城区2021-2022学年第一学期四年级期末考试语文试卷(含答案)
- 《STP市场营销战略》课件
- 心理健康教育课件教学
- 河南省劳动关系协调员职业技能大赛技术工作文件
- 成都实验中学2025届高三最后一模英语试题含解析
- 2024年新《反洗钱法》修订要点解读
- 如何变废为宝课件
- 中华人民共和国学前教育法
- 辩论英文课件教学课件
评论
0/150
提交评论