Wiki source code of 07 发布管理(已发布)
Version 20.1 by superadmin on 2021/02/19, 16:15
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | {{box cssClass="floatinginfobox" title="**Contents**"}} | ||
2 | {{toc/}} | ||
3 | {{/box}} | ||
4 | |||
5 | ((( | ||
6 | |||
7 | ))) | ||
8 | |||
9 | 需要下载 **ITIL 4发布管理实践【中文】**pdf版全文,请关注微信公众号itilxf ,并回复“发布”即可。 | ||
10 | |||
11 | [[image:微信截图_20210206234644.png||height="153" width="152"]] | ||
12 | |||
13 | |||
14 | **申明:** | ||
15 | |||
16 | 本系列ITIL 4实践中文版本由ITIL先锋论坛专家委员会组织翻译,国内众多从事ITIL理论推广及落地实践的专家们参与,需要下载最新翻译版本请关注微信公众号:ITILXF,也可访问ITIL4中文知识库网站:itil4hub.cn。 | ||
17 | |||
18 | 请注意,ITIL先锋论坛专家团队仅仅只是进行了这些著作的语种转换工作,我们并不拥有包括原著以及中文发行文件的任何版权,所有版权均为Axoles持有,读者在使用这些文件(含本中文翻译版本)时需完全遵守Axoles 和 TSO所申明的所有版权要求。 | ||
19 | |||
20 | |||
21 | 翻译:李威 审校:郑中珮 审核:刘晓慧 | ||
22 | |||
23 | |||
24 | |||
25 | ---- | ||
26 | |||
27 | = **1 关于本文件** = | ||
28 | |||
29 | 本文档为发布管理实践提供了实用指南。它分为五个主要部分,内容包括: | ||
30 | |||
31 | 1. 有关实践的概括信息 | ||
32 | 1. 实践的流程和活动以及它们在服务价值链中的作用 | ||
33 | 1. 实践中涉及的组织和人员 | ||
34 | 1. 支持实践的信息和技术 | ||
35 | 1. 实践中关于合作伙伴和供应商的注意事项 | ||
36 | |||
37 | == **1.1 ITIL 4 鉴证方案** == | ||
38 | |||
39 | 本文档的内容可作为以下课程的一部分检验标准: | ||
40 | |||
41 | 1. ITIL专家 创建,交付和支持 | ||
42 | 1. ITIL专家 高速IT | ||
43 | |||
44 | 有关详细信息,请参阅相关的教学大纲文档。 | ||
45 | |||
46 | |||
47 | |||
48 | ---- | ||
49 | |||
50 | = **2 基本信息** = | ||
51 | |||
52 | |||
53 | == (% style="color:#666666; font-size:14px" %)**2.1 目的和描述**(%%) == | ||
54 | |||
55 | |||
56 | |((( | ||
57 | 关键信息 | ||
58 | |||
59 | 发布管理实践的目的是使新的和变更的服务及功能均可用。 | ||
60 | ))) | ||
61 | |||
62 | 发布管理实践是为了确保组织及其服务使用者在符合组织政策和协议的前提下,服务可以正常使用而产生的最佳实践。 | ||
63 | |||
64 | 传统场景下,服务组件(包括基础设施、软件和文档等)对用户都是可见并可以访问的。随着基础设施和文档的管理越来越数字化,软件管理的方法和模式需变得更适用于这些类型的服务组件,并在这样几个重点方面影响软件发布的实践与其他实践,比如服务验证与测试、部署管理、软件开发及管理等。 | ||
65 | |||
66 | 从客户和用户的旅程角度来看,发布管理支持引入和撤销。对于用户而言,此实践可能支持第一个接触点与服务提供者的交互。初始引入完成后,此实践支持服务交付的更新,这对于实践的成功非常重要。 | ||
67 | |||
68 | |||
69 | == **2.2 关键术语和概念** == | ||
70 | |||
71 | |((( | ||
72 | 发布 | ||
73 | |||
74 | 使服务或仸何其他配置项的版本或配置项的集合可用。 | ||
75 | ))) | ||
76 | |||
77 | === **2.2.1 发布管理和部署管理** === | ||
78 | |||
79 | 组织应该定义发布和部署管理实践的最佳方法,并明确它在整个组织价值流以及服务关系中的具体角色。 | ||
80 | |||
81 | 一种方法是将发布和部署活动结合在一起。一旦服务组件被发布到生产的环境中,用户便可以去使用。生产环境中不同版本的相同组件很少有共存的情况,就算在某一时间点共同存在,也不会持续很久。发布和部署活动(以及产品的整个生命周期)之间没有明确的边界。这种方法通常应用于硬件服务组件和大型独立的软件系统。 | ||
82 | |||
83 | 另一种在敏捷开发模式、现代架构以及基于云的解决方案中比较适用。通过这种方法,可以在发布活劢启动之前将新版本的软件部署到生产环境,然后再发布给部分或所有用户。在这种情况下,发布管理活动只需将重点放在启用服务上,便可以简单的实现发布的目的(例如,在存储库中更改应用的状态,指定的用户就可以进行下载操作了),另外降低复杂的人工操作的故障率(例如,训练用户降低风险并增加版本发布的有效性)。 | ||
84 | |||
85 | |((( | ||
86 | CI (持续集成)/ CD(持续部署)和发布管理 | ||
87 | |||
88 | 敏捷和DevOps中部署的关键概念包括持续集成、持续交付和持续部署。Martin Fowler 将它们定义为: | ||
89 | |||
90 | * 持续集成通常是指在软件开发环境中集成、构建和测试代码。 | ||
91 | * 持续交付扩展了持续集成,涵盖了生产部署的最后阶段。持续交付意味着构建的软件可以随时发布到生产中。 | ||
92 | * 持续部署是指通过流程并自动投入生产的变更。这样便可以每天进行多个生产部署。 | ||
93 | * 持续交付意味着可以频繁部署,但部署决策是根据具体情况而定的,通常是因为企业更喜欢较慢的部署速度。持续部署要求完成持续交付。 | ||
94 | |||
95 | 在组织中,将发布的连续部署管理作为单独的实践来使用是普遍且有效的。新版本的软件、文档和数字基础设施配置一准备就绪,便会立即部署到运行环境中,然后使用发布管理实践为用户“打开”它们。 | ||
96 | |||
97 | 如果使用不带持续部署的持续交付,则部署新的和更改的发布组件可以在相应的价值流中作为单个步骤进行同步和管理。 | ||
98 | |||
99 | 最后,如果组细不使用持续交付或持续部署,则发布管理活动更可能与部署管理结合使用。 | ||
100 | ))) | ||
101 | |||
102 | 组织为所有产品和服务或每个产品定义了发布和部署管理实践的方法。这通常由组细的产品体系结构(及其跨产品的一致性)和组织对软件生命周期的管理方法来定义的。 | ||
103 | |||
104 | |||
105 | === **2.2.2发布管理的方法,模型和计划** === | ||
106 | |||
107 | 如果组织管理不同的架构产品,则可能会定义不同的发布管理方法。一旦就特定产品达成一致,就可以开发特定于产品的发布管理模型。该模型包括但不限于∶ | ||
108 | |||
109 | * 商定的高级方法 | ||
110 | * 针对用户及发布对象设置规则 | ||
111 | * 发布单元和打包规则 | ||
112 | * 推/拉条件 | ||
113 | * 验证和验收标准 | ||
114 | * 假设验证和实验的发布使用条款 | ||
115 | |||
116 | 产品可能有多个发布管理模型。例如,当产品用于在不同的市场上提供服务,或用于企业和个人服务消费者。 | ||
117 | |||
118 | 组织对产品的控制范围是影响发布管理模型开发和实践的因素之一。当组织控制整个产品生命周期(包括开发和部署)时,它可以更自由地定义发布管理模型。相反,如果组织的服务基于第三方组件,或者开发和部署由供应商管理,则通常引入组织应该考虑的约束。虽然组织仍然可以决定是否在其服务中包含更新的组件,但是只能在一定程度上进行决定(取决于组件的供应商是否允许继续使用历史版本)。 | ||
119 | |||
120 | |发布单元 | ||
121 | 配置项或部分配置项的预定义集合,它是发布包含的基本大小。 | ||
122 | |||
123 | |||
124 | === **2.2.3 发布单元** === | ||
125 | |||
126 | 发布单元可能包括不同类型的软件组件,用户设备以及其他硬件资源,文档。对于新用户而言,用于服务的初始发布的发布单元可以不同于用于更新同一服务的发布单元。但是,可能会建议甚至强制要求组件的某些组合。例如,每个更新都应包括为用户准备的版本发布说明;但是,在某些情况下,用户设备应在用户最初使用发布之后进行更新。 | ||
127 | |||
128 | 某些发布实例可能包含不完整的发布单元,但这种情况应作为特例∶如紧急发布(紧急更新),或者过于复杂且已定义了不切实际的发布单元。 | ||
129 | |||
130 | 重要的是要记住,发布单元可能不同于部署单元,后者定义了通常一起部署的组件。发布是面向用户的,发布单元的定义取决于服务的哪些组件会影响到用户使用服务和用户的体验。 | ||
131 | |||
132 | |||
133 | === **2.2.4 推/拉条件** === | ||
134 | |||
135 | 发布管理模型的开发期间需要做出的决定之一是将服务组件的新版本推向用户,还是由用户拉取最新的版本,或是将多种方法混合使用。 | ||
136 | |||
137 | "推"式方法意味着在未经用户特定许可的情况下为用户启用了新的或变更的服务组件,用户必须使用这些版本。相比之下,"拉"式方法为用户提供了新的组件和服务,但是用户可以自己决定是否使用新的版本或坚持使用较旧的版本,甚至直接不使用这个服务。 | ||
138 | |||
139 | 通常,组织不会采用单一方法。一般会为了更好地满足工作条件,定义了"拉"或"推"方法。无论对内部和外部用户,都有很多亲和性。这包括∶ | ||
140 | |||
141 | * 在整个用户群中使用单一版本(可维护性,兼容性) | ||
142 | * 用户体验更灵活(更好的可视化,灵活的定价选项) | ||
143 | * 提供在运行环境中管理多个版本的技术和组织能力 | ||
144 | * 关键变更(严重的安全漏洞更新这种场景更适合"推"模式) | ||
145 | * 功能和其他客户的需求(如果实现了所需的新功能,客户可以要求所有用户进行更新) | ||
146 | * 监管要求 | ||
147 | |||
148 | === **2.2.5 假设检验和实验** === | ||
149 | |||
150 | 发布管理可用于验证假设和实验。当一个组织需要用一个样本用户群体来测试一个假设时,可以将可测试的服务发布给该组样本用户(有时称为治疗组)。这种方法被社会网络等大众服务提供商广泛使用,但也适用于小用户群体。相关技术包括蓝/绿发布,金丝雀发布和A/B测试等。 | ||
151 | |||
152 | 这些实验需要其他实践的共同参与。这包括但不限于∶ | ||
153 | |||
154 | * 基础设施平台管理 | ||
155 | * 软件开发管理 | ||
156 | * 部署管理 | ||
157 | * 架构管理 | ||
158 | * 服务台 | ||
159 | * 事件管理 | ||
160 | |||
161 | == **2.3 实践的范围** == | ||
162 | |||
163 | 发布管理实践的范围包括以下内容: | ||
164 | |||
165 | * 开发和维护组织中新的和变更的服务与组件[[1 >>path:#_bookmark2]]的发布方法 | ||
166 | * 在规划、实施和评审的各阶段,按照规定的方法管理和协调所有发布实例 | ||
167 | |||
168 | 有许多活动和职责范围与发布管理紧密相关,但不属于实践的范围。 | ||
169 | |||
170 | 表2.1中列出了其中一些关键领域,其中包括该实践的参考资料。重要的是,ITIL实践是在价值流中使用的工具的集合,应根据情况将它们视需要进行组合。 | ||
171 | |||
172 | |||
173 | 表2.1其他实践指南中描述的与发布相关的活动 | ||
174 | |||
175 | |**实现价值**|**实践指南** | ||
176 | |变更/发布的授权|变更支持 | ||
177 | |在运行环境部署新的和更改的组件和服务|部署管理 | ||
178 | |软件开发|软件开发和管理 | ||
179 | |开发和构建基础架构组件|基础设施和平台管理 | ||
180 | |用户培训支持和运维工作人员培训|劳动力和人才管理 | ||
181 | |测试和验证服务和服务组件|服务验证和测试 | ||
182 | |服务组件的命名和版本控制|服务配置管理 | ||
183 | |管理与大规模发布的有关的组织变革|组织变革管理 | ||
184 | |管理项目|项目管理 | ||
185 | |||
186 | |||
187 | == **2.4 实践成功因素** == | ||
188 | |||
189 | PSF不仅仅是任务或实现价值,因为它包含所有服务管理四维模型的组件。在实践中, | ||
190 | |||
191 | |((( | ||
192 | 实践成功因素(PSF)是实践实现其目的所必需的一组复杂的功能集合。 | ||
193 | ))) | ||
194 | |||
195 | PSF活动和资源的性质可能有所不同,但它们共同确保实践是有效的。 | ||
196 | |||
197 | 发布管理实践包含以下PSF: | ||
198 | |||
199 | * 在组织上建立和维护一套有效的服务和服务组件的发布的方法 | ||
200 | * 确保在组织的价值流和服务关系的上下文中有效地发布服务和服务组件 | ||
201 | |||
202 | |||
203 | === **2.4.1 为组织中的服务和服务组件的发布建立并维护一套有效的方法** === | ||
204 | |||
205 | 发布管理实践包括为新的和变更的服务和服务组件建立发布的方法和模型。组织可能会结合多种方法,并为他们管理的每个产品定义多个发布管理模型。 | ||
206 | |||
207 | 除了组织和产品信息之外,发布模型还由组织及其服务使用者之间的服务关系定义。其中包括以下因素: | ||
208 | |||
209 | * 内部或外部服务使用者 | ||
210 | * 个人或公司服务消费 | ||
211 | * 开箱即用或量身定制服务 | ||
212 | |||
213 | 这些因素是如何影响服务的更多详细信息,请参见ITIL®4:驱动利益相关者价值。 | ||
214 | |||
215 | 发布管理的方法和模型应具有一定的灵活性,以适应不断变化的情况,例如规模,紧急度或复杂性。可以基于约定的模型为每个发布实例制定计划,以反映发布实例的详细信息。 | ||
216 | |||
217 | 发布的方法、模型以及一般的实践应该进行持续改进,不断寻找消除浪费并增加效果和效率的方法。 | ||
218 | |||
219 | |||
220 | === **2.4.2 确保在组织的价值流和服务关系的背景中,服务和服务组件的发布是有效的** === | ||
221 | |||
222 | 要确保有效的发布,可能需要在所有服务管理四维模型中组织资源。 | ||
223 | |||
224 | 依赖于发布管理的模型不同,实现发布实例所需的活动和资源差异很大: | ||
225 | |||
226 | * 为某个国家或地区的所有用户发布移动应用程序的新版本,可以通过更改先前部署的软件版本、相关的发布说明和用户文档来执行;并通知服务提供商组织内的利益相关者,无需采取进一步行动。 | ||
227 | * 可以将新定制的ERP系统的安装、发布以及用户设备的升级作为一个大型项目进行管理,该项目涉及组织内外的许多团队和实践。 | ||
228 | |||
229 | 无论如何,有效的协作,使用自动化方式以及从软件生命周期早期阶段就具备良好的发布模型的规划对于发布的成功至关重要。 | ||
230 | |||
231 | 实践专注于确定任务与协调参与者,并提供有关版本发布过程中,使用的程序和技术的建议。因此,在实施过程中,有必要将实践与团队的协作有效结合。 | ||
232 | |||
233 | 有效的协调软件开发和管理,基础设施和平台管理,部署管理,服务验证以及测试与发布管理尤为重要。 | ||
234 | |||
235 | |||
236 | == **2.5 关键指标** == | ||
237 | |||
238 | ITIL实践的效果和表现应该在每个实践所贡献的价值流的背景下进行评估。与任何工具的表现或效果一样,只能在应用范围内评估。但是,工具的设计和质量可能会有很大的差异,这些差异定义了工具在使用过程中的不同能力。 | ||
239 | |||
240 | 实践也是如此,应在价值流的背景中评估其效果,但其能力是由资源的设计和质量决定的。有关度量标准,关键性能或绩效指标(KPI)的其他可以帮助实现此目标的技术,请参见度量和报告实践指南。 | ||
241 | |||
242 | 发布管理实践的关键指标已映射到PSFs。它们可以被当作价值流的背景中的KPI,以评估发布管理对这些价值流的效果和效率的贡献。表2.2中给出了一些关键指标的示例。 | ||
243 | |||
244 | |**实践成功因素**|(% colspan="2" %)**关键指标** | ||
245 | |((( | ||
246 | * 在整个组织中建立并维护一套有效的发布服务和服务组件的方法 | ||
247 | )))|(% colspan="2" %)((( | ||
248 | * 利益相关者的满意度,以及向用户介绍新服务和变更服务的方式 | ||
249 | * 在组织上采用发布管理的协商方法 | ||
250 | * 重要合作伙伴和服务消费者对发布管理方法和模型的认同 | ||
251 | * 审计调查结果以及由版本发布引起的外部合规性问题 | ||
252 | ))) | ||
253 | |(% colspan="2" %)((( | ||
254 | * 确保在组织的价值流和服务关系的背景中执行有效的服务和服务组件发布 | ||
255 | )))|((( | ||
256 | * 利益相关者的满意度与发布实例 | ||
257 | * 发布成功实例的百分比/ 发布错误/失败的次数 | ||
258 | * 与发布相关的事件的数量和百分比 | ||
259 | * 及时/遵守发布日程 | ||
260 | * 发布待办项吞吐量 | ||
261 | ))) | ||
262 | |||
263 | 表2.2 实践成功因素的关键指标示例 | ||
264 | |||
265 | |||
266 | 正确选择指标,并将指标汇总/分类为不同组合/分层,可以更轻松的将其持续管理,并应用于价值流,定期评估和持续改进部署管理实践。 | ||
267 | |||
268 | 没有单一的最佳解决方案;度量标准将基于组织的总体背景、服务战略和组织的优先级,以及实践所贡献的价值流的目标而定义。 | ||
269 | |||
270 | |||
271 | |||
272 | ---- | ||
273 | |||
274 | = **3 价值流和流程** = | ||
275 | |||
276 | |||
277 | == **3.1 价值流的贡献** == | ||
278 | |||
279 | 像ITIL 的其他管理实践一样,发布管理也对多个价值流有贡献。重要的是,价值流永远不会由单个实践形成。发布管理实践与其他实践相结合,才能为消费者提供高质量服务。 | ||
280 | |||
281 | |||
282 | 图3.1中显示了发布管理实践对服务价值链的贡献点。 | ||
283 | |||
284 | (% style="text-align:center" %) | ||
285 | [[image:图片1.png]] | ||
286 | |||
287 | |||
288 | 图3 1发布管理对价值链的贡献热力图 | ||
289 | |||
290 | |||
291 | 实践贡献的主要价值链活动是: | ||
292 | |||
293 | * 计划 | ||
294 | * 设计和转换 | ||
295 | * 获取或构建 | ||
296 | * 交付和支持 | ||
297 | |||
298 | |||
299 | == **3.2 流程** == | ||
300 | |||
301 | |((( | ||
302 | 流程是一组将输入转化为输出的相互关联或交互的活动。流程接受一个或多个已定义的输入,并将其转换为已定义的输出。流程定义了动作的执行顺序及其依赖性。 | ||
303 | ))) | ||
304 | |||
305 | 每个实践可能包含一个或多个流程和活动,这对于实现该实践的目的可能是必需的。 | ||
306 | |||
307 | 发布管理实践活动形成两个流程: | ||
308 | |||
309 | * 发布规划 | ||
310 | * 发布协调 | ||
311 | |||
312 | |||
313 | === **3.2.1 发布规划** === | ||
314 | |||
315 | 该流程专注于发布方法、模式和复杂发布实例方法的开发,以及发布管理实践的持续改进。它定期执行,并由事件或请求触发,根据模型和程序的有效性,每两到三个月或者更频繁的进行定期审查。该流程包括以下活动,并将以下输入转换为表3.1中所示的输出。 | ||
316 | |||
317 | |**关键输入**|**活动**|**关键输出** | ||
318 | |((( | ||
319 | * 当前的发布管理方法和模型 | ||
320 | * 发布记录 | ||
321 | * 发布评审报告 | ||
322 | * 政策法规要求 | ||
323 | * 生产架构 | ||
324 | * 服务目录 | ||
325 | * 服务级别协议 | ||
326 | * 事件记录和报告 | ||
327 | * IT资产信息 | ||
328 | * 与供应商、合作伙伴的协议合同 | ||
329 | * 相关政策和计划(信息安全,连续性,容量,等等。) | ||
330 | )))|((( | ||
331 | * 生产架构和服务关系分析 | ||
332 | * 发布管理方法评审和开发 | ||
333 | * 发布管理模型评审和开发 | ||
334 | * 发布实例规划 | ||
335 | * 发布计划沟通 | ||
336 | )))|((( | ||
337 | * 更新的发布管理方法和模型 | ||
338 | * 发布计划 | ||
339 | * 发布日程 | ||
340 | * 改进建议 | ||
341 | * 变更请求 | ||
342 | * 更新的知识管理文章 | ||
343 | * 获取经验 | ||
344 | ))) | ||
345 | |||
346 | 表3.1 发布规划流程的输入活动和输出 | ||
347 | |||
348 | |||
349 | 图3.2显示了流程的工作流程 | ||
350 | |||
351 | (% style="text-align:center" %) | ||
352 | [[image:图片2.png]] | ||
353 | |||
354 | |||
355 | 图3.2 发布规划流程的工作流 | ||
356 | |||
357 | |||
358 | 表3.2提供了流程活动的示例 | ||
359 | |||
360 | |**实现价值**|**普通评审**|**复杂发布实例的规划** | ||
361 | |产品架构和服务关系分析|((( | ||
362 | 发布经理与生产/ 服务所有者、架构师和其他团队一起分析和讨论影响发布方法的新条件或更改条件: | ||
363 | |||
364 | * 创建/修改一组生产和服务的首选方法 | ||
365 | * 产品或服务的性质 | ||
366 | * 组织的架构方法和决策 | ||
367 | * 主要的发布受众和与他们之间关系,现有的服务级别协议 | ||
368 | * 组织的风险管理和风险偏好 | ||
369 | * 合规性,政策和技术机遇与限制 | ||
370 | * 市场地位和财务条件 | ||
371 | * 对产品或服务组件的控制级别 | ||
372 | |||
373 | 在分析和讨论的基础上,对现有方法提出了更改,或定义了新的发布方法。 | ||
374 | )))|发布经理与生产/ 服务所有者、架构师和其他团队一起分析并讨论了影响发布实例的因素。 | ||
375 | |发布管理方法的评审和开发|团队讨论新的发布方法,或对现有发布方法进行更改,并就该方法达成一致。发布方法已开发或更新。|发布经理与生产/服务所有者,架构师和其他团队一起运行现有发布方法,分析其适配性与差距,并选择适用于所讨论的复杂发布实例的最佳方法。 | ||
376 | |发布管理模式的评审和开发|((( | ||
377 | 基于新方法或更改后的方法,定义或更新发布模型。例如: | ||
378 | |||
379 | * 发布程序 | ||
380 | * 发布权威 | ||
381 | * 模板计划 | ||
382 | * 日程模板 | ||
383 | * 沟通计划模板 | ||
384 | * 知识文章 | ||
385 | |||
386 | 为多个发布实例开发的自动化脚本。 | ||
387 | )))|((( | ||
388 | 团队应评估发布实例的风险,同时考虑之前的知识架构,技术债务,服务级别协议和用户关系以及安全性,可用性,连续性,容量和财务限制。 | ||
389 | |||
390 | 团队基于最初的待办事项评估,决定使用新的或现有的发布模型。 | ||
391 | ))) | ||
392 | |发布实例规划| |((( | ||
393 | 团队针对发布实例计划以下内容: | ||
394 | |||
395 | * 目标受众 | ||
396 | * 发布实例中包含的组件或功能的集合 | ||
397 | * 启用组件/功能的顺序和方法(例如,使用特性开关),包括假设验证和实验的规划 | ||
398 | * 验证、接受标准和用户启用(培训,知识共享,账号准备等) | ||
399 | * 发布单元和打包规则 | ||
400 | |||
401 | 推/拉条件 | ||
402 | ))) | ||
403 | |发布计划沟通|为新的或变更的发布计划,日程和程序进行的沟通,并由利益相关者审查,输入服务台和知识管理中。|利益相关者对发布计划和日程的沟通,结果输入服务台和知识管理。 | ||
404 | |||
405 | 表3.2 发布规划流程活动的示例 | ||
406 | |||
407 | |||
408 | === **3.2.2 发布协调** === | ||
409 | |||
410 | 该流程包括表3.3中所示的活动,并将输入转换为输出。 | ||
411 | |||
412 | |关键输入|活动|关键输出 | ||
413 | |((( | ||
414 | * 发布管理模型 | ||
415 | * 发布计划 | ||
416 | * 发布日程 | ||
417 | * 环境详情 | ||
418 | * 已部署到运行环境或为部署准备的服务组件或发布组件 | ||
419 | * 验收标准 | ||
420 | )))|((( | ||
421 | * 标识适用的模型或计划 | ||
422 | * 服务组件的验证 | ||
423 | * 发布程序的验证 | ||
424 | * 发布执行、发布验证、发布评审 | ||
425 | )))|((( | ||
426 | * 已经发布的服务组件/服务 | ||
427 | * 发布记录 | ||
428 | * 发布沟通 | ||
429 | * 用户,客户和相关团队成员的反馈 | ||
430 | * 发布评审报告 | ||
431 | ))) | ||
432 | |||
433 | 表3.3 发布协调流程的输入、活动和输出 | ||
434 | |||
435 | |||
436 | 图3.3显示了工作流的流程图 | ||
437 | |||
438 | (% style="text-align:center" %) | ||
439 | [[image:图片3.png]] | ||
440 | |||
441 | 图3.3 发布协调流程的工作流程图 | ||
442 | |||
443 | |||
444 | 表3.4显示了发布协调流程活动。 | ||
445 | |||
446 | (% style="width:783px" %) | ||
447 | |(% colspan="2" rowspan="1" %)活动|(% colspan="2" style="width:435px" %)软件组件的自动化发布|(% colspan="3" rowspan="1" style="width:493px" %)复杂发布项目 | ||
448 | |(% colspan="2" rowspan="1" %)确定适用的模型或计划|(% colspan="2" style="width:435px" %)基于生产或服务、目标环境或开发团队,发布流水线需要按照自动化发布模型和计划有条不紊的执行。|(% colspan="3" rowspan="1" style="width:493px" %)((( | ||
449 | 生产/ 服务负责人和开发团队一起评估已更改服务组件是否可以发布。 | ||
450 | |||
451 | 团队评估发布实例与现有服务之间的相互依赖性,评估发布的风险(包括技术债务影响),并选择使用的合适发布模型。 | ||
452 | |||
453 | 团队可以根据发布模型要求进行更新。 | ||
454 | ))) | ||
455 | |(% colspan="2" rowspan="1" %)服务组件的验证|(% colspan="2" style="width:435px" %)发布实例组件运行预置的组件测试。在CI 流水线中,提交的每个软件变更都需要通过自动化测试。|(% colspan="3" rowspan="1" style="width:493px" %)基于发布模型进行组件验证,也可以基于风险评估和技术债务进行一些其他的测试。 | ||
456 | |(% colspan="3" style="width:59px" %)服务组件的验证|(% colspan="2" style="width:277px" %)验证可以自动将组件发布给开发团队或者测试用户组,进行功能测试,或者发布给专门的用户组进行非功能测试,例如体验测试、安全测试、性能测试。|(% colspan="2" style="width:395px" %)如果某些组件未根据模型部署,则验证还需要额外触发其他构建,部署或测试动作。 | ||
457 | |(% colspan="3" style="width:59px" %)发布程序的验证|(% colspan="2" style="width:277px" %)根据组件属性自动选择发布规程。|(% colspan="2" style="width:395px" %)所选模型的发布过程将针对发布实例进行验证。只有满足所选发布模型的所有要求(全部所需的资源可用,过程已准备好运行),发布程序才会开始执行。 | ||
458 | |(% colspan="3" style="width:59px" %)发布执行|(% colspan="2" style="width:277px" %)根据预定义脚本执行的发布(例如,能将包含新特性的组件或环境路由到部分被授予权限的用户组),并自动通知受影响的用户组。|(% colspan="2" style="width:395px" %)基于事件触发(例如,项目团队决策,生产/ 服务经理批准或消费者请求)执行发布,并结合其他相关实践。内部和外部团队都可能参与其中。 | ||
459 | |(% colspan="3" style="width:59px" %)发布验证|(% colspan="2" style="width:277px" %)自动化脚本验证所有功能特性/组件均已发布。|(% colspan="2" style="width:395px" %)发布团队和专用用户检查是否所有功能/组件已发布。 | ||
460 | |(% colspan="3" style="width:59px" %)发布评审|(% colspan="2" style="width:277px" %)((( | ||
461 | 开发团队会分析自动发布流程的任何异常和日志。 | ||
462 | |||
463 | 开发团队运行调试器,更新知识库并记录所汲取的教训。 | ||
464 | )))|(% colspan="2" style="width:395px" %)((( | ||
465 | 反馈来自用户组。 | ||
466 | |||
467 | 发布团队运行发布调试器,更新知识库并记录汲取的经验教训。最终的发布评审报告可能会触发发布规划过程。 | ||
468 | ))) | ||
469 | |||
470 | 表3.4 发布协调流程活动 | ||
471 | |||
472 | |||
473 | ---- | ||
474 | |||
475 | = **4 组织和人员** = | ||
476 | |||
477 | |||
478 | == **4.1 角色,能力和职责** == | ||
479 | |||
480 | 实践指南没有描述实践管理的角色,例如实践所有者,实践领导者或实践教练。实践指南着重于每个专门角色的实践经验。每个组织架构中,对不同角色的命名可能都不同,因此ITIL中定义的任何被推荐的角色都不是强制的。请记住,角色不是职务。一个人可以担任多个角色,一个角色可以分配给多个人。 | ||
481 | |||
482 | 流程和活动的背景中描述了角色。每个角色都具有基于表4.1中所示的模型的能力概况。 | ||
483 | |||
484 | |能力代码|描述 | ||
485 | |L|**领导者** 决策、授权,监督其他活动,提供激励和动力,并评估结果 | ||
486 | |А|**管理员** 分配任务并确定优先级,保存记录,持续报告并启动基本改进 | ||
487 | |C|**协调者 /沟通者** 协调多方,维护利益相关者之间的沟通,并开展宣传活动 | ||
488 | |М|**方法和技巧专家** 设计和实施工作技术、文化步骤、流程咨询、工作分析和持续改进 | ||
489 | |Т|**技术专家** 提供技术(IT)专业知识并执行基于专家经验的作业 | ||
490 | |||
491 | 表4.1能力代码和资料 | ||
492 | |||
493 | 在组织中发布管理实践会有一个特定的角色:发布经理。该角色通常是在发布大量产品的组织中,尤其是在需要手动规划和执行发布动作的组织中引入的。在其他组织中,产品或服务所有者可以承担发布经理的职责。 | ||
494 | |||
495 | |||
496 | === **4.1.1 发布经理角色** === | ||
497 | |||
498 | 在定义发布经理角色的情况下,通常将此角色分配给对组织的业务,产品和服务,技术,平台,框架和流程有深入了解的专家。该角色需要全面的规划能力和项目管理技能以及权威来协调团队合作。 | ||
499 | |||
500 | 该角色的能力要求是AMCT。该角色通常负责规划、管理和协调整个发布管理实践以及各个发布实例,包括: | ||
501 | |||
502 | * 审查和开发发布方法和模型 | ||
503 | * 促进整个组织采用被认可的的发布管理方法和模式 | ||
504 | * 规划复杂发布方式 | ||
505 | * 管理和传达发布日程 | ||
506 | * 确保实践与其他实践保持一致性和协调性 | ||
507 | * 审查并不断开发新实践 | ||
508 | |||
509 | 在某些复杂的组织中,发布经理的部分职责可能委派给发布协调员。 | ||
510 | |||
511 | |||
512 | == **4.2 发布管理中涉及的角色活动** == | ||
513 | |||
514 | 表4.2中列出了发布管理活动中可能涉及的其他角色的示例,以及相关的能力概况和特定技能。 | ||
515 | |||
516 | |实现价值|负责角色|能力简介|具体技能 | ||
517 | |(% colspan="4" %)发布规划流程 | ||
518 | |生产架构和服务关系分析|((( | ||
519 | 企业架构师 | ||
520 | |||
521 | 服务负责人 | ||
522 | |||
523 | 产品负责人 | ||
524 | |||
525 | 关系经理 | ||
526 | |||
527 | 开发团队成员 | ||
528 | |||
529 | 客户经理 | ||
530 | |||
531 | 交付经理 | ||
532 | |||
533 | 设师 | ||
534 | )))|ATC|((( | ||
535 | 服务关系的知识 | ||
536 | |||
537 | 商业分析 | ||
538 | |||
539 | 服务架构的知识 | ||
540 | |||
541 | 发布和部署方法的知识 | ||
542 | |||
543 | 基础架构和平台方面的专业知识 | ||
544 | |||
545 | 沟通技巧 | ||
546 | ))) | ||
547 | |发布管理方法|((( | ||
548 | 服务负责人 | ||
549 | |||
550 | 产品负责人 | ||
551 | )))|AMTC|((( | ||
552 | 服务关系知识 | ||
553 | |||
554 | 发布和部署方法的知识 | ||
555 | ))) | ||
556 | |评审和开发|((( | ||
557 | 关系经理 | ||
558 | |||
559 | 开发团队成员 | ||
560 | |||
561 | 客户经理 | ||
562 | |||
563 | 交付经理 | ||
564 | )))| |((( | ||
565 | 基础设施和平台方面的专业知识 | ||
566 | |||
567 | 沟通技巧 | ||
568 | ))) | ||
569 | |发布管理模型评审和开发|((( | ||
570 | 服务负责人 | ||
571 | |||
572 | 产品负责人 | ||
573 | |||
574 | 开发团队成员 | ||
575 | |||
576 | 客户经理 | ||
577 | |||
578 | 交付经理 | ||
579 | )))|AMTC|((( | ||
580 | 服务关系的知识 | ||
581 | |||
582 | 发布和部署方法的知识 | ||
583 | |||
584 | 基础架构和平台方面的专业知识 | ||
585 | |||
586 | 沟通技巧 | ||
587 | ))) | ||
588 | |发布实例规划| |TA|((( | ||
589 | 基础架构和平台方面的专业知识 | ||
590 | |||
591 | 服务/ 生产的技术知识 | ||
592 | |||
593 | 服务架构的知识 | ||
594 | |||
595 | 发布和部署方法的知识 | ||
596 | |||
597 | 管理服务/ 生产的专业知识 | ||
598 | |||
599 | 服务关系的知识 | ||
600 | ))) | ||
601 | |发布计划沟通|((( | ||
602 | 服务负责人 | ||
603 | |||
604 | 产品负责人 | ||
605 | |||
606 | 关系经理 | ||
607 | |||
608 | 客户经理 | ||
609 | |||
610 | 交付经理 | ||
611 | )))|C|((( | ||
612 | 服务关系知识 | ||
613 | |||
614 | 沟通技巧 | ||
615 | |||
616 | 营销知识 | ||
617 | ))) | ||
618 | |(% colspan="4" %)发布协调流程 | ||
619 | |确定适用的模型或计划|((( | ||
620 | 服务负责人 | ||
621 | |||
622 | 产品负责人 | ||
623 | |||
624 | 开发团队成员 | ||
625 | |||
626 | 客户经理 | ||
627 | |||
628 | 交付经理 | ||
629 | |||
630 | 设计师 | ||
631 | )))|AT|((( | ||
632 | 服务/ 产品的管理知识 | ||
633 | |||
634 | 用户服务体验 | ||
635 | |||
636 | 基础架构和平台方面的专业知识 | ||
637 | |||
638 | 发布和部署方法的知识 | ||
639 | |||
640 | 服务/ 产品的技术知识 | ||
641 | ))) | ||
642 | |服务组件的验证|((( | ||
643 | 服务负责人 | ||
644 | |||
645 | 产品负责人 | ||
646 | |||
647 | 开发团队成员 | ||
648 | |||
649 | 客户经理 | ||
650 | |||
651 | 交付经理 | ||
652 | |||
653 | 客户代表 | ||
654 | )))|TA|((( | ||
655 | 基础设施和平台方面的专业知识 | ||
656 | |||
657 | 发布和部署方法的知识 | ||
658 | |||
659 | 服务/ 产品的技术知识 | ||
660 | |||
661 | 服务/ 产品的管理专业知识 | ||
662 | ))) | ||
663 | |发布程序的验证|((( | ||
664 | 开发团队成员 | ||
665 | |||
666 | 系统管理员 | ||
667 | |||
668 | 信息安全专家 | ||
669 | )))|TA|((( | ||
670 | 基础架构和平台方面的专业知识 | ||
671 | |||
672 | 服务/ 产品的技术知识 | ||
673 | |||
674 | 服务/ 产品的管理知识 | ||
675 | ))) | ||
676 | |发布执行|((( | ||
677 | 开发团队成员 | ||
678 | |||
679 | 系统管理员 | ||
680 | |||
681 | 信息安全专家 | ||
682 | )))|T|((( | ||
683 | 基础设施和平台方面的专业知识 | ||
684 | |||
685 | 发布和部署方法的知识 | ||
686 | |||
687 | 服务/ 产品的技术知识 | ||
688 | ))) | ||
689 | |发布验证|((( | ||
690 | 服务负责人 | ||
691 | |||
692 | 产品负责人 | ||
693 | |||
694 | 客户经理 | ||
695 | |||
696 | 交付经理 | ||
697 | |||
698 | 开发团队成员 | ||
699 | |||
700 | 客户代表 | ||
701 | |||
702 | 用户 | ||
703 | )))|A|((( | ||
704 | 服务/ 产品管理的专业知识 | ||
705 | |||
706 | 用户的服务体验 | ||
707 | ))) | ||
708 | |发布评审|((( | ||
709 | 服务负责人 | ||
710 | |||
711 | 产品负责人 | ||
712 | |||
713 | 关系经理 | ||
714 | |||
715 | 客户经理 | ||
716 | |||
717 | 交付经理 | ||
718 | |||
719 | 开发团队成员 | ||
720 | |||
721 | 设计师 | ||
722 | |||
723 | 客户代表 | ||
724 | |||
725 | 用户 | ||
726 | )))|ATC|((( | ||
727 | 服务关系的知识 | ||
728 | |||
729 | 业务分析 | ||
730 | |||
731 | 服务架构的知识 | ||
732 | |||
733 | 发布和部署方法的知识 | ||
734 | |||
735 | 基础设施和平台方面的专业知识 | ||
736 | |||
737 | 服务/产品的技术知识 | ||
738 | |||
739 | 沟通技巧 | ||
740 | |||
741 | 营销知识 | ||
742 | ))) | ||
743 | |||
744 | 表4.2 发布管理活动涉及的角色示例 | ||
745 | |||
746 | |||
747 | == **4.3 组织架构和团队** == | ||
748 | |||
749 | 只有在发布任务量巨大,或发布场景复杂的组织中,才适合建立指定的发布管理团队。大多数情况下,发布管理不需要专门的团队,只需建立临时的项目团队,或者将发布管理实现高度自动化就可以满足需求。 | ||
750 | |||
751 | 但是,在许多情况下,发布经理的角色仍然有用。该角色可以充当教练,以确保发布实践被整个组织采用。根据组织对发布管理的处理方式,此角色可以与部署经理的角色结合。 | ||
752 | |||
753 | |||
754 | |||
755 | ---- | ||
756 | |||
757 | = **5 信息和技术 ** = | ||
758 | |||
759 | |||
760 | == **5.1 信息交流** == | ||
761 | |||
762 | 发布管理的效果取决于所使用信息的质量。该信息包括但不限于以下信息: | ||
763 | |||
764 | 1. 生产架构 | ||
765 | 1. 服务消费组织和用户 | ||
766 | 1. 软件开发和管理实践 | ||
767 | 1. 计划的和正在进行的部署 | ||
768 | 1. 正在进行和过去的事件 | ||
769 | 1. 新兴的发布管理技术 | ||
770 | |||
771 | 该信息可以采用各种形式。实践的输入和输出的详细列表在第3节中列出。 | ||
772 | |||
773 | |||
774 | == **5.2 自动化和工具** == | ||
775 | |||
776 | 在数字化工作环境中的发布管理是高度自动化的。但是,即使在传统环境中,发布管理实践也可以从自动化中显著受益。在表5.1中,有很多可行且有效的解决方案。 | ||
777 | |||
778 | |实现价值|自动化手段|(% colspan="2" %)关键功能|实践上的影响 | ||
779 | |(% colspan="5" %)发布计划过程 | ||
780 | |生产架构和服务关系分析|((( | ||
781 | 架构工具 | ||
782 | |||
783 | 业务分析和建模工具产品/ 服务建模工具 | ||
784 | )))|(% colspan="2" %)生产/ 服务架构以及关系,连接和约束的可视化|中 | ||
785 | |发布管理方法评审和开发|((( | ||
786 | 流程建模工具 | ||
787 | |||
788 | 产品/ 服务建模工具 | ||
789 | |||
790 | 业务分析工具 | ||
791 | )))|(% colspan="2" %)对过程与程序的建模,可视化和评估|低 | ||
792 | |发布管理模式评审和开发|流程建模工具|(% colspan="2" %)对过程与程序的建模,可视化|中 | ||
793 | |发布实例规划|((( | ||
794 | 流程建模工具 | ||
795 | |||
796 | 发布和部署管理工具 | ||
797 | |||
798 | 流水线管理工具 | ||
799 | |||
800 | 软件交付和集成工具 | ||
801 | |||
802 | 开发环境 | ||
803 | )))|(% colspan="2" %)自动化发布管理|高 | ||
804 | |发布计划沟通|((( | ||
805 | 社交网络 | ||
806 | |||
807 | 门户 | ||
808 | |||
809 | 知识库工具 | ||
810 | )))|(% colspan="2" %)自动通信、消息、状态更新|高 | ||
811 | |(% colspan="5" %)发布协调流程 | ||
812 | |确定适用的模式或计划|(% colspan="2" %)((( | ||
813 | 流程建模工具 | ||
814 | |||
815 | 发布和部署管理工具 | ||
816 | |||
817 | 流水线管理工具 | ||
818 | )))|流程和过程的建模与可视化|低 | ||
819 | |服务组件的验证|((( | ||
820 | 发布和部署管理工具 | ||
821 | |||
822 | 流水线管理工具 | ||
823 | |||
824 | 软件交付和集成工具 | ||
825 | |||
826 | 开发环境 | ||
827 | )))|(% colspan="2" %)基于预先规划的、已开发的脚本,自动化发布管理|高 | ||
828 | |发布程序的验证|((( | ||
829 | 发布和部署管理工具 | ||
830 | |||
831 | 流水线管理工具 | ||
832 | |||
833 | 软件交付和集成工具 | ||
834 | |||
835 | 开发环境 | ||
836 | )))|(% colspan="2" %)基于预先规划的、已开发的脚本,自动化发布管理|高 | ||
837 | |发布执行|((( | ||
838 | 发布和部署管理工具 | ||
839 | |||
840 | 流水线管理工具 | ||
841 | |||
842 | 软件交付和集成工具 | ||
843 | |||
844 | 开发环境 | ||
845 | )))|(% colspan="2" %)基于预先规划的、已开发的脚本,自动化发布管理|高 | ||
846 | |发布验证|((( | ||
847 | 发布和部署管理工具 | ||
848 | |||
849 | 流水线管理工具 | ||
850 | |||
851 | 软件交付和集成工具 | ||
852 | )))|(% colspan="2" %)基于预先规划的、已开发的脚本,自动化发布管理|高 | ||
853 | |发布评审|((( | ||
854 | 监控工具 | ||
855 | |||
856 | 协作工具 | ||
857 | |||
858 | 沟通工具 | ||
859 | )))|(% colspan="2" %)((( | ||
860 | 提供信息和警告 | ||
861 | |||
862 | 知识共享 | ||
863 | |||
864 | 问题沟通 | ||
865 | )))|中 | ||
866 | |||
867 | 表5.1 发布管理活动的自动化解决方案 | ||
868 | |||
869 | |||
870 | |||
871 | ---- | ||
872 | |||
873 | = **6 合作伙伴和供应商** = | ||
874 | |||
875 | 只有很少量的服务是完全由组织自己的资源提供的,绝大多数需要依赖于外部服务。这些外部服务通常是由组织外的第三方供应商提供的(请参阅“ITIL Foundation 2.4:服务关系的模式的ITIL 4版)。 | ||
876 | |||
877 | 如前所述,合作伙伴和供应商充当的角色与组织对其产品和服务组件的控制级别有关。如果组织控制整个产品或服务生命周期(包括开发和部署)时,它在做出有关发布管理的决策方面就具有更大的自由度。相反,如果组织的产品或服务依赖于第三方组件,或者开发和部署由供应商管理,那么通常这种情况下,组织必须考虑引入的约束带来的影响了。虽然组织可以决定是否在其服务中引入更新的组件,但在一定程度上还是受到一些限制的。 | ||
878 | |||
879 | 组织有时可以将发布管理的某些内容外包。例如,用户沟通,发布的市场推广,用户培训,在假设测试中收集反馈等等。组织应该适当地管理那些合作伙伴和供应商活动,因为它们会直接影响用户的满意度和是否为此服务付费。 | ||
880 | |||
881 | 组织之间的关系可能涉及各种级别的整合和形式。(有关组织之间的关系的更多信息,请参见ITIL®Foundation:ITIL 4 Edition的表3.1)。与发布管理中的合作伙伴的集成级别取决于合作的形式,应通过发布管理,供应商管理,关系管理,服务级别管理和其他相关实践来决定和管理合作的形式。 | ||
882 | |||
883 | |||
884 | |||
885 | ---- | ||
886 | |||
887 | = **7 重要提醒** = | ||
888 | |||
889 | 实践指南中大部分内容都应作为组织在建立和培养自己的实践时可以尝试的不同领域的建议。实践指南是组织可以尝试的的事情的目录,而不是答案的列表。使用ITIL 实践指南的内容时,组织应始终遵循ITIL 指导原则: | ||
890 | |||
891 | 1. 聚焦价值 | ||
892 | 1. 从你所处的地方开始 | ||
893 | 1. 基于反馈迭代推进 | ||
894 | 1. 协作和提升可视化程度 | ||
895 | 1. 通盘思考和工作 | ||
896 | 1. 保持简单实用 | ||
897 | 1. 优化和自动化 | ||
898 | |||
899 | 更多有关指导原则及其应用程序的信息,请参见以下内容的第4.3节。 | ||
900 | |||
901 | ITIL®基础:ITIL 4版出版物。 | ||
902 | |||
903 | |||
904 | |||
905 | ---- | ||
906 | |||
907 | = **8 致谢** = | ||
908 | |||
909 | AXELOS Ltd非常感谢为本指南的开发做出贡献的每一个人。这些实践指南融合了ITIL社区前所未有的热情和反馈。AXELOS特别要感谢以下人员。 | ||
910 | |||
911 | |||
912 | == **8.1 作家** == | ||
913 | |||
914 | Vinod Kumar Agrasala, Konstantin Naryzhny, Roman Jouravlev | ||
915 | |||
916 | |||
917 | == **8.2 审稿人** == | ||
918 | |||
919 | Oleg Skrynnik Jon Hall Anton Lykov, Samantha Robertson |