【IT168 分析评论】
软件环境中的治理
没有比交付软件和软件密集型系统的组织更需要有效管理的了。组织越来越依靠软件以运作它们的业务过程;许多组织将软件集成到它们的产品中,无论这些软件是自己制造的、生产外包的、或从另一个经销商购买的。
一家软件依赖型公司要想成功,它必须拥有在运行时环境中持续良好运行的应用——这些应用必须是高质量的,并且需要在部署前经过彻底的测试。这需要软件交付具有敏捷的业务流程,用以适应多种不同类型的项目,并且加速上市时间,而非减缓。反过来,这种流程必须由某种可调整的体系框架加以管理,包括规则、非常好的实践、对于项目进度的连续可视化管理,并且要符合商业需求。
良好治理与良好管理不同,后者主要是战术性的与被动的,而不是战略性的与主动的。治理结构是一种可重复的标准,它可以确保供应商和客户达成目标。 正如 IBM 杰出工程师 Kurt Bittner 所指出的,治理构建并加强了责任制。它应该度量那些被团队成员所负责的,能够给影响整个团队成果的事情。
IBM Rational 质量治理观点
当然,质量已成为影响今天软件与软件密集型系统的主要因素。 质量极大的影响了团队结果和顾客的满意度,IBM Rational 团队早已意识到需要做到组织范围的质量关注。它具有悠久的、已被证明的为全面测试、测量、变更管理、错误纠正以及其他质量相关活动提供的自动化能力。
质量治理是一个针对软件系统交付的较大环境治理中的规程。质量治理的一部分内容是进行组织化和结构化, 并提供责任链、权力链和沟通链,通过他们能够建立应用质量度量的工作流。另一部分则涉及度量:规则、政策和允许评估产品质量与进度的控制机制。这部分正是 IBM Rational 一直关注的。
25年来,为客户的软件开发创建一种全面的质量治理环境一直是 Rational 不断追求的产品策略。 Rational Unified Process?,或 RUP?非常好的实践之一是迭代开发,而质量治理则是这种方法的根本原则。迭代开发强调了在业务需求变更、尽早测试,以及在原型化阶段更深层次的让客户参与进来方面进行持续的结合。
通过内部开发,战略性收购,与所获得的来自客户定义的非常好的实践,Rational 不断的增强其客户质量治理能力。利用与 IBM WebSphere 和 Tivoli 技术的集成, Rational Software Delivery Platform 现今已可以自动化地为软件与系统交付提供质量治理的能力—— 开发者利用构建和实际产品环境实现组件测试。这种能力体现出灵活多变的体系结构,而不是僵化死板的。 IBM 杰出工程师 Grady Booch 说过,好的治理 "……增强了可预见性和可重复性,但依然允许蓬勃的创造力。"
如果使用 Rational Software Delivery Platform,那么创建一种有效的质量治理结构并不需要整体的组织转型。 紧密的产品集成与开源的系统环境可以更加轻松的将 Rational 产品引入到使用其他质量治理产品与流程的工作区中 —— 可以保护先前的 IT 投资。随着质量治理体系的发展,自定义的技术也许可以保持它们的特征,但首先应该考虑组织的特点。
确保软件质量的解决方案
我们的测试解决方案可以提供更严谨的管理,更妥善的规划,团队成员间的更完善的数据共享,这一切都建立在 IBM Rational Software Delivery Platform 上。为帮助您作出自信的决定、构建高质量的组织应用,我们提供了各种解决方案,包括性能测试、功能与回归测试、手工测试、开发人员测试、和测试管理。这些测试角色和 IBM Rational 产品的关系如下图所示。

使用我们的解决方案,质量保证团队可以很容易地管理和解决应用的功能性、可用性、可靠性、伸缩性、与性能方面的问题。
质量治理的好处
将质量治理引入到软件公司—— 建立一系列的责任制、质量测量和控制的工具与流程 —— 能够产生深远的商业影响。让我们考虑一下其重要的好处。
更快的上市时间/价值
虽然某些组织害怕质量度量将会延缓其软件交付进度,但存在于整个交付周期内的质量治理体系将能够加快生产周期、并在软件部署后提供较高性能。
组件开发团队可在构建之前进行测试,减少瑕疵。当变更的影响较小,且需要更少的时间和精力去执行时,也许正指出了对及早进行特性改造的需要。
通过早期的发现、分析、文档化问题,团队可以在开发后期更加迅速的加以控制问题。例如,产品化团队可以利用早期测试产生的数据更加迅速的定位、更正问题的根源。除此之外,团队可以避免在劣质架构上浪费部署与后期部署测试时间 —— 而将精力投入于更有成效更令人满意的工作中。
开发团队可以利用后期产生的数据重新定义测试用例,检测出更多的预产缺陷,指导下一版本的特性改良。换句话说,组织能够在软件与系统交付周期内控制质量流程就可以实现质量的进步。
质量治理正是对付当前许多软件公司流行态度的方法,Meskimen 质量规则总结到:" 您绝对没有进行彻底测试的时间,但总有进行适当测试的时间。" 事实上,按时交付、低成本、具有更多特征就是高品质。
贯穿于软件与系统交付团队的生产力和创新的更高水平
如果治理度量能够适当的确保组织交付的都是高质量的产品,那么一旦开始生产这些系统,团队就可以将精力转移到新项目的开发而不是 bug 的修复。依据 National Institute of Standards and Technology 的报告,当前软件公司会花费其80%的资源用于错误修正与维护支持。 高质量的软件允许团队更多的考虑增加价值、创建有益的细节,而不是修正错误。
更高的用户满意度
利用自动化的、良好的质量治理方法,软件经理能够时时监测需求与实现之间的协调关系。Meta Group 的报告显示大部分客户的不满意来源于不全面的需求理解。 Rational 为保正软件产品满足需求提供了强大的支持,包括开发与交付过程中自动化定义、跟踪需求的工具,它可以随着需求与特性的发展而改变。其他 Rational Software Delivery Platform 的产品帮助组织定义基于需求的业务应用开发流程,并将来自于各种环境的实时信息汇聚起来以分析流程性能。
风险规避
在软件与系统交付周期中控制质量流程为组织提供了更多降低风险的方式。
通过在每个交付期按进度进行质量检查,管理者可确保团队的工作成果符合标准,以便随时部署产品。
利用连续的、集成的自动化控制,每个行动小组都可以利用来自于先前活动或阶段的工件。这样就可以增强功效,生产力和工作流;它还创建了审查路径,提供了流程确认,规避错误及失败的风险。
使用能够互相比较的度量,管理者可以较为容易的精确指导他的团队以减少风险源。例如,通过比较各个阶段间的编码生产,他们可以在某一阶段内发现潜在的问题。同样地,通过比较版本间的性能数据,他们可以评估出所使用的质量度量是否带来了实际的性能改善。
即将发行的 Rational 产品版本将会提供日志及跟踪能力以帮助加速定位及修复应用开发过程中的问题。在软件与系统交付阶段及活动间使用这些产品,将会帮助团队通过对日志事件进行系统化的整理、关联与分析,从而确定问题的根源,而这一切都将使用一种公共的 "语言。"市场优势
软件市场充斥着低质量标准和失败的项目。一贯生产高质量软件的公司可以实现绝对的竞争优势。根据 Cutter Consortium 的报告,约有三分之一的公司声称它们的软件充斥着大量缺陷;有更大比例的公司宣称它们缺乏足够的软件质量保证系统。与此种情况相对的是,拥有有效质量度量的公司往往具有很好的声誉,诸如具有高质量的内部系统、生产高质量可信赖的软件。基于此,它们能够建立并拓展广泛的忠实用户 —— 即使在市场日趋商品化与未知品牌的情形下。
成本效益
使用治理结构形成内部质量文化可以帮助软件组织实现更好的投资回报。相比较花费80%的开发时间用来识别与改正错误(如上所述),组织可以投入更多时间用来进行创新。 正如行业专家 Philip Crosby 提到过的,一旦您利用组织转型将治理结构做到位,所有成员都将随着一个明确的流程取得一致,那么这一切都会是"自由的" .当您能够自始至终的(例如,从需求汇总开始)构建质量过程的集成化、自动化,您就已经建立起了支持项目进度与成本约束的基础。最终,您会拥有这样一家组织,它的开发者们关注于价值增值特性和质量—— 管理者能够不断评估最终用户的反馈从而改进产品线以满足用户需求。
为管理者带来更好的生活品质
各公司采取措施留住好的员工,最好的方式就是让员工工作在轻松并且不受细节困扰的环境中。 就职于拥有质量度量的软件公司的管理者不必觉得他们工作在一条线上——就像他们明明知道权交付的产品存在缺陷一样。除此之外, 质量体系所提供的连贯性和可预见性允许他们不断改变项目方向而不必重定范围与修正错误。它们能够满足时间期限,并为最终实现既定目标的项目里程碑:评估项目价值与进度,确保符合商业策略,及时决策是否值得投资,以及完成项目需要的资金。
适应技术的变革
Rational 很早就意识到治理软件质量不仅仅是管理所关注的内容;它极大的影响了软件组织中的每个人,还有商业成果。无论今天还是未来, Rational 的使命就是帮助客户支持灵活的品质管理体系,以适应不可避免的技术进步所带来的组织转型。 随着这一使命我们应该达到一种共识:转型往往是不断演进的过程;Rational 的 Software Delivery Platform 促使组织运用可选择可迭代的方式实现产品与流程以取得重大成果。
最近,Rational 组织已为采用了基于面向服务的架构(SOA)的组织开发并集成了质量治理工具及服务工具。这些架构使得指挥链和软件开发实践中的变更成为必要,而这些正是许多组织试图挑选与评价的。IBM 的集成化平台加上深层次的过程经验可以帮助建立一个自动化的 SOA 治理结构,它明确了质量责任,确保了应用完整性、符合商业策略,保护了投资 —— 不论现在还是未来。这些能力将作为一种模型服务于未来的质量,这使得软件交付组织可以更加充分地利用强大的新技术。