活动介绍

引入ClearCase:软件流程改进的实验探索

立即解锁
发布时间: 2025-08-22 00:19:03 阅读量: 2 订阅数: 9
### 引入 ClearCase:软件流程改进的实验探索 #### 项目背景 在 GIS 领域,挪威的 Sysdeco GIS AS 公司旗下的图形工具部门(SGIS)一直有着明确的变更控制流程,此前采用基于 SCCS 和 Make 的配置管理系统。但随着业务发展,该系统逐渐暴露出不足。 公司主要为不同测绘领域开发终端用户系统,客户涵盖国家测绘机构、发电厂、地方当局等。图形工具部门交付两款主要产品:Tellus 和 Tellus Vision。Tellus 最初为 UNIX 环境开发,支持多种 UNIX 平台和数据库连接;Tellus Vision 则将 Tellus 拓展到 PC 平台,并集成了 QBE Vision 的功能,是未来的主要开发方向。 原配置管理系统在处理 Windows 产品时缺乏正式支持,依赖手动流程易出错。同时,产品改用 C++ 重写后,新的程序结构和依赖关系难以用原系统管理。 #### CMEX 项目概况 CMEX 项目旨在评估引入修订后的正式配置管理和版本控制系统对软件开发流程的影响,由 SGIS 与挪威科技大学合作开展,历时 22 个月。项目目标是减少 10% 的配置管理相关缺陷,并增加 5% 的相对开发工作量。 项目分为三个阶段: |阶段|主要活动| | ---- | ---- | |准备阶段|流程建模、初始流程和产品测量、配置管理系统安装| |实验阶段|系统引入与培训、系统使用和中期流程调整| |评估阶段|测量改进结果并报告| #### 项目具体活动 1. **流程建模** - 此活动主要是对工作流程进行建模和理解,提出流程变更建议,确定用于评估新系统效果的流程参数,以及明确所需的测量方法。 - SGIS 的维护流程成熟且有文档记录,项目团队收集流程文档并编辑成主要为文本形式、附带若干图表的流程模型。虽未改变工作流程本身,但调整了部分表格以实现对当前流程支持数据库未记录方面的测量。 2. **测量** - 为量化项目改进结果,项目团队采用类似 GQM 的流程确定了 16 个可能的产品和流程指标,涉及缺陷报告特征、流程性能、工作量、客户和变更规模等方面。 - 审查可能的数据来源后,发现客户数据库、缺陷报告数据库、项目数据库和 SCCS 下的源代码可直接用于 7 个指标,通过对交付跟踪系统进行小调整可收集 6 个流程性能指标的数据。经与开发协调员沟通,决定不使用其余 3 个详细描述缺陷特征的指标,因项目早期无法获取足够长时间的数据集。 - 项目开始 6 个月后的初始评估中,确定了 13 个指标的数据集;最终评估时,因数据不显著或不可比,指标数量减至 5 个。 3. **配置管理系统** - **系统评估**:项目开始时,SGIS 组织的情况可概括为:有使用 SCCS 和严格变更控制流程的长期经验;Windows NT 下缺乏源代码控制,认识到需要新系统;意识到需要更高级的配置管理功能;承认构建和交付系统存在问题;对 ClearCase 的性能和成本效益存在一定怀疑。项目申请提交时已选定 ClearCase,为消除人员疑虑,对 ClearCase 和 Microsoft Visual SourceSafe 进行了简要评估,从功能、性能、可扩展性、成本和用户信心等方面考虑,最终选择了 ClearCase。 - **系统引入**:引入 ClearCase 的步骤如下: - 培训系统管理员,使其担任 ClearCase 管理员。 - 在一个小型试点项目(Tellus 的产品附加组件)中使用 ClearCase。 - 逐步将源代码迁移到 ClearCase,并为开发人员建立工作环境。 - 由于 ClearCase 与开发环境(Microsoft Visual C++)集成良好,开发人员的培训在短时间内完成。 引入过程中,因系统管理员培训的时间安排问题,第一阶段花费的时间和资源超出预期,但延迟使项目能够使用更友好的新版本 ClearCase,简化了过渡过程。系统投入使用后,开发人员对其表示认可,这既得益于其用户友好性和出色的性能,也因为开发新 C++ 版本工具包时对配置管理系统的迫切需求。此外,安装 ClearCase 还需要对技术环境(工作站和服务器)进行大量升级,且最终发现最初购买的 5 个许可证不足,为 8 名使用 ClearCase 的开发人员每人配备了一个许可证。 ```mermaid graph LR classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px; classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px; A([项目开始]):::startend --> B(流程建模):::process B --> C(测量):::process C --> D(配置管理系统评估):::process D --> E(系统引入):::process E --> F(实验阶段):::process F --> G(评估阶段):::process G --> H([项目结束]):::startend ``` #### 项目结果与分析 1. **技术方面** - **缺陷报告到达率**:外部缺陷报告到达率从 1995 - 1996 年的每月 12.1 份降至 1997 年的 7.8 份,减少了 36%(高优先级报告下降 31%,低优先级/变更请求下降 45%);内部报告的缺陷到达率增加了 132%,主要是由于测试新产品版本,紧急报告增加 40% 也表明内部发现了更多缺陷。此外,11% 的外部报告并非真正的缺陷,3.5% 为重复报告。 - **缺陷报告优先级**:高优先级报告(前两个优先级级别)的比例从 61% 略微上升至 64%,基本保持稳定。 - **缺陷修复时间**:处理和修复紧急缺陷的平均时间减少了 6%,内部发现的缺陷修复时间减少了 54%,可能是由于工作量减少。 - **资源使用**:1996 年和 1997 年图形工具部门的总资源使用基本不变,开发资源占比增加了 22%,维护工作减少了 33%,更多资源可用于外部项目,新工具版本包含了比计划更多的功能。 - **维护工作量**:维护工作量减少了 33%,其中纠正缺陷的工作量按预期减少,支持和测试方面的工作量增加,而系统构建、交付和系统维护方面的工作量显著减少,这正是 ClearCase 预期发挥改进作用的领域。 总体而言,外部缺陷报告减少,维护工作量相应降低,更多精力投入到测试中,内部发现的缺陷增加,表明项目实现了流程的预期转变,且远超初始目标。ClearCase 有助于实现源代码和系统管理的自动化,提高了构建步骤的效率。此外,项目还带来了一些定性改进,如流程建模活动使对维护流程的理解更深入,修订 Make 生产和交付系统提高了服务质量,引入 ClearCase 增强了重建以前产品版本的能力,测量活动有助于更好地理解维护流程的性能和成本,推动公司流程成熟度提升。不过,这些改进不能完全归功于引入 ClearCase,1996 年公司的重组和新产品发布等因素也可能产生了影响。 2. **业务方面** - 实验带来了维护服务和流程质量与效率(成本和时间)的显著提升。维护工作量减少 33%,对应缺陷报告减少,大量资源可用于开发活动,开发资源占比从 1996 年的 48% 增加到 1997 年的 58%,在“上市时间”方面取得了远超预期的改进。 - ClearCase 购买、培训、安装和管理成本高,一个规模类似的成熟开发团队获取并运行该系统需 100 - 200 kECU。通过公式 $R = I / (P * N)$(其中 $R$ 为收回投资所需月数,$I$ 为投资资本,$P$ 为纠正一个错误的成本,$N$ 为每月减少的错误数量)计算投资回报率,项目中每月减少 4.3 个错误,纠正一个错误的平均成本为 5000 ECU,150 kECU 的投资在 7 个月内即可收回。 3. **组织方面** - 实验对组织环境影响较小,维护流程在职责和任务定义上更加明确,引入了一些支持变更流程的附加表格。这可能是因为 SGIS 是一个成熟的组织,有丰富的产品变更管理和使用简单版本控制及生产系统的经验,项目带来的流程变更被视为公司流程持续讨论的自然部分。 - 起初,部分人员对引入复杂的 ClearCase 系统持怀疑态度,但接触其功能后,认识到它优于现有系统。主要原因包括:现有软件从 UNIX 移植到 NT 后,原配置管理系统不可用;产品平台和数据库系统增多,管理复杂;向面向对象设计的转变要求新的源代码管理方式,ClearCase 能够提供支持。项目结束时,参与人员的问卷调查显示,大家认可需要新的配置管理系统,但对选择 ClearCase 的过程和培训存在一些不满,不过对系统使用效果给予了积极评价,认为它改善了工作环境和团队协作。 ### 引入 ClearCase:软件流程改进的实验探索 #### 关键经验教训 1. **技术视角** - **ClearCase 引入** - 引入 ClearCase 前,系统管理员和源代码管理员需深入培训,要规划较长的引入周期并做好组织准备。可让相关人员明确新流程和支持工具的问题与需求,再评估候选工具。 - 用户培训也必不可少,且应投入更多时间。软件许可证数量从引入开始就要合理规划,经验是为每个用户配备一个许可证,尽管系统允许共享许可证,但会导致系统无法正常使用。 - 产品变更管理更依赖严谨且被认可的工作流程,而非支持流程的工具。此实验的成功很大程度上得益于已有成熟的工作流程。 - 要确保 ClearCase 系统管理员有足够时间熟悉系统,保证安装稳定后其他人员再使用,否则可能导致对新系统的负面态度。同时,应逐步利用 ClearCase 的高级功能。 - 缺陷报告和其他变更相关事项的管理与文件版本管理一样耗时且易出错,投资支持缺陷报告、订单和产品版本可用性列表管理的工具可能具有成本效益。 - **流程建模** - 定义工作流程是一项耗时的任务,需确保各方就工作执行方式达成一致。参与工作流程的不同团队可能对每个步骤的操作和责任有不同看法,流程建模活动是讨论这些观点并达成共识或修订流程定义的绝佳机会。 - **测量** - 测量活动所需的工作量远超预期。现有数据难以直接用于测量,且部分衡量成功所需的数据缺失。为获得相关数据基础,需对流程进行一段时间的测量。 - 新的测量工作若不将数据收集融入日常工作流程则毫无意义。项目通过从管理缺陷报告和订单的新老列表及数据库中提取数据解决了这一问题。 - 基于错误报告的指标在显示流程或技术变更效果时存在固有延迟,从改进措施实施到产品在客户现场使用并产生缺陷报告可能需要 3 - 5 个月。 2. **业务视角** - 实验显著提升了维护服务和流程的质量与效率,使大量资源可用于开发活动,新功能能更早推向市场。配置管理系统本身虽不能直接提高产品质量,但对维护(成本和资源使用)的关注增加导致产品缺陷减少。 - 从业务角度看,ClearCase 价格昂贵,相比之下,Microsoft 的 Visual SourceSafe 成本约为其 1/7。起初,ClearCase 的优势并不明显,但现在证明其成本与潜在改进相比微不足道。 - 尽管 ClearCase 初始看起来更适合在多平台支持多个产品的大公司使用,但对于开发和维护中型产品的 8 - 12 人团队而言,它也是一项不错的投资,既能带来业务效益,又能改善流程和工作环境。此实验还可能在 Sysdeco GIS 内部起到示范作用,鼓励其他领导关注开发问题的复杂性和工具投资的经济性。 3. **实验的优势与不足** - **优势**:实验的明显优势在于组织成熟,相关人员认识到需要新的变更控制系统,这简化了推动人员使用 ClearCase 的过程。 - **不足**:明显的不足是缺乏过去几年的背景统计数据,导致大量精力用于数据收集和分析。此外,实验期间公司进行了重组、变更主要开发和供应平台,且产品发布频繁,留给 ClearCase 培训、安装和部署的时间短且分散。 #### 总结与展望 本次实验在一家小型但成熟的软件企业中评估了修订变更控制系统的益处,向挪威 Sysdeco GIS AS 公司的图形工具部门引入了 ClearCase。实验目标是减少 10% 的错误报告和 5% 的“上市时间”,实际结果远超预期:每月收到的缺陷报告减少了 36%,紧急缺陷修复时间减少 6%,开发工作量增加 22%,有助于新产品更快推向市场。同时,维护工作量减少 33%,尽管测试投入增加,内部发现的缺陷增多。系统构建和管理功能实现自动化,效率提高,用户对系统信心高,团队协作也得到改善。 实验的关键经验包括:引入 ClearCase 的成本在短时间(不到一年)内收回;引入新配置工具比预期困难,需要更精心的规划和实验;成熟的错误处理流程和经验丰富的开发团队对实验成功至关重要;收集用于测量改进的相关背景数据比预期困难。 基于实验的成功,公司将继续在产品开发和维护中使用新系统。同时,认识到支持变更请求管理流程部分的工具对质量和效率很重要,后续会考虑获取和部署此类工具。此外,已确定新的改进领域,未来将开展类似实验引入自动测试工具。此实验对计划在开发部门引入新工具(尤其是配置管理工具)的中小企业具有参考价值。 ```mermaid graph LR classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px; classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px; A([实验成功]):::startend --> B(继续使用新系统):::process B --> C(考虑部署变更请求管理工具):::process C --> D(开展新实验引入自动测试工具):::process D --> E([持续改进]):::startend ``` 以下是对实验各方面的总结表格: |方面|总结| | ---- | ---- | |技术|实现流程转变,提高效率,带来定性改进| |业务|提升维护服务质量和效率,成本回收快| |组织|对组织环境影响小,改善团队协作| |经验教训|引入困难,数据收集难,成熟流程和团队重要| |未来规划|继续使用新系统,部署新工具,开展新实验|
corwn 最低0.47元/天 解锁专栏
赠100次下载
点击查看下一篇
profit 400次 会员资源下载次数
profit 300万+ 优质博客文章
profit 1000万+ 优质下载资源
profit 1000万+ 优质文库回答
复制全文

相关推荐

SW_孙维

开发技术专家
知名科技公司工程师,开发技术领域拥有丰富的工作经验和专业知识。曾负责设计和开发多个复杂的软件系统,涉及到大规模数据处理、分布式系统和高性能计算等方面。
最低0.47元/天 解锁专栏
赠100次下载
百万级 高质量VIP文章无限畅学
千万级 优质资源任意下载
千万级 优质文库回答免费看
立即解锁

专栏目录

最新推荐

【CAD转UDEC:一步到位的解决方案】:快速转换与模型导入指南

# 摘要 本文系统介绍了CAD(计算机辅助设计)数据转换为UDEC(通用离散元法代码)模型的全过程。首先概述了转换的基本概念及其重要性,然后详细阐述了理论转换过程中的关键步骤,包括CAD与UDEC模型差异的分析、理论转换机制,以及转换软件与工具的选择。接着,本文提供了实践操作的详细指南,包括准备工作、模型转换的步骤和常见问题解决策略。此外,还探讨了高级应用技巧,如CAD模型优化和UDEC模型的高级应用。最后,本文介绍了自动化与定制化转换解决方案,并对未来的发展趋势进行展望。整个研究旨在提升CAD到UDEC转换的效率和质量,为相关领域的研究与应用提供参考和指导。 # 关键字 CAD转UDEC;

HCIA-Datacom网络监控与管理:使用NMS维护网络健康的5大技巧

![HCIA-Datacom网络监控与管理:使用NMS维护网络健康的5大技巧](https://grafana.com/media/blog/integration-clickhouse/Clickhouse-integration-3.png) # 摘要 网络监控和管理是保障现代网络稳定运行的关键环节,网络管理系统(NMS)在这一过程中扮演着至关重要的角色。本文首先探讨了NMS在网络监控与管理中的重要性,并对网络监控的基础理论进行了分析,包括关键指标的监测以及监控工具的选择。通过实践章节,本文深入介绍了NMS的部署与配置,监控实践技巧以及故障诊断与管理方法。此外,本文还讨论了网络监控数据的

深入了解LED控制:掌握显示屏界面设计与功能配置

![LED显示屏软件](http://18280613.s21i.faiusr.com/2/ABUIABACGAAgy4PljQYo1Y-E8QYwuAg4zwI.jpg) # 摘要 LED显示屏作为现代显示技术的重要组成部分,在信息传播和广告等领域发挥着重要作用。本文首先介绍了LED控制的基础知识,随后深入探讨显示屏界面设计原理,包括屏幕分辨率、色彩模型、设计工具及用户体验的优化。文章进一步阐述了LED显示屏的功能配置与实现,包括文本、图像视频播放以及动态效果的制作和传感器集成。针对LED显示屏的技术标准和通信协议进行了详尽分析,并通过实践案例展示了LED控制在不同场景的应用。最后,本文展

【FPGA信号完整性故障排除】:Zynq7045-2FFG900挑战与解决方案指南

![【FPGA信号完整性故障排除】:Zynq7045-2FFG900挑战与解决方案指南](https://www.protoexpress.com/wp-content/uploads/2024/04/Parallel-termination-_diff.-pair-1-1024x421.jpg) # 摘要 随着电子系统对性能要求的日益提高,FPGA信号完整性成为设计和实现高性能电子系统的关键。本文从FPGA信号完整性基础讲起,分析了Zynq7045-2FFG900在高速接口设计中面临的信号完整性挑战,包括信号反射、串扰、电源地线完整性和热效应等问题,并探讨了硬件设计因素如PCB布局和元件选

自动化脚本编写:简化you-get下载流程的秘诀

![自动化脚本编写:简化you-get下载流程的秘诀](https://www.edureka.co/blog/content/ver.1531719070/uploads/2018/07/CI-CD-Pipeline-Hands-on-CI-CD-Pipeline-edureka-5.png) # 摘要 随着数字内容的爆炸性增长,自动化脚本在内容管理和数据处理中的作用变得越来越重要。本文首先介绍了自动化脚本编写的基础知识,并以you-get工具作为实践案例,详细阐述了其基础应用与脚本化过程。随后,文章进一步深入探讨了自动化脚本的高级定制方法,包括参数化、高级下载功能实现以及维护与扩展性的策

数据隐私与合规性问题:数据库需求分析中的【关键考量】

![数据隐私与合规性问题:数据库需求分析中的【关键考量】](https://www.collidu.com/media/catalog/product/img/f/8/f834a9dd19e7431b1ebd7219f776ee0921f7540df717b7b86435cb800f48607b/gdpr-compliance-slide1.png) # 摘要 随着信息技术的快速发展,数据隐私与合规性问题日益突出,成为数据库设计和管理的重要议题。本文从数据隐私与合规性概述出发,深入探讨了数据库设计中的隐私保护策略,包括数据分类、敏感度评估、数据加密与匿名化技术以及访问控制与权限管理等。此外,

【进阶知识掌握】:MATLAB图像处理中的相位一致性技术精通

![相位一致性](https://connecthostproject.com/images/8psk_table_diag.png) # 摘要 MATLAB作为一种高效的图像处理工具,其在相位一致性技术实现方面发挥着重要作用。本文首先介绍MATLAB在图像处理中的基础应用,随后深入探讨相位一致性的理论基础,包括信号分析、定义、计算原理及其在视觉感知和计算机视觉任务中的应用。第三章重点阐述了如何在MATLAB中实现相位一致性算法,并提供了算法编写、调试和验证的实际操作指南。第四章对算法性能进行优化,并探讨相位一致性技术的扩展应用。最后,通过案例分析与实操经验分享,展示了相位一致性技术在实际图

高斯过程可视化:直观理解模型预测与不确定性分析

# 摘要 高斯过程(Gaussian Processes, GP)是一种强大的非参数贝叶斯模型,在机器学习和时间序列分析等领域有着广泛应用。本文系统地介绍了高斯过程的基本概念、数学原理、实现方法、可视化技术及应用实例分析。文章首先阐述了高斯过程的定义、性质和数学推导,然后详细说明了高斯过程训练过程中的关键步骤和预测机制,以及如何进行超参数调优。接着,本文探讨了高斯过程的可视化技术,包括展示预测结果的直观解释以及多维数据和不确定性的图形化展示。最后,本文分析了高斯过程在时间序列预测和机器学习中的具体应用,并展望了高斯过程未来的发展趋势和面临的挑战。本文旨在为高斯过程的学习者和研究者提供一份全面的

【MATLAB词性标注统计分析】:数据探索与可视化秘籍

![【MATLAB词性标注统计分析】:数据探索与可视化秘籍](https://img-blog.csdnimg.cn/097532888a7d489e8b2423b88116c503.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzMzNjI4MQ==,size_16,color_FFFFFF,t_70) # 摘要 MATLAB作为一种强大的数学计算和可视化工具,其在词性标注和数据分析领域的应用越来越广泛。本文

【VB.NET GUI设计】:WinForms与WPF设计与实现的艺术

![【VB.NET GUI设计】:WinForms与WPF设计与实现的艺术](https://www.der-wirtschaftsingenieur.de/bilder/it/visual-studio-c-sharp.png) # 摘要 本文系统地介绍了VB.NET环境下的图形用户界面(GUI)设计,重点讲解了WinForms和WPF两种技术的使用与进阶。首先,概述了VB.NET在GUI设计中的作用,并对WinForms设计的基础进行了深入探讨,包括事件驱动编程模型、表单和控件的运用、界面布局技巧以及数据绑定和事件处理。随后,转向WPF设计的进阶知识,强调了M-V-VM模式、XAML语法