软件工具、过程以及项目管理规程的使用。
<!--START RESERVED FOR FUTURE USE INCLUDE FILES--><!-- include java script once we verify teams wants to use this and it will work on dbcs and cyrillic characters --> <!--END RESERVED FOR FUTURE USE INCLUDE FILES-->
在过去的几十年里我们看到了企业架 构的演变过程,这种演变从单块集成电路的架构(运行在主机上的基于 COBOL 程序)到基于组件的架构(Java EE 和 NET 应用)和趋于面向服务的架构(将企业转变为一个能高度互操作的和可重复利用的服务集合,它使企业更好地适应不断变化的业务需求)。
随 着构架方法逐渐朝着人们关心的更多重用和分离的方向发展,企业应用软件开发也不断要求明确定义的过程和更多层次架构的技术。因此,企业应用软件开发的一些 领域增加了复杂度。在企业级开发(JavaEE 、.NET 等等)中,软件提供商们已经通过提供先进的代码产生和过程自动化工具大幅度降低了这种复杂性,并且通过使用已被证实的设计模式和最佳实践简化了企业开发的 复杂方面。
然而,在企业级开发的外围,其中一个方面却可能经常被忽略,这就是软件发布的管理。软件发布管理员所面临的挑战包括对以下几方面的管理:
- 软件缺陷
- 问题
- 风险
- 软件变更请求
- 新开发请求(额外的特性和功能)
- 部署和打包
- 新开发任务
由于当你集中在孤立软件应用程序的单一软件发布时,这些似乎是合情合理的,但是……
考 虑到要进行高度复杂的事务性自定义开发应用软件,软件应用开发团队要能够开发新的特性或功能,并像往常一样一年六次地向用户发布(主要的版本)。软件应用 开发团队还需要发布40-50个小版本(具有代表性的 Enterprise Archive 文件或者 .ear,或者.jar 等等),这些是没有在计划之内或者预定之中的任何修改、更新或者应用软件的部署等等。
此外,应用软件会对在企业中的其它软件应用软件具有依赖和相互依赖(在产生一个成功的构建中)。
软件发布经理应该做些什么呢?
这篇文章将介绍了一种实现方法,使用 IBM Rational ClearQuest 作为一个基本组件来克服软件发布经理所面临的一些挑战。
文章的意图不是说这个新的挑战或者 Rational 是最要紧的事情,但是这个挑战随着全球交付、时间压力和系统集成的需要变得越来越复杂。这种解决方案更多关注的是把 Rational 看作一个激活器,而不仅仅是把它看作一个工具。
软件发布经理可以将 Rational 工具作为像“项目管理协会的项目知识体系指南”(PMBOK)一样的标准项目管理方法的激活器。PMBOK 确定了九大知识领域:
- 集成管理
- 范围管理
- 时间管理
- 成本管理
- 质量管理
- 人力资源管理
- 沟通管理
- 风险管理
- 采购管理
这 篇文章将说明这个方法和工具是怎样帮助软件发布经理来实现九个知识领域中的四个领域。这四个领域是范围管理、质量管理、沟通管理和风险管理。这个过程将贯 穿一个众所周知的软件发布记录(Software Release Record) 的概念。软件发布记录是 Rational ClearQuest 内部的一个自定义的记录类型,它在这篇文章中将作为一个部分详细进行描述。
剩下的五个领域和另外四个领域的某些部分将由工具集成来处理,它们不会被涉及到。这些集成工具包括 Rational Portfolio Manager (RPM) 或者 Microsoft Project 等。
在我们进入发布记录(Release Record)和两个紧密相关的基于状态的记录类型之前,首先应该搞清楚一些与 PMBOK 提供的定义相类似的内容。
范围管理提供了一个指南,这个指南确保这个项目包括了成功完成项目所必需的工作,并且只包括这些工作。
质量管理包括了执行决定质量方针、目标和职责的组织的所有活动,这样项目将会满足它所承担的所有需求。
沟通管理使用许多过程,以确保沟通的及时以及合适的产生、收集、分发、存储、修改以及最终的部署。
风险管理包含的过程,关注于引导风险管理计划、识别、分析、响应和监控。
那么在所有已构建的和有用的行业验收定义之后,什么是软件发布记录呢?
软件发布记录是一个基于状态的记录类型。它获取数据元素,比如发布经理的姓名、发布号、发布类型(顺应性或者任意性)、生产环境部署日期(软件部署到一个应用程序服务器的时间)以及生产日期(软件通常可用的时间)。
图1. 软件发布记录这 个时候值得一提的是软件发布的编号方式。它值得一提是因为虽然它看起来似乎是一件微不足道的小事,但是我见过很多对这个话题的猜想和争论。作为发布经理, 标准和过程是你整个成功的关键因素,尽管本文的目的不是介绍一个有效率的发布经理所必需的所有标准和和方法。基本标准之一是发布的编码约定。发布编码应该 跟随一个行业标准,比如国际标准组织(ISO)。在下面的图表中提供了一个编码和发布命名的标准,它可以灵活处理绝大部分软件交付状态。
图2. 发布编码标准软件发布记录有一个清楚的基本工作流来跟踪软件开发生命周期中的过程。
下面是软件发布记录的工作流
图3. 软件发布记录的工作流软件发布记录是其它基于状态的记录类型的一个父记录,它向发布经理提供了发布的一个全局的视图,但是我确信,你正在问自己,怎样管理一个详细视图呢?
更深入一步进入过程,我们可以产生两个额外的基于状态的记录类型,事件(Incident) 和工作请求(Work Request)记录。
事件记录类型可被规类为缺陷、问题、风险、变更请求等等,由于这些不同的分类,事件记录类型有一个相当复杂的状态转换矩阵:
图4. 事件记录事件记录类型获取描述信息、标题(一个简短描述)、所有人名称、优先级、严重度,以及相关软件发布记录、相关事件记录和相关工作请求。
当一个事件记录进入了 Slotted 状态,那么它一定跟软件发布记录是相关联的。
经 常从用户那里听到的一个抱怨是,他们什么时候需要重新创建一个记录,因为把当前记录拷贝和粘贴到新的记录上是十分单调乏味的工作,虽然工作很简单但是很可 能出错,比如粘贴一个值到一个错误的字段或者忘记将值从原始记录拷贝到新的记录。解决这个问题的办法是给用户一个不用拷贝和粘贴就可以克隆记录的方法。这 样不仅创建了一个记录,并用来自原始记录的数据在板上进行组装,同时还在两个记录之间创建了一个链接。这个克隆记录的代码可以通过下面参考资源部分中 Shmuel Bashan 的 developerWorks 文章中得到。
developerWorks 上的代码必须分散到不同脚本中与各种事件类型一起操作。第一个脚本 clone_record.zip
)是确定用户想要克隆的事件记录类型,它然后将执行适当的附加脚本来克隆这个记录。
使 用 ClearCase/UCM/ClearQuest 实现集成的一个局限性就是一个记录只能分配到一个项目/流程/视图,并且一次只能一个人对它进行操作。然而,很可能有同时有好几个人操作一个变更或者他们 可能在世界的不同地方,在不同的工作流程中对同一个变更进行操作。
为了克服这种局限性,你可以执行工作请求记录类型。工作请求记录类型是一个可以运用统一变更管理(UCM)包的基于状态的记录类型。
这 个工作请求记录的创建必须来自于事件记录内部,因为许多数据元素是直接从事件记录拷贝到这个工作请求记录的,并且这两个记录后来是相互连接的。这个工作请 求记录几乎是可任意使用的,它内部有一个非常短的生命周期,因为用户不需要输入很多数据,这个工作请求就可以很容易地被创建、分配、继续操作,然后关闭。 一旦开发者完成了编码变更,通过了代码评审,单元测试变更的记录就将结束。它将提醒事件管理者,这个记录即将进入下一个状态。
这个工作请求记录的状态转换矩阵非常简单:
图5. 工作请求记录的状态转换矩阵既 然软件发布记录、事件记录和工作请求记录是相互关联的,那么系统在两个方面可以做一些确认。当一个事件记录要进入 Resolved 状态时,系统核查会确保所有与这个事件相关的工作请求关闭,直到那些请求已经关闭才会允许这个记录事件记录进入 Resolved 状态。类似的一个确认是发生在当事件记录进入 Closed 状态的时候,因为质量保证小组可能创建一个新的工作请求来跟踪他们工作进度。另一个确认发生在软件发布记录即将进入 Deployed 状态的时候。允许软件发布记录进入 Deployed 状态之前,系统将确认所有相关事件的记录关闭。
运行中的事件记录
为 了进一步举例说明事件记录概念的重要性,下面详细介绍了一个简单的用例在 Rational Application Developer (IDE),Rational Clearcase (SCM) 以及 Rational Clearquest (问题跟踪)中进行完全集成练习的情况。
图6. Rational Clearcase (SCM) 和 Rational Clearquest (问题跟踪)正如上图的描述所示,事件记录是将事件概念(缺陷)、事件决议(缺陷修复)和发布跟踪联系在一起的激活器。
用例如下:
- 通过测试,一个软件缺陷已经被确定,并作为一个 ClearQuest 事件进行输入。
- 通过 ClearQuest,缺陷管理人员将这个缺陷分配给一个应用软件开发者作进一步分析。
- 开发人员分析这个缺陷,并继续对缺陷位置进行定位。他访问并调试来自 RAD IDE 的代码。
- 对话框提示开发人员将代码调试和事件记录联系起来,开发人员确定合适的事件记录,将潜在的缺陷修复和软件缺陷联系起来。
- 在缺陷位置被确定在 Clearcase 后,这个项目经理或者缺陷管理人员就可以在 Clearcase 运行报告来对进度、缺陷状况和发布进行控制。
- 部署和打包
- 新的部署任务
工件:
由 这种方法产生的一个工件是软件发布日历,这个日历可被归类为 PMI 沟通管理激活器。这个简单的发布日历产品透过 Rational ClearQuest 通过查询发布记录的特定时间(天,星期,月,年),来提供一个单独的预定发布视图。其它的沟通工件包括但不仅仅局限于日志(问题,风险等等)和报告(缺 陷,变更,请求等等)。
图7.日志和报告
经验教训:经验教训:
- 确保开发团队理解发布记录的益处和集成软件工具,过程和项目管理学科的方法。
- 沟通、沟通还是沟通。发布日历是一个很有用的工具。是保证人们使用了发布数据的主要资源之一。
- 如果可能的话使用标准,不要复制标准。比如如果有一个软件发布编号方式的标准方法,那就可以使用。
- 结合现有的实体或者建立一个Governance Board for Software Tools和Processes。
- 确保你的工具管理人员有先见之明,能够理解你的业务环境和局限性
结论:
通过使用软件工具、过程和讨论的项目管理原则,软件发布经理可以:
- 有一个针对时间框架(天,星期,月,年)的单独预定发布视图。
- 追究基于管理需求和产品矩阵的相关复杂的疑问。
- 有权访问绝大多数当前的发布信息。
- 对特定发布的问题、风险、缺陷、部署请求和变更请求有更详细的见解
- 生成一个发布日历
- 逐渐向更成熟的软件配置管理程序发展
- 通过追踪、历史收集、签名机制以及其他的工具编程和定制功能,支持并使能够实现像 Sarbanes-Oxley Act 2002 (SOX)一样的法规需求。
- 通过标准过程和度量采集,支持并能够使用像 集成的能力成熟度模型(CMMI)一样的过程
- 拥有他或者她的相关数据的支持观点,而无论什么是时间什么地点
无论你在企业开发项目中担任的什么角色,不管是发布经理、项目经理、分析师、构架师、开发测试员、部署经理或管理层,一个强大的项目管理基础和集成在集成开发环境(IDE)的软件,软件配置管理 (SCM) 系统和项目管理工具以及开发方法论都是所必须的。
分享到:
相关推荐
2. **软件许可证管理**:对于软件的采购、分发、更新和许可证合规性检查,软件管理模块能够帮助企业避免非法使用和过期软件带来的法律风险。 3. **网络与设备监控**:通过实时监控网络性能和设备状态,及时发现并...
【标签】:“开启企业管理新篇章系列之八:实现SMS 2003 的软件分发”标签强调了本主题的重点,即利用SMS 2003改进企业软件管理流程,特别是软件分发的能力。 【压缩包子文件的文件名称列表】: 1. **查看本次课程...
企业软件资产管理是现代企业管理中的一个重要组成部分,它涉及到软件成本控制、使用效率提升以及员工管理等多个层面。软件资产管理的目的在于确保企业能够合理、合规地使用软件资源,避免不必要的法律风险,并且通过...
《人工智能与机器学习在大型石油化工企业软件资产管理中的应用》 在当今信息化社会,软件已成为企业运营不可或缺的一部分。尤其是在大型石油化工企业中,软件不仅用于日常运营,还在产品研发、生产控制、安全管理等...
配置管理包括软件产品的版本控制、变更控制、发布控制等方面。 测试管理是软件质量管理的重要组成部分。测试管理是指软件企业对软件产品的测试进行管理和控制,以确保软件产品的质量和可靠性。测试管理包括软件测试...
通过学习和实践这些组策略软件分发技巧,管理员可以更高效地管理企业IT环境,提高工作效率,同时减少潜在的安全风险。组策略不仅限于软件分发,还包括账户策略、安全设置、桌面设置等众多管理功能,是企业IT运维的...
企业规模越来越大,补丁分发/软件分发越来越困难公司分布在不同的楼层,一点小问题都要跑来跑去,维护工作很大,员工随意修改IP地址,不容易管理公司的U盘,移动硬盘使用混乱,容易造成信息泄露等等 。飞想科技十年...
企业管理激励软件简介 内筹宝---企业虚拟股权激励系统提供了一整套虚拟股权激励的技术解决方案,通过系统后台简单设置,即可迅速生成内部股或虚拟股发行方案,企业员工可通过认购或被企业赠予的方式获得内部(受限...
《企业软件分发系统的研究与开发》这篇硕士论文由作者彭辉撰写,主要探讨了如何构建和优化企业级软件分发系统,特别是利用PXE(Preboot Execution Environment)技术实现无盘工作站的部署和管理。PXE是一种网络启动...
本文将深入探讨企业软件配置管理的实施策略,帮助企业避免常见的误区,并提供有效的实施路径。 首先,理解软件配置管理的含义至关重要。根据SEI(Software Engineering Institute)和CMM(Capability Maturity ...
【标题解析】:本文档主要介绍了如何利用SMS(System Management Server,系统管理服务器)进行企业计算机资产管理及软件分发。SMS是微软提供的一款企业级系统管理工具,特别适用于大规模的IT环境,用于监控、管理和...
在IT管理领域,尤其是Windows环境下的企业网络管理中,组策略(Group Policy)是一个不可或缺的工具,它允许管理员对用户和计算机应用各种设置,包括安全设置、系统设置以及软件分发等。本篇将深入探讨如何利用组...
【SMS企业计算机资产管理与软件分发】 SMS(Systems Management Server)是微软提供的一款企业级的系统管理工具,尤其适用于大规模的计算机资产管理与软件分发。本文档主要讲述了如何利用SMS 2003来实现这一功能,...
### 软件开发管理规范知识点详解 #### 一、总则 - **目的与适用范围**:旨在规范公司的软件研发及其外包管理活动,适用于公司总部的软件开发管理,分公司可参照执行。 - **开发类型界定**:明确了新系统开发与现有...
同时,提供的安装序列号文件(如“统一管理软件安装序列号.txt”)确保了软件的合法使用,避免了未经授权的复制和分发。 总的来说,IPCOM 无线AP统一管理软件以其强大的功能、易用的操作和灵活的版本选择,成为了...
"企业部门研发流程管理计划软件开发管理" 知识点一:研发流程管理的重要性 研发流程管理是企业部门研发流程管理计划软件开发管理的核心内容。研发流程管理是指企业在研发过程中,对研发活动的计划、组织、协调和...
《利用SMS进行企业计算机资产管理及软件分发》 本文主要探讨了如何利用SMS(Systems Management Server)进行企业级的计算机资产管理及软件分发,重点介绍了SMS的硬件和软件清单收集功能,以及如何设置和管理这些...
《利用SMS进行企业计算机资产管理及软件分发》 本文主要探讨了如何利用SMS(Systems Management Server)进行企业级的计算机资产管理及软件分发,旨在提高IT管理效率,降低人力成本。SMS,特别是SMS 2003版本,提供...