下载本文的 PDF 版本 PDF

在 IT 合规性游戏中保持得分

ALM 可以帮助组织满足严格的 IT 合规性要求。

TRACY RAGAN,CATALYST SYSTEMS

对于当今的组织而言,让开发人员接受从开发到发布的应用管理标准化程序是面临的最大障碍之一。建立标准化的开发到发布工作流程(通常称为 ALM(应用程序生命周期管理)流程)对于组织努力满足严格的 IT 合规性要求至关重要。这说起来容易做起来难,因为不同的开发团队已经创建了自己独特的程序,这些程序没有文档记录、不明确且不可追溯。

要使所有开发团队都达到 100% 的合规性,就需要 ALM 团队清楚地向开发人员传达合规性级别,并清楚地向上层管理人员传达哪些开发团队合规以及哪些团队不合规。使用简单的“合规性记分卡”来跟踪进度可以完成这项工作。

在定义标准化的 ALM 流程时,第一个经验法则是明确定义属于 ALM 范畴的活动。例如,ALM 流程不需要定义特定的开发方法,例如持续开发或敏捷开发。事实上,强烈建议不要涉及开发团队如何定义开发流程。ALM 流程应侧重于变更离开开发并流经测试和生产发布的移动。换句话说,ALM 流程不应关注开发人员可能每天进行的更改。相反,ALM 流程应关注开发人员表示更改已准备好投入生产时会发生什么。

一旦开发团队报告其源代码更改已准备好投入生产,ALM 工作流程应侧重于四个特定程序:源代码控制、构建管理、测试和生产发布。当然,软件最初是在开发阶段“诞生”的,但后续阶段(包括锁定预生产源代码、执行预生产构建以创建二进制文件、测试二进制文件以及最终将二进制文件发布到生产环境)是 ALM 流程的核心,必须对其进行标准化和可重复化,以满足 IT 合规性要求。

即使 ALM 活动的核心涉及开发阶段之后的步骤,让开发人员接受标准化流程也至关重要。这是因为大多数开发团队都习惯于执行从开发到发布的 ALM 流程的每个阶段。定义标准化的 ALM 流程对开发人员将应用程序投入生产时会产生直接影响。例如,这可能意味着他们不再自己构建、测试和发布应用程序,而是将其移交给单独的团队,或者使用特定的方法、使用特定的工具来执行这些活动。因此,开发团队必须接受标准化程序;否则,ALM 流程可能会完全脱轨。

任何尝试建立标准化 ALM 流程的组织都必须确定一个中央团队或个人,负责建立流程并实施新的约定规则。在大多数组织中,此责任最合乎逻辑地属于配置管理、测试或生产控制团队。规模较小的组织可以指派一名个人来协助每个开发团队进行生产发布流程。

保持得分

推出集中式 ALM 解决方案并使所有开发团队都达到 100% 的合规性需要两个关键组成部分:必须清楚地传达合规性级别,并且高层管理人员必须认真对待实现目标。来自高层管理人员的明确指示和 ALM 流程的明确声明使开发团队能够理解对他们的期望。所有团队都充分理解 ALM 合规性级别至关重要。同样重要的是,每周向上层管理人员通报哪些团队符合这些合规性级别,哪些团队不符合。您可以使用“合规性记分卡”来传达此信息。

定义合规性级别是创建合规性记分卡的最重要步骤。最好的方法是从对开发人员重要的事情开始。开发人员将在两个特定领域与集中式 ALM 流程交互:SCM(源代码配置管理)和构建配置管理。您应该选择灵活且可以满足多个开发团队需求的 SCM 和构建配置管理工具。这允许每个团队根据自己的需求独特地使用这些工具,并且仍然与集中式流程交互。

开发人员以紧密集成的方式使用 SCM 和构建配置管理工具。他们需要能够锁定源代码并编译其二进制文件。在定义中央流程时,您可能需要取消其基于团队的 SCM 工具;因此,您也将取消其构建流程。您需要为构建和源代码管理定义中央流程;否则,每个团队将继续使用其较差的工具。开发团队通常根据开源临时脚本语言选择 SCM 和构建配置管理工具,这些脚本语言执行最简单的检入、检出和构建功能。这些工具可能无法执行详细的依赖性管理、影响分析或构建审计报告,以跟踪与生产可执行文件匹配的源代码。因此,这些工具尤其必须在企业 ALM 流程中实现标准化。

表 1 - 合规性级别示例
合规性级别
合规性描述
合规性益处
级别 1
所有第三方对象、SOA 对象、J2EE 对象和数据库对象都已识别并检入到中央 SCM 工具中。
所有第三方对象都在整个组织中集中化。开发人员开始使用中央 SCM 工具来管理可重用的第三方对象。
级别 2
已达到级别 1,所有项目级源代码都已检入到中央 SCM 工具中,并且使用中央构建配置管理工具执行了二进制文件的构建。需要来自构建的可追溯足迹,以验证与可执行文件匹配的源代码。
必须验证源代码是否值得管理。仅使用 SCM 管理的对象构建代码,并基于编译器调用提供可追溯的足迹,将验证与生产可执行文件匹配的源代码。这符合职责分离和可追溯性 IT 治理要求。
级别 3
已达到级别 1 和级别 2,并且所有二进制文件都经过测试并由中央生产控制团队批准发布,而无需开发团队的协助。所有生产服务器都已锁定,开发团队的任何成员都无法更新。
存储源代码和构建可执行文件之后,必须定义一个不涉及开发人员的发布流程。这是满足完全 ALM 合规流程的最终方法。

 

定义合规性级别

在始终让开发人员满意与满足组织的基本合规性需求之间存在平衡。为了保持这种平衡,您必须牢记开发团队最基本的需求,并确保在企业 ALM 解决方案中满足这些需求。此外,您必须使合规性级别保持简单明了。过于复杂的合规性级别会给开发人员提供太多不实现它们的借口。表 1 列出了合规性级别示例。早期的合规性级别仅涉及 SCM,而后面的级别涉及 SCM、构建配置管理和发布管理。

大多数组织可以使用表 1 中所示的三个合规性级别。这些级别为强大的 ALM 流程提供了基本框架,该流程将满足严格的 IT 治理标准。每个级别都值得进一步探讨。

级别 1: 识别所有第三方库并将其检入到中央 SCM 工具中。这似乎是一个奇怪的第一个合规性级别,但它对于 SCM 流程的最终目标(提供与生产可执行文件匹配的源代码)至关重要。要求开发团队识别其所有第三方组件,包括编译器库,使他们参与使用集中式 SCM 工具,而不会中断其直接开发工作。这些第三方库和编译器库对于支持应用程序构建流程、允许创建 QA 和生产级编译以及验证生产环境中运行的这些第三方库和编译器库的版本至关重要。

这种级别的控制对于管理 SOA(面向服务的架构)、J2EE 和数据库应用程序至关重要。请记住,许多这些第三方库和编译器库必须安装到生产环境中。应用程序是针对它们构建的,并在生产环境中针对它们执行。至关重要的是,集中式 SCM 解决方案应开始控制这些库,甚至在它们开始控制特定于应用程序的代码之前。一旦应用程序团队定义了这些组件,ALM 团队就可以开始确保在生产环境中运行正确的版本。此外,随着这些组件的新版本可用,ALM 团队可以控制其使用和分发。第三方库和编译器库的管理与管理开发人员内部创建的代码同样重要。

级别 2: 将所有应用程序源代码加载到中央 SCM 存储库中,并重新编译应用程序以使用中央构建配置管理解决方案创建预生产级别的构建。为 ALM 团队提供在“构建”机器上使用企业构建配置管理工具编译应用程序二进制对象(.exe、.war、.jar、.dll 等)的能力。生成的足迹报告显示了构建中使用的源代码的位置。您最不想做的事情是将无法编译的代码检入到中央存储库中。如果源代码未正确加载到 SCM 工具中,开发人员将反对使用该工具,因为他们将无法构建其应用程序。此外,开发团队建立以可重复方式构建其应用程序的方法非常重要。如果团队可以在专门用于构建的机器上创建构建,则它更接近于创建可重复的构建流程。此外,您的构建工作流程应提供基于实际编译器调用创建足迹的能力。此报告对于完成下一步至关重要。

级别 3: 已达到级别 1 和级别 2,并且所有发布都由中央生产控制团队执行。删除开发人员对生产服务器的访问权限。最终的合规性级别完善了 ALM 蓝图。此级别的开发人员将源代码移交给中央 ALM 团队,然后中央 ALM 团队将创建二进制文件,并提供可追溯的足迹来验证与可执行文件匹配的源代码,并将二进制文件移动到安全的生产环境。此合规性级别是完全可追溯的,并将满足最严格的 IT 标准,例如 COBIT(信息及相关技术的控制目标)、ITIL(IT 基础设施库)和 SOX(2002 年萨班斯-奥克斯利法案)。

构建记分卡

一旦您在 ALM 流程中满足了开发人员的基本需求,并定义了简单明了的合规性级别,您将发现每个团队都开始争论其解决方案与企业解决方案相比的细微功能。您必须学会区分企业级流程中的细微缺失功能和重大缺失功能。换句话说,特定工具显示版本历史记录的方式并不是一个障碍。不为开发人员提供构建其应用程序的方法是对企业 ALM 流程的合理反对。如果您听到开发人员对 SCM 解决方案的细微功能提出异议,或者对满足合规性级别所需的额外工作提出异议,这肯定是第一场战斗已经获胜的迹象。您已成功定义了一个开发人员可以纳入其开发流程的流程,从而将基于团队的流程抛在后面。您的下一步是构建合规性记分卡。

合规性记分卡是您向上层管理人员传达企业 SCM 推广成功的方式。如果您确实完成了第一步,即定义了一个可以供所有团队使用的 SCM 流程,而与开发工具无关,那么现在是开发团队迁移到新流程的时候了。

表 2 是合规性记分卡的示例,其中列出了三个应用程序团队和三个合规性级别。从记分卡中可以明显看出,客户服务团队 100% 合规,而贷款处理团队尚未承诺何时达到最高合规性级别。此记分卡应与所有开发团队负责人共享。这使高层管理人员能够看到哪些团队落后。

表 2 - 合规性记分卡示例
开发团队 级别 1 级别 2 级别 3
应付账款 合规 1/24/06 6/1/06
贷款处理 3/1/06 5/1/06 未承诺
客户服务 合规 合规 合规

请记住,并非每个人都可以同时迁移。每个开发团队都有自己的截止日期,您必须与每个团队合作以实现这些截止日期。在繁忙的开发周期中开始使用新的 SCM 工具并非总是可行的。团队经理有责任在项目计划中为开发团队提供参与迁移到新的集中式流程所需的时间。然而,高层管理人员通常会向团队施加压力,要求他们发布新版本,同时要求团队迁移到新的工具,这肯定会占用他们的开发活动时间。记分卡为应用程序项目经理提供了协商何时在不同级别实现合规的机会,从而防止任何开发中断。

使用记分卡还有其他好处。例如,如果客户服务和贷款处理团队使用完全相同的开发工具,并且客户服务团队 100% 合规,那么除了项目计划之外,贷款处理团队没有理由不能使用企业级流程。记分卡成为一种同侪压力工具。应奖励应用程序经理实现 100% 合规性。

功能强大的简单工具

记分卡是一个简单的工具,可以带来强大的结果。它可以使用 Microsoft Excel 电子表格甚至数据库创建,在数据库中可以轻松获取报表并供高层管理人员查看。随着高层管理人员开始使用此记分卡,个别经理可能会要求提供显示不同级别信息的报表,例如,显示所有合规团队的报表,或显示所有已达到第一级合规性的团队的报表。自定义这些报表的能力将使您更容易为高层管理人员提供决策所需的数据。

要围绕 ALM 流程营造一些氛围,您必须展示成功级别。提供开发团队可以清楚沟通和实现的合规性级别是让团队采取从基于团队的系统转向基于企业的系统所需的小步骤的成功方法。使第一级合规性简单将使团队能够接受该流程,而不会完全中断工作流程。您拥有的接受企业级 ALM 流程的团队越多,其他团队加入的速度就越快。没有团队经理希望自己的团队成为唯一不合规的团队。

使用这种记分卡方法跟踪合规性可以帮助您保持 ALM 推广的势头。此外,合规性记分卡将把执行流程的负担放在高层管理人员应承担的位置。

最后,要实事求是。推出企业 ALM 解决方案的过程永远不会真正完成。只要有新的开发工作,就会有新的团队创建他们自己基于团队的 ALM 流程,

您需要面对、解决并使其走向合规。

TRACY RAGAN 自 1995 年 Catalyst Systems Corporation 成立以来一直担任首席执行官,自 2002 年以来一直是 Eclipse Organization 的积极成员。她专注于配置管理、构建管理、IDE 和部署工具。她在 Catalyst 的职位使她有机会接触到大型金融、保险和嵌入式系统公司,这些公司正在使用各种版本管理和部署工具以及 Catalyst 的旗舰产品 Openmake 来获得萨班斯-奥克斯利法案的合规性。

合规性概述

各种规模的公司都在努力解决 IT 合规性问题。从政府强制性规定(如 2002 年萨班斯-奥克斯利法案)到满足质量指南(如 COBIT(信息及相关技术的控制目标)和 ITIL(IT 基础设施库)),组织正在学习调整其软件开发流程,使其成为可以跟踪、衡量、重复和成本控制的真正业务流程。即使是不受政府强制性规定驱动的小型私营组织也在努力达到 IT 合规性标准,因为这些标准与通过消除临时和不可重复的活动来降低 IT 成本、通过指标和衡量标准来提高软件质量以及控制与将软件应用程序发布到生产环境相关的风险有关。

IT 合规性趋势实际上是高层管理人员表示必须像管理其他部门一样管理软件开发、使其标准化和可重复的一种方式。IT 合规性实际上意味着交付业务软件解决方案不再被视为少数真正技术人员执行的神秘活动,而是被视为必须仔细监控、审计和控制的业务流程,以最大限度地提高业务自动化的整体效益。

acmqueue

最初发表于 Queue vol. 4, no. 7
数字图书馆 中评论本文





更多相关文章

Jatinder Singh, Jennifer Cobbe, Do Le Quoc, Zahra Tarkhani - 云中的飞地
随着组织数据实践受到越来越多的审查,对可以帮助组织履行其数据管理义务的机制的需求正在增长。TEE(可信执行环境)提供基于硬件的机制,具有各种安全属性,用于辅助计算和数据管理。TEE 关注数据、代码和相应计算的机密性和完整性。由于主要安全属性来自硬件,因此即使主机特权软件堆栈易受攻击,也可以提供某些保护和保证。


J. C. Cannon, Marilee Byers - 合规性解构
合规性主题每年都变得越来越复杂。数十项监管要求可能会影响公司的业务流程。此外,这些要求通常含糊不清且令人困惑。当被问及业务流程是否合规时,负责合规性的人员自然难以简洁而自信地回应。本文探讨了公司如何解构合规性,以系统的方式处理合规性,并将技术应用于自动化与合规性相关的业务流程。它还专门研究了 Microsoft 如何处理 SOX 合规性。


John Bostick - 击败 SOX
数据对于任何大型组织来说都是宝贵的资源。组织越大,就越有可能在某种程度上依赖第三方供应商和合作伙伴来帮助其管理和监控其关键任务数据。在新发布的上市公司法规(如 SOX 第 404 条)之后,为财富 1000 强公司运行 IT 部门的人员越来越需要知道,当涉及到对其关键数据交易进行 24/7/365 全天候监控时,他们拥有业务合作伙伴,这些合作伙伴拥有周密计划和充分记录的程序。为了响应验证第三方控制和程序日益增长的需求,一些公司坚持要求某些供应商接受 SAS 70 Type II 审计。


Eric Allman - 遵守合规性
“嘿,合规性很无聊。真的,真的很无聊。而且,我既不在金融行业也不在医疗保健行业工作。我为什么要关心 SOX 和 HIPAA?” 是的,您绝对正确。您编写工资单应用程序、操作系统或用户界面,或者(天哪)电子邮件服务器。您为什么要担心合规性问题呢?





© 保留所有权利。

© . All rights reserved.