销售云项目需求分析与解决方案
1. 报告需求分析
报告需求有时会影响数据模型,特别是在决定采用非规范化数据模型以减少生成记录数量时。报告还可能推动对额外集成接口的需求,或引发对特定许可证的需求。下面我们来逐一解决PPA提出的报告需求。
- 客户驾驶行为与特定时间关系报告 :区域执行团队希望获得一份报告,展示过去10年中客户驾驶行为与一年中特定时间的关系。该报告需要处理大量数据,驾驶员行为的原始数据存储在Heroku中。可以使用CRM Analytics等工具创建所需报告,通过Int - 011集成接口将数据从Heroku传输到CRM Analytics,如有需要,还可在Salesforce Core Cloud中展示仪表盘。
-
租赁接送地点趋势月报告
:区域执行团队希望获得一份趋势月报告,显示每次租赁的接送地点。对于此类趋势报告需求,有以下两种可选能力:
- 报告快照 :Salesforce Core Cloud中的一项功能,允许用户对平台上存储的历史数据进行报告。用户可以将标准报告结果保存到自定义对象中,然后安排作业运行特定报告,并使用数据填充自定义对象上的映射字段。之后,用户可以对包含报告结果的自定义对象进行报告,而不是对原始数据进行报告。
- 分析/商业智能工具 :这些工具旨在处理大量数据集,提供更灵活的深入分析和模式分析功能,并且可以处理Salesforce平台内外的数据。
建议选择分析工具,如CRM Analytics,区域执行团队成员需要CRM Analytics许可证,更新参与者和许可证图后,继续处理下一个需求。
-
客户租赁预订历史查看
:客户应能够查看其租赁预订的完整历史记录,包括过去三年的预订。所需数据大部分在平台外,开放订单在Salesforce中,已完成订单存档在Heroku中。可通过简单的开箱即用功能,分别显示两个列表:一个是开放订单列表,直接从Salesforce检索;另一个是已完成订单列表,使用External Objects(Salesforce Connect)通过Int - 014集成接口从Heroku检索。
在使用Int - 014接口时,若使用主用户进行身份验证,会返回主用户可访问的所有数据。为向最终客户公开此接口,有两种方法:
-
切换为按用户身份验证策略
:将控制谁能看到什么数据的责任转移到Heroku。Heroku必须有一个全面的模块来确定每个用户可以从其数据库中查看或检索的字段、对象和记录。此方法可行,但需要自定义开发,因为Heroku没有像Salesforce Core那样的高级共享和可见性模块。
-
在External Objects上开发自定义Lightning组件
:使用当前用户的ID过滤检索到的记录,确保用户只能查看其应查看的记录。但此方法不安全,因为Lightning组件中的错误可能会泄露不应显示的记录,且安全措施由UI层而非数据层应用,有经验的黑客可能会找到访问未授权记录的方法。在能沟通相关风险和考虑因素的情况下,可选择第二种方法,并解释为何优先选择它(如节省Heroku上的开发工作)。
-
客户完整行程历史查看
:客户还应能够查看每次完成租赁的完整行程历史。此需求与上一个类似,可提出类似解决方案。完整行程历史数据也存储在Heroku中,可开发一个Lightning组件,当用户点击特定租赁记录旁边的“显示行程”按钮时显示该组件。组件显示时,检索External Objects的数据,按用户ID过滤并在UI上显示。
-
合作伙伴维修作业月报告
:合作伙伴应能够查看每月显示为PPA完成的维修作业的报告。维修作业以案例形式表示,合作伙伴用户可使用标准报告和仪表盘显示其有权访问的案例数据,即分配给其用户的案例记录。
2. 项目开发需求分析
项目开发需求部分主要关注Salesforce项目中用于管理开发和发布过程的工具和技术。
-
多服务实施方并行项目
:PPA计划有三个不同的服务实施方(SIs)在并行项目中提供不同功能。解决此类情况的最佳机制是使用多层开发环境实施源代码驱动的开发,CI/CD可通过确保所有开发人员在尽可能最新的代码库上工作来减少冲突。可参考示例开发生命周期图,根据三个不同的SIs,在图中设置三个不同的线程/团队。同时,需要一个自动化构建和部署工具,如开源的Jenkins或专门为Salesforce环境构建的Copado和AutoRABIT,还需添加自动化测试工具,如Selenium或Provar。
-
编码标准不统一
:历史上,SIs在处理其他平台时遵循自己的编码标准。此问题的挑战在于不同SI团队之间缺乏标准化和沟通。CI/CD虽可通过自动代码扫描和受控合并改善情况,但要显著提高标准化、沟通、重用和整体质量,需要引入Salesforce CoE,并可引入设计权威作为另一种组织结构,确保在开始任何开发工作之前详细讨论、验证和批准每个需求。
-
UAT修复的bug在生产中重现
:PPA的新平台所有者报告,在UAT中修复的bug在生产中多次重现。这是由于UAT的代码库与较低环境的代码库不一致,当从较低环境(如开发环境)推广功能时,可能会覆盖UAT中先前的更改,导致已解决的bug再次出现。解决此问题有三种方法:
-
修复UAT bug后刷新低环境代码库
:要求每个较低环境在UAT bug修复后刷新其代码库以获取新更改,这需要高度的纪律和组织性。
-
推广低环境代码时避免覆盖UAT冲突功能
:在推广较低环境的代码时,避免覆盖UAT中现有的冲突功能,并尝试与开发团队解决该问题,但处理Salesforce Flows等点选式功能时可能会很困难。
-
在热修复分支和环境中修复bug
:在热修复分支和环境中修复bug,将分支合并到UAT,然后推广到生产。热修复分支还用于刷新所有较低级别的环境分支。此选项更具可跟踪性和易管理性,但仍需要一定的纪律和组织性。
使用Copado等发布管理工具可使此过程更简单。
-
解决方案分阶段全球发布
:PPA希望先在意大利发布解决方案,然后根据预先商定的时间表在其他国家推出相同解决方案。CoE结构是确保各方参与、分享想法和反馈、了解计划功能和路线图的最佳组织结构,可检测和解决冲突的业务需求,并旨在创建一个统一的全球流程。同时,需要选择合适的交付方法,以下是几种可选方法的比较:
| 交付方法 | 优点 | 缺点 |
| ---- | ---- | ---- |
| 刚性瀑布方法 | 确保清晰的范围和详细的端到端解决方案 | 使开发团队与最终使用解决方案的业务之间产生较大距离,价值实现曲线较长 |
| 敏捷方法 | 使业务更接近开发的解决方案,增加采用率并实现快速反馈 | 若无清晰愿景,可能导致解决方案仅适用于一个国家而不适用于其他国家,短期维护困难 |
| 混合方法 | 结合两者优点,在蓝图阶段有相对清晰的范围,覆盖70% - 80%的范围,从一开始就降低许多风险 | |
3. 其他需求分析
PPA希望确保开发环境中的数据始终是匿名的。考虑到当前的数据隐私法规,这是一项重要要求。不同类型的开发沙箱数据情况如下:
-
Developer和Developer Pro沙箱
:包含生产组织的元数据副本,但不包含数据。
-
Partial Copy沙箱
:包含元数据和用户定义的一组选定数据。
-
Full Copy沙箱
:包含所有生产数据和元数据副本。
可采取以下策略:
- 确保Developer和Developer Pro沙箱中使用的数据始终是特意创建的测试数据。
- 确保Partial或Full Copy沙箱中的任何数据都进行匿名化或假名化处理。可使用Salesforce Data Mask(托管包)、自定义开发的ETL作业、自定义开发的Apex代码或第三方工具(如Odaseva或OQCT)实现。
建议PPA使用Salesforce Data Mask,并将其添加到景观架构图中。同时,更新参与者和许可证图,将技术人员的许可证从Salesforce Platform许可证升级到Salesforce Service Cloud,以便技术人员能够创建和处理案例对象。
以下是一个简单的mermaid流程图,展示数据从Heroku到CRM Analytics的流程:
graph LR
A[Heroku] -->|Int - 011| B[CRM Analytics]
B -->|可选| C[Salesforce Core Cloud仪表盘]
综上所述,通过对PPA提出的各类需求进行详细分析,并采用合适的工具、方法和策略,可以有效解决项目中的各种问题,确保项目的顺利推进和解决方案的高质量交付。在处理这些需求时,要注意详细解释解决方案的使用和操作方式,同时合理安排时间,以满足评审要求。
销售云项目需求分析与解决方案
4. 关键技术点总结
为了更清晰地呈现整个项目中涉及的关键技术点和解决方案,我们对前面的内容进行总结梳理,形成以下表格:
| 需求类别 | 具体需求 | 解决方案 | 所需工具/组件 |
| ---- | ---- | ---- | ---- |
| 报告需求 | 客户驾驶行为与特定时间关系报告 | 使用CRM Analytics工具,通过Int - 011集成接口将Heroku数据传输到CRM Analytics,在Salesforce Core Cloud展示仪表盘 | CRM Analytics、Int - 011集成接口 |
| 报告需求 | 租赁接送地点趋势月报告 | 选择CRM Analytics分析工具 | CRM Analytics |
| 报告需求 | 客户租赁预订历史查看 | 分别从Salesforce和Heroku获取开放订单和已完成订单数据,在External Objects上开发自定义Lightning组件过滤数据 | External Objects、Lightning组件、Int - 014集成接口 |
| 报告需求 | 客户完整行程历史查看 | 开发Lightning组件,检索External Objects数据并按用户ID过滤显示 | Lightning组件、External Objects |
| 报告需求 | 合作伙伴维修作业月报告 | 合作伙伴用户使用标准报告和仪表盘查看分配给自己的案例记录 | 标准报告和仪表盘 |
| 项目开发需求 | 多服务实施方并行项目 | 采用多层开发环境实施源代码驱动开发,使用CI/CD,添加自动化构建和部署工具及自动化测试工具 | CI/CD、Jenkins/Copado/AutoRABIT、Selenium/Provar |
| 项目开发需求 | 编码标准不统一 | 引入Salesforce CoE和设计权威组织结构 | Salesforce CoE、设计权威 |
| 项目开发需求 | UAT修复的bug在生产中重现 | 在热修复分支和环境中修复bug,合并到UAT再推广到生产,使用Copado等工具 | Copado |
| 项目开发需求 | 解决方案分阶段全球发布 | 采用CoE结构,选择混合交付方法 | CoE结构 |
| 其他需求 | 开发环境数据匿名化 | 对Partial或Full Copy沙箱数据进行匿名化或假名化处理,使用Salesforce Data Mask等工具 | Salesforce Data Mask、Odaseva/OQCT |
5. 操作步骤详解
以下为部分关键解决方案的详细操作步骤:
5.1 客户租赁预订历史查看
-
配置External Objects
:
- 在Salesforce中创建External Objects,连接到Heroku数据源,使用Int - 014集成接口。
- 定义External Objects的字段映射,确保能够正确获取Heroku中的已完成订单数据。
-
开发自定义Lightning组件
:
- 创建一个新的Lightning组件,用于显示客户的租赁预订历史。
- 在组件的JavaScript控制器中,编写逻辑来检索External Objects的数据,并使用当前用户的ID进行过滤。
- 在组件的HTML模板中,设计显示数据的UI界面。
-
部署和测试
:
- 将Lightning组件部署到Salesforce环境中。
- 使用不同用户账号进行测试,确保每个用户只能看到自己的租赁预订记录。
5.2 解决方案分阶段全球发布
-
建立CoE结构
:
- 确定CoE的成员,包括功能和技术资源。
- 定义CoE的职责和工作流程,确保各方参与需求讨论、验证和批准。
-
选择混合交付方法
:
- 在蓝图阶段,确定项目的大致范围和端到端解决方案,覆盖70% - 80%的需求。
- 在冲刺阶段,通过细化活动进一步明确解决方案,利用设计权威结构对用户故事的解决方案进行技术验证。
-
分阶段实施
:
- 首先在意大利发布解决方案,收集反馈并进行调整。
- 根据预先商定的时间表,在其他国家逐步推出解决方案。
6. 总结与注意事项
在整个项目的需求分析和解决方案制定过程中,我们需要注意以下几点:
-
详细解释解决方案
:在向客户或评审团队展示解决方案时,要详细说明每个解决方案的使用方式和工作原理,满足客户的期望。
-
合理安排时间
:无论是在演示还是问答环节,都要注意时间管理,确保有足够的时间覆盖所有需求和问题。
-
沟通风险和考虑因素
:对于存在风险的解决方案,如在External Objects上开发自定义Lightning组件,要清晰地沟通相关风险和考虑因素,并解释选择该方案的原因。
以下是一个mermaid流程图,展示项目开发过程中的关键步骤:
graph LR
A[需求分析] --> B[解决方案设计]
B --> C[开发与测试]
C --> D[发布与部署]
D --> E[监控与维护]
通过对项目需求的全面分析和合理解决方案的制定,我们能够确保项目的顺利实施和高质量交付,为企业带来更大的价值。在实际操作过程中,要根据具体情况灵活调整策略,不断优化解决方案。
超级会员免费看
1789

被折叠的 条评论
为什么被折叠?



