平台项目经验总结

什么是平台类项目

平台类项目是对一类资源进行管理的工程项目,目的是为了实现资源的信息化管理。

功能:

  • 资源管理。CRUD特征比较明显。
  • 业务流程。针对领域内的业务流程打造更加便捷的管理方案。
  • 可复用。平台项目应该可以被其他同领域的场景所复用。

要求:

  • 统一的风格和交互。一个平台往往风格统一,具有明显的品牌特征。
  • 业务价值。实现业务流管理的价值,提升效率。
  • 信息化。具有信息化的可扩展性和普适性。

我参与过的平台项目

CRM管理平台、教育管理平台、企业培训平台、日志分析平台、开发中中心文档管理平台。

基础设施

平台项目的效率取决于基础设置是否完善,一个通用的脚手架、组件库、认证系统、登录系统、CI/CD设施都很重要。

  • 技术选型。框架必须要具有一定的灵活性、强大的工具生态、完善的文档系统。应该提前考虑到兼容性和扩展性。
  • 需求度量。是否需要考虑SEO友好性、后续的产品定位、产品的推进进度等。
  • 敏捷开发。业务项目推动基础设施进步,基础设施加速敏捷开发。

低代码

低代码平台非常适合于平台项目。

平台的构成

平台类项目一般包含如下的功能模块:

  • 路由系统。链接系统中的各个业务模块。
  • 鉴权系统。保证系统的安全性,包括路由鉴权、行为鉴权、身份校验。
  • 账号系统。角色与权限,权限分配。
  • 内容与流程。

经验

基础设施很提效

CRM项目使我第一次意识到这个问题。大多数的企业并没有建立起自己的基础设施资产,同时也不很重视团队中基础设施的建设。虽然这并不能直接带来一定的收益,但是对于项目的启动和开发进程的推动却起着重要的作用。

基础设施能够显著的加快工作流程,形成规范的、成体系的开发经验。企业中的基础设施包括:项目的脚手架、组件库、工具库、文档库、框架、业务工具、低代码工具等。

可扩展性很重要

不得不说,平台项目的扩展性需求是最多的。但是往往因为需求时间紧迫,我们在构建功能时没有考虑到功能的可扩展性。当新的需求提出了,面对现有的架构,我们往往感觉到很痛苦。因为如果继续下去,就可能会面临着重构。如此 一来,先前的开发工作就白费了。

我遇到过很多这种情况。比如一个静态的证书编辑模块现在要扩展功能变成动态编辑证书,那就意味着从零开始重写。包括一个错误的架构如果无法继续扩展后续的需求时,就需要开始重构。

从某种层面上来说,重构实际上是一种错误。因为这意味着我们前期的方案是错误的。