谈谈“平台功能宏”

2 评论 2604 浏览 12 收藏 5 分钟

作者结合自己的实际工作经验,分享了对“平台功能宏”的一些看法,希望能够给你带来一点帮助。

前一段时间在工作时,推动了“平台功能宏”的搭建和需求评估流程,实现了二者的落地,今天着重写一写“平台功能宏”,虽然是一个微小的点,但是运用得当的话,对于需求管控、研发成本都会有一个比较大的提高。

1.什么是”平台功能宏“?

先来说说什么是宏?所谓的宏其实就是用于批量处理的一种规则,而功能宏就是批量处理某种需求或功能的规则,平台功能宏就是全平台开发公用的、用于批量处理跨平台(或项目)功能的规则(大多情况下为开关),涉及到的项目和平台较多,一般也会将开发好的”平台功能宏“分类存储和维护。

2.“平台功能宏”的使用场景?

满足以下几个条件就能使用“平台功能宏”了:

  1. 不同软件项目基于相同平台或(主分支);
  2. 不同的软件项目有针对同一个功能差异化的需求。

解释下2,项目A可能要带上某个功能,但是项目B不希望带上这个功能,还有其他项目也有这一差异化的需求,如果出现了这样的情况就可以使用”平台功能宏“了。

3.怎么使用“平台功能宏”?

在开发一个共性的平台需求或者客户需求时,研发人员开发功能宏开关或者全平台修改代码,产品经理们收集记录宏开关和log记录,不断维护”平台功能宏“。

举个简单的例子,项目A、项目B、项目C都是基于android L平台的,在做项目时,发现A和B两个项目都想带上功能1,项目C不想带上功能1,那么就可以在android L平台增加关于功能1的“平台功能宏”了,就是直接在平台上修改代码,通过关键字来控制功能,项目A、项目B、项目C自己通过配置文件关键字的值适配就可以了。

在记录时有个基本表格可参考:

  • 序号:编号,不在赘述
  • 模块:平台或客户需求涉及的大模块
  • 细分名称:需求的名称(比如:增加商品歌曲评论功能)
  • 需求描述:需求具体描述(在xxx地方增加xxx,实现xxx功能等具体的描述)
  • 优先级:一般都会给需求分优先级
  • 客户:某某odm客户或者平台需求
  • 补充说明:功能宏的开关或者bug管理系统的记录(比如:cr号)
  • 相关平台宏或客户宏:记录是客户宏还是全平台开的宏
  • 已完成的平台or项目参考:记录之前已经完成过的代码流、分支、项目等

上述是最基本项目的说明,其实在实际操作中可以针对性增加或删除。

4.“平台功能宏”的意义?

“平台功能宏”有什么意义?当“平台功能宏”逐渐丰满的时候,首先是优化了需求池,更好地梳理需求,其次可以针对不同模块、项目、平台在实现相同功能的差异化需求时,通过控制平台或主分支代码,尽量避免开发人员多次写重复的代码,从而大大降低了开发和沟通的成本。此外,甚至可以对于不同国家的软件版本和项目都能得到有效的控制,为未来的软件国际一体化打下良好的基础,但是同时也会增加平台、主分支的负担,最明显的就是代码会增加,因此也要斟酌运用。

 

本文由 @虚伪的温柔 原创发布于人人都是产品经理。未经许可,禁止转载。

题图来自PEXELS,基于CC0协议

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 可以可以

    回复