应用程序生命周期和开发模型- 了解什么是应用程序生命周期管理

学习目标

完成本单元后,您将能够:

  • 确定可以直接在生产组织中安全进行的自定义。
  • 定义应用程序生命周期管理。
  • 解释为什么使用应用程序生命周期管理流程可以帮助团队更快地开发应用程序。

介绍

Salesforce提供了各种开发工具和流程来满足客户的需求。本模块介绍了应用程序生命周期管理(ALM)流程和三种开发模型。

  • 变更集开发
  • 组织发展
  • 包装开发

在较高级别上,所有三个开发模型都遵循相同的ALM流程。但是,这些模型的不同之处在于,它们允许您管理组织的更改。控制变更在软件开发中很重要,如果您了解自己的选择,则可以选择最适合您情况的开发模型。

让我们跟随Salesforce专业人员及其公司的发展历程,因为他们的发展挑战会随着时间而变化。在整个故事过程中,您将学习每种开发模型如何满足不同情况的需求。本教程的其他模块中涵盖了有关如何使用开发模型的详细信息。

注意

在类似的情况下,您和您的团队可能做出的选择与该模块中虚构的公司所做的选择不同。重要的是要了解您的选择。

与Zephyrus Relocation Services,Inc.的Salesforce管理员Calvin会面。

卡尔文·格林(Calvin Green)为弗吉尼亚州费尔法克斯的人才流动公司Zephyrus Relocation Services担任许多技术职务。卡尔文(Calvin)的职责之一是为公司规模虽小但不断壮大的销售团队定制Salesforce。使用生产组织中的Setup界面,他淘汰了各种令人印象深刻的新仪表板和报告。

卡尔文(Calvin)通过Vetforce开发了他作为Salesforce管理员的技能,该软件是针对军事服务人员,退伍军人和配偶的Salesforce工作培训和职业加速器计划。

加尔文在Zephyrus站着办公桌,拿着他的Vetforce咖啡杯。

什么是安全的生产变更?

您可以在生产组织中安全地开发某些新功能。在生产组织中可以安全地创建不影响数据的自定义设置,例如开发新的仪表板,报告和电子邮件模板。但是,某些直接在生产中进行的自定义设置可能会因删除数据而造成混乱,甚至更糟。

如果在将变更投入生产之前不测试变更,会发生什么?

  • 工作流规则意外地创建了无限的处理循环。
  • 字段类型的更改会以您无法撤消的方式修改数据。
  • 验证规则中的逻辑错误会阻止您保存记录。
  • 页面布局的更改会使人们感到困惑,而不是改善他们的体验。

定制组织的最安全方法是使用专用的开发环境进行和测试更改。实际上,必须在开发环境中进行一些更改。例如,您不能直接在生产组织中编写Apex代码。

移动到变更集以进行更安全的自定义

随着Zephyrus的不断增长,对Salesforce定制的需求也随之增长。该公司增加了另一名员工来提供帮助。越来越多的定制请求包括新的工作流程规则和页面布局,而Calvin明智地拒绝直接在生产组织中进行这些更改。

为了满足不断变化的业务需求,Zephyrus决定升级到专业版。在专业版中,Zephyrus可以在单独的开发环境中使用声明式(单击)开发工具来创建和测试其需求。

在变更集开发模型中,Calvin和他的同事Ella可以使用声明性工具来管理其应用程序。他们不需要使用命令行界面或版本控制系统来满足他们所支持的销售团队不断增长的定制需求。

借助声明性工具,Calvin和Ella可以创建许多精美的东西来提高销售团队的生产力。例如,加尔文使用Lightning App Builder创建一个过滤器,当金额至少为100万美元时,该过滤器会在机会页面上显示富文本格式的组件。

使用Lightning App Builder创建过滤器。

对混沌施加一点命令

现在,自定义是由多个人在多个环境中进行的,Calvin考虑了如何管理即使是很小的更改对下游的影响。

例如,“联系人”标准对象没有“联系人类型”字段。卡尔文(Calvin)可以轻松添加该自定义字段,并立即向所有用户发布新的联系人类型字段。但是他应该吗?

  • 新的“联系人类型”字段是否与其他人的自定义冲突?
  • 销售团队是否知道如何使用新领域或需要培训?
  • 如果需要该字段,是否需要更新任何集成或导入过程?
  • 该字段出现在哪里?在所有页面布局上?哪些列表视图?它会显示在任何报告或仪表板中吗?
  • 该字段也应该位于Lead对象上吗?如果是这样,潜在客户转换流程会改变吗?
  • 与其他系统集成是否需要该字段?如果是这样,您可能需要更改中间件,字段映射,端点等。

在Salesforce Trailblazer社区中,其他成员鼓励Calvin研究Salesforce建议的应用程序生命周期管理步骤,以开发新的和自定义的应用程序。

在Salesforce开发人员网站上,卡尔文了解到ALM定义了从设计到最终发布的管理应用程序开发的过程。ALM还建立了一个框架,用于随着时间的推移进行应用程序错误修复和功能增强。

等等,这不会增加流程速度吗?

在与IT部门主管ErnestoRondán的一次会议上,Calvin主张转向应用程序生命周期管理。ALM为他们提供了流程和策略,可帮助他们平稳且因此更快构建应用程序,而不会造成麻烦。应用程序和工具可能会有所不同,但是ALM周期中的步骤适用于任何Salesforce开发项目。

ALM周期:计划发布,开发,测试,构建版本,测试发布,发布
  • 步骤1:计划发布从计划开始定制或开发项目。收集需求并进行分析。让您的产品经理(或等效人员)创建设计规范,并与开发团队共享以执行。确定项目在ALM周期中进行时团队需要的各种开发和测试环境。
  • 步骤2:开发按照设计规范完成工作。在包含生产组织的元数据副本但没有生产数据的环境中执行工作。使用说明性工具(Process Builder,Custom Object向导以及UI中的其他工具)和编程工具(开发人员控制台,源代码编辑器或Visual Studio Code)的适当组合在Lightning Platform上进行开发。
  • 步骤3:测试在将其与其他人的工作集成之前,请练习您所做的更改以检查它们是否按预期工作。在与开发步骤中使用的环境类型相同的环境中进行测试,但将开发环境与集成测试环境分开。在这一点上,着重于自己测试更改,而不是了解更改如何影响发行版或整个应用程序的其他部分。
  • 步骤4:内部版本将您在开发阶段创建或修改的所有资产聚合到一个发布工件中:一个逻辑定制包,您将其部署到生产中。从这一点开始,专注于您要发布的内容,而不是个人的贡献。
  • 步骤5:测试发布测试您实际要部署的内容,但在尽可能模拟生产的临时环境中进行安全测试。使用大量实际的代表性生产数据。将您的测试环境与模拟生产系统集成点所需的所有外部系统连接起来。在此步骤中运行完整的回归和最终性能测试。与一小组提供反馈的有经验的人一起测试发行版(一种称为用户接受测试的技术)。
  • 步骤6:放行完成测试并达到质量基准后,可以将定制部署到生产中。培训您的员工和合作伙伴,使他们了解变化。如果发行版对用户有重大影响,请创建一个包含实际数据的单独环境以培训用户。